Spec URL: http://thm.fedorapeople.org/duply/duply.spec SRPM URL: http://thm.fedorapeople.org/duply/duply-1.5.4.2-1.fc13.src.rpm Description: duply deals as a wrapper for the mighty duplicity magic. It simplifies running duplicity with cron or on command line by: - keeping recurring settings in profiles per backup job - enabling batch operations eg. backup_verify_purge - executing pre/post scripts - precondition checking for flawless duplicity operation Since version 1.5.0 all duplicity backends are supported. Hence the name changed from ftplicity to duply.
Hi Thomas, I am not from packaging group, however I hope you find useful this review about some mandatory items: MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review. duply.spec: I: checking-url http://downloads.sourceforge.net/ftplicity/duply_1.5.4.2.tgz (timeout 10 seconds) duply.src: I: checking duply.src: W: spelling-error %description -l en_US cron -> corn, con, crone The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US eg -> Eg, eh, e The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US pre -> per, ore, pee The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US backends -> backbends, back ends, back-ends The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US ftplicity -> triplicity, duplicity, complicity The value of this tag appears to be misspelled. Please double-check. duply.src: I: checking-url http://duply.net/ (timeout 10 seconds) duply.src: I: checking-url http://downloads.sourceforge.net/ftplicity/duply_1.5.4.2.tgz (timeout 10 seconds) duply.noarch: I: checking duply.noarch: W: spelling-error %description -l en_US cron -> corn, con, crone The value of this tag appears to be misspelled. Please double-check. duply.noarch: W: spelling-error %description -l en_US eg -> Eg, eh, e The value of this tag appears to be misspelled. Please double-check. duply.noarch: W: spelling-error %description -l en_US pre -> per, ore, pee The value of this tag appears to be misspelled. Please double-check. duply.noarch: W: spelling-error %description -l en_US backends -> backbends, back ends, back-ends The value of this tag appears to be misspelled. Please double-check. duply.noarch: W: spelling-error %description -l en_US ftplicity -> triplicity, duplicity, complicity The value of this tag appears to be misspelled. Please double-check. duply.noarch: I: checking-url http://duply.net/ (timeout 10 seconds) duply.noarch: W: no-manual-page-for-binary duply ***Each executable in standard binary directories should have a man page. Perhaps you contact the author to provide one man page. 2 packages and 1 specfiles checked; 0 errors, 11 warnings. MUST: The package must be named according to the Package Naming Guidelines: OK MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption: OK MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines: OK MUST: The License field in the package spec file must match the actual license. OK, usr/share/doc/duply-1.5.4.2/gpl-2.0.txt is GPLv2 MUST: The spec file must be written in American English: OK MUST: The spec file for the package MUST be legible: OK MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this.Package md5sum matches upstream package: ff3b4cd496d2fe34155460005e9bb0e4. MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. OK, it's noarch MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory: OK MUST: A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations)[14] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line: OK MUST: Each package must consistently use macros: OK MUST: The package must contain code, or permissable content: OK MUST: All filenames in rpm packages must be valid UTF-8: OK File List: drwxr-xr-x 2 root root 0 feb 23 00:42 /etc/duply -rwxr-xr-x 1 root root 61737 feb 23 00:42 /usr/bin/duply drwxr-xr-x 2 root root 0 feb 23 00:42 /usr/share/doc/duply-1.5.4.2 -rw-r--r-- 1 root root 18092 ene 5 20:46 /usr/share/doc/duply-1.5.4.2/gpl-2.0.txt I've found a file with an encoding different from utf-8 Notes: -Encoding: file -i ./usr/bin/duply ./usr/bin/duply: text/x-shellscript; charset=iso-8859-1 rpmlint does not complain about it, however you may convert it with iconv: http://fedoraproject.org/wiki/Common_Rpmlint_issues#file-not-utf8 -Tags: BuildRoot tag is not needed: http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag -Sections: The same goes for %clean section: http://fedoraproject.org/wiki/Packaging:Guidelines#.25clean Hope that helps
Hi Sergio, thanks for your comments! (In reply to comment #1) > duply.noarch: W: no-manual-page-for-binary duply > ***Each executable in standard binary directories should have a man page. > > Perhaps you contact the author to provide one man page. The author already declined such a request once: https://sourceforge.net/tracker/?func=detail&aid=2933556&group_id=217745&atid=1041150 but maybe I can ask him again. > I've found a file with an encoding different from utf-8 > > Notes: > -Encoding: > file -i ./usr/bin/duply > ./usr/bin/duply: text/x-shellscript; charset=iso-8859-1 > > rpmlint does not complain about it, however you may convert it with iconv: > http://fedoraproject.org/wiki/Common_Rpmlint_issues#file-not-utf8 Good catch, fixed. > -Tags: > BuildRoot tag is not needed: > http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag > > -Sections: > The same goes for %clean section: > http://fedoraproject.org/wiki/Packaging:Guidelines#.25clean Both are needed as I am intending to also maintain the package also for EPEL5. Updated spec and src rpm: Spec URL: http://thm.fedorapeople.org/duply/duply.spec SRPM URL: http://thm.fedorapeople.org/duply/duply-1.5.4.2-1.fc13.src.rpm
Just fyi, next version of duply will contain a subcommand for creating a manpage: http://sourceforge.net/tracker/?func=detail&aid=3190194&group_id=217745&atid=1041150 .
Updated spec and src rpm: Spec URL: http://thm.fedorapeople.org/duply/duply.spec SRPM URL: http://thm.fedorapeople.org/duply/duply-1.5.5-1.fc14.src.rpm %changelog * Tue May 10 2011 Thomas Moschny <..> - 1.5.5-1 - Update to 1.5.5. - Generate and pack a man page.
Spec URL: http://thm.fedorapeople.org/duply/duply.spec SRPM URL: http://thm.fedorapeople.org/duply/duply-1.5.5.1-1.fc15.src.rpm %changelog * Tue Jul 5 2011 Thomas Moschny <..> - 1.5.5.1-1 - Update to 1.5.5.1.
*** I am not a packager yet, but here are some comments *** - In your spec file, in %files, defattr() is no longer needed (http://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions) - Your package appears to be ready for EPEL, in case you want to include it there as well... if not, you'll need to get rid of all the BuildRoot stuff (http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag) - I would suggest renaming gpl-2.0.txt to LICENSE in %build and then change it in %doc as well, just because it is consistent with most other packages out there. This is not required by the guidelines though, so it's up to you (http://fedoraproject.org/wiki/Packaging:Guidelines#Documentation). rpmlint output: --------------------------------------------- rpmlint -i duply.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. [kad@propane SPECS ]$ rpmlint -i ../SRPMS/duply-1.5.5.1-1.fc15.src.rpm duply.src: W: spelling-error %description -l en_US cron -> corn, con, crone The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US pre -> per, ore, pee The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US backends -> back ends, back-ends, backhands The value of this tag appears to be misspelled. Please double-check. duply.src: W: spelling-error %description -l en_US ftplicity -> duplicity The value of this tag appears to be misspelled. Please double-check. 1 packages and 0 specfiles checked; 0 errors, 4 warnings. --------------------------------------------
Spec URL: http://thm.fedorapeople.org/duply/duply.spec SRPM URL: http://thm.fedorapeople.org/duply/duply-1.5.5.4-1.fc15.src.rpm %changelog * Fri Nov 11 2011 Thomas Moschny <..> - 1.5.5.4-1 - Update to 1.5.5.4. - Rename license file to LICENSE. - Remove %%defattr directive in %%files. As the package is intended to go to EPEL5, BuildRoot stuff must remain.
I never review a package, but this could be my first...could I help you?
(In reply to comment #8) > I never review a package, but this could be my first...could I help you? Sure, if you are a packager, it would be nice if you could do the review.
Ok, I take the review of this package, I will ask a second quickly review to fedora-devel team just to be sure of my job ok?
Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== Generic ==== [x]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported architecture. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [!]: MUST Buildroot is not present Note: Buildroot is not needed unless packager plans to package for EPEL5 [x]: MUST Package contains no bundled libraries. [x]: MUST Changelog in prescribed format. [!]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean is needed only if supporting EPEL [x]: MUST Sources contain only permissible code or content. [x]: MUST Each %files section contains %defattr if rpm < 4.4 Note: Note: defattr macros not found. They would be needed for EPEL5 [x]: MUST Macros in Summary, %description expandable at SRPM build time. [x]: MUST Package requires other packages for directories it uses. [x]: MUST Package uses nothing in %doc for runtime. [x]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf is only needed if supporting EPEL5 [x]: MUST If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x]: MUST License field in the package spec file matches the actual license. [x]: MUST Package consistently uses macros (instead of hard-coded directory names). [x]: MUST Package meets the Packaging Guidelines. [x]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST Package does not generates any conflict. [x]: MUST Package obeys FHS, except libexecdir and /usr/target. [x]: MUST Package must own all directories that it creates. [x]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [x]: MUST Requires correct, justified where necessary. [!]: MUST Rpmlint output is silent. rpmlint duply-1.5.5.4-1.fc17.noarch.rpm duply.noarch: W: spelling-error %description -l en_US cron -> corn, con, crone duply.noarch: W: spelling-error %description -l en_US pre -> per, ore, pee duply.noarch: W: spelling-error %description -l en_US backends -> back ends, back-ends, backhands duply.noarch: W: spelling-error %description -l en_US ftplicity -> duplicity 1 packages and 0 specfiles checked; 0 errors, 4 warnings. rpmlint duply-1.5.5.4-1.fc17.src.rpm duply.src: W: spelling-error %description -l en_US cron -> corn, con, crone duply.src: W: spelling-error %description -l en_US pre -> per, ore, pee duply.src: W: spelling-error %description -l en_US backends -> back ends, back-ends, backhands duply.src: W: spelling-error %description -l en_US ftplicity -> duplicity 1 packages and 0 specfiles checked; 0 errors, 4 warnings. [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. /home/makerpm/675234/duply_1.5.5.4.tgz : MD5SUM this package : d72862e0294c50cd3a98249981d689c1 MD5SUM upstream package : d72862e0294c50cd3a98249981d689c1 [!]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [-]: MUST Package contains a SysV-style init script if in need of one. [x]: MUST File names are valid UTF-8. [x]: SHOULD Reviewer should test that the package builds in mock. [-]: SHOULD If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: SHOULD Dist tag is present. [-]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: SHOULD Package functions as described. [x]: SHOULD Package does not include license text files separate from upstream. [x]: SHOULD SourceX is a working URL. [-]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: SHOULD Package should compile and build into binary rpms on all supported architectures. [-]: SHOULD %check is present and all tests pass. [x]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define. Issues: [!]: MUST Buildroot is not present Note: Buildroot is not needed unless packager plans to package for EPEL5 [!]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean is needed only if supporting EPEL [!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf is only needed if supporting EPEL5 [!]: MUST Rpmlint output is silent. rpmlint duply-1.5.5.4-1.fc17.noarch.rpm duply.noarch: W: spelling-error %description -l en_US cron -> corn, con, crone duply.noarch: W: spelling-error %description -l en_US pre -> per, ore, pee duply.noarch: W: spelling-error %description -l en_US backends -> back ends, back-ends, backhands duply.noarch: W: spelling-error %description -l en_US ftplicity -> duplicity 1 packages and 0 specfiles checked; 0 errors, 4 warnings. rpmlint duply-1.5.5.4-1.fc17.src.rpm duply.src: W: spelling-error %description -l en_US cron -> corn, con, crone duply.src: W: spelling-error %description -l en_US pre -> per, ore, pee duply.src: W: spelling-error %description -l en_US backends -> back ends, back-ends, backhands duply.src: W: spelling-error %description -l en_US ftplicity -> duplicity 1 packages and 0 specfiles checked; 0 errors, 4 warnings. Generated by fedora-review 0.1.1 ================================== So for me the package is almost ok. You specify you want include it in EPEL. So the issues are ok. I set this: [!]: MUST Spec file is legible and written in American English. Could you rewrite your spec file "head" to have a line separation in BuildArch and Requires? Could you change the order in Requires and BuildRequires putting BR first the Requires after? I will ask a little opinion to fedora-devel after the little change in spec file I will approve the package. Thank you!
Thomas, I ask a second opinion (thanks mrunge), I am too critical with you :) Package is finally ACCEPTED Thank you
Thanks for the review! I think I will change the order of the Requires and BuildRequires lines. New Package SCM Request ======================= Package Name: duply Short Description: Wrapper for duplicity Owners: thm Branches: f15 f16 el5 el6 InitialCC:
Git done (by process-git-requests).
Thoma, maybe you forgot to close this bug in according to this process: http://fedoraproject.org/wiki/New_package_process_for_existing_contributors I will close it for you.
Package Change Request ====================== Package Name: duply New Branches: epel7 Owners: thm