Bug 675234 (duply) - Review Request: duply - Wrapper for duplicity
Summary: Review Request: duply - Wrapper for duplicity
Keywords:
Status: CLOSED NEXTRELEASE
Alias: duply
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mario Santagiuliana
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-04 17:05 UTC by Thomas Moschny
Modified: 2015-01-08 18:16 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-01-30 17:33:36 UTC
Type: ---
Embargoed:
fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Thomas Moschny 2011-02-04 17:05:12 UTC
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.

Comment 1 Sergio Belkin 2011-02-23 04:38:41 UTC
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

Comment 2 Thomas Moschny 2011-02-23 10:21:08 UTC
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

Comment 3 Thomas Moschny 2011-02-24 17:22:51 UTC
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 .

Comment 4 Thomas Moschny 2011-05-10 07:14:33 UTC
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.

Comment 5 Thomas Moschny 2011-07-05 18:02:47 UTC
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.

Comment 6 Jorge Gallegos 2011-08-21 22:41:15 UTC
*** 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.
--------------------------------------------

Comment 7 Thomas Moschny 2011-11-11 12:21:31 UTC
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.

Comment 8 Mario Santagiuliana 2012-01-15 21:22:39 UTC
I never review a package, but this could be my first...could I help you?

Comment 9 Thomas Moschny 2012-01-17 18:33:52 UTC
(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.

Comment 10 Mario Santagiuliana 2012-01-18 10:24:20 UTC
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?

Comment 11 Mario Santagiuliana 2012-01-18 11:19:59 UTC
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!

Comment 12 Mario Santagiuliana 2012-01-18 11:36:18 UTC
Thomas, I ask a second opinion (thanks mrunge), I am too critical with you :)
Package is finally

ACCEPTED

Thank you

Comment 13 Thomas Moschny 2012-01-18 12:09:51 UTC
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:

Comment 14 Gwyn Ciesla 2012-01-18 13:34:10 UTC
Git done (by process-git-requests).

Comment 15 Mario Santagiuliana 2012-01-30 17:33:36 UTC
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.

Comment 16 Thomas Moschny 2015-01-08 17:52:34 UTC
Package Change Request
======================
Package Name: duply
New Branches: epel7
Owners: thm

Comment 17 Gwyn Ciesla 2015-01-08 18:16:35 UTC
Git done (by process-git-requests).


Note You need to log in before you can comment on or make changes to this bug.