Bug 1144000

Summary: Review Request: autotrash - Automatically take-out the trash
Product: [Fedora] Fedora Reporter: Robert Mayr <robyduck>
Component: Package ReviewAssignee: Eduardo Echeverria <echevemaster>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 20CC: echevemaster, package-review, pranav913, sanjay.ankur
Target Milestone: ---Flags: echevemaster: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: noarch   
OS: Linux   
Whiteboard:
Fixed In Version: autotrash-0.1.5-2.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-03 04:03:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Robert Mayr 2014-09-18 12:31:02 UTC
Spec URL: https://robyduck.fedorapeople.org/packages/SPECS/autotrash.spec
SRPM URL: https://robyduck.fedorapeople.org/packages/SRPMS/autotrash-0.1.5-1.fc20.src.rpm
Description: Autotrash is a simple Python script which will purge files from your trash based on their age or the amount of free space left on the device. Using autotrash -d 30 will delete files which have been in the trash for more than 30 days. It uses the FreeDesktop.org Trash Info files included in the new GNOME system to find the correct files and the dates they were deleted.

This is my first small package and therefore I'm looking also for a sponsor.
Fedora Account System Username: robyduck

Comment 1 Pranav Kant 2014-09-26 22:55:25 UTC
This is an unofficial review only.
------------------
[x] Passed
[-] Not applicable
[!] Failed
------------------

[x]: rpmlint must be run on the source rpm and all binary rpms the build produces.

Rpmlint on SRPM:
autotrash.src: E: description-line-too-long C Autotrash is a simple Python script which will purge files from your trash based on their
autotrash.src: E: description-line-too-long C age or the amount of free space left on the device. Using autotrash -d 30 will delete
autotrash.src: E: description-line-too-long C files which have been in the trash for more than 30 days. It uses the FreeDesktop.org
autotrash.src: E: description-line-too-long C Trash Info files included in the new GNOME system to find the correct files and the dates
autotrash.src: W: invalid-url URL: http://www.logfish.net/pr/autotrash/ <urlopen error [Errno -2] Name or service not known>
autotrash.src: W: invalid-url Source0: http://www.logfish.net/pr/autotrash/downloads/autotrash-0.1.5.tar.gz <urlopen error [Errno -2] Name or service not known>
1 packages and 0 specfiles checked; 4 errors, 2 warnings.


Rpmlint on RPM:
autotrash.noarch: E: description-line-too-long C Autotrash is a simple Python script which will purge files from your trash based on their
autotrash.noarch: E: description-line-too-long C age or the amount of free space left on the device. Using autotrash -d 30 will delete
autotrash.noarch: E: description-line-too-long C files which have been in the trash for more than 30 days. It uses the FreeDesktop.org
autotrash.noarch: E: description-line-too-long C Trash Info files included in the new GNOME system to find the correct files and the dates
autotrash.noarch: W: incoherent-version-in-changelog 0.1.5 ['0.1.5-1.fc21', '0.1.5-1']
autotrash.noarch: W: invalid-url URL: http://www.logfish.net/pr/autotrash/ <urlopen error [Errno -2] Name or service not known>
autotrash.noarch: W: no-manual-page-for-binary autotrash
1 packages and 0 specfiles checked; 4 errors, 3 warnings.


The warnings can easily be ignored but you should consider line wrap in description.

Also, your change log entry is missing the release number. Follow http://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs for more details and examples.

[x] The package must be named according to the Package Naming Guidelines
[x] The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
[x] The package must meet the Packaging Guidelines
[x] The package must be licensed with a Fedora approved license and meet the Licensing Guidelines 
[x] The License field in the package spec file must match the actual license.
[x]  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 must be included in %doc

[x] The spec file must be written in American English.
[x] The spec file for the package MUST be legible. 
[x] The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use sha256sum for this task as it is used by the sources file once imported into git

Source checksums
----------------
http://www.logfish.net/pr/autotrash/downloads/autotrash-0.1.5.tar.gz
  CHECKSUM(SHA256)  : b609396fad37c37808c3c734ee5f8c04b14b3890abd671631792222e2b4787f0
  CHECKSUM(SHA256) upstream package : b609396fad37c37808c3c734ee5f8c04b14b3890abd671631792222e2b4787f0

[x] The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[-] If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[x] All build dependencies must be listed in BuildRequires

[x] The spec file MUST handle locales properly. This is done by using the %find_lang macro.

[-] Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
[x] Packages must NOT bundle copies of system libraries.
[x] A package must own all directories that it creates.
[x] A Fedora package must not list a file more than once in the spec file's %files listings.

[x] Permissions on files must be set properly. Executables should be set with executable permissions

[!] Each package must consistently use macros.
Under %install section: You can use %{buildroot} instead of variable to consistently use macros throughout the SPEC file.
[x] The package must contain code, or permissible content.
[-] Large documentation files must go in a -doc subpackage.
[-] If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present
[-] Static libraries must be in a -static package
[-] Development files must be in a -devel package.
[x] Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built
[-] Packages containing GUI applications must include a %{name}.desktop file.
[x]  Packages must not own files or directories already owned by other packages.
[x]  All filenames in rpm packages must be valid UTF-8
[x] 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] The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. 
[x] The reviewer should test that the package builds in mock.
[!] your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense.
Your package contains the man page but does not installs it. Please fix this.
[X]: Latest version is packaged.

Comment 2 Robert Mayr 2014-09-27 21:37:47 UTC
Thank you Pranav, i updated the SPEC file and the SRPM accordingly.

Spec URL: https://robyduck.fedorapeople.org/packages/SPECS/autotrash.spec
SRPM URL: https://robyduck.fedorapeople.org/packages/SRPMS/autotrash-0.1.5-1.fc20.src.rpm

Comment 3 Eduardo Echeverria 2014-09-28 16:13:52 UTC
Hi @robyduck.
Some comments:
- Use python2-devel instead python-devel, also is not needed conditioning the versioning http://fedoraproject.org/wiki/Packaging:Python#BuildRequires, at this moment default python version in system-wide is 2.7.5, same applies to Requires.

- The use of %{__python} is deprecated,  use instead  %{__python2} http://fedoraproject.org/wiki/Packaging:Python#Macros.

- Each time that you make changes in your spec bump the release to reflect the changes at the time

- The spec differ to the SRPM uploaded

Diff spec file in url and in SRPM
---------------------------------
--- /home/echevemaster/test-packages/1144000-autotrash/srpm/autotrash.spec	2014-09-28 10:44:57.530000000 -0430
+++ /home/echevemaster/test-packages/1144000-autotrash/srpm-unpacked/autotrash.spec	2014-09-27 16:49:03.000000000 -0430
@@ -21,4 +21,5 @@
 %{__python} setup.py build
 
+
 %install
 %{__python} setup.py install --skip-build --root %{buildroot}

Comment 4 Robert Mayr 2014-09-28 19:41:16 UTC
Hi Eduardo,
thank you for your comments and the useful links.
I updated the spec file and bumped the version as suggested. The new links now are:
Spec: https://robyduck.fedorapeople.org/packages/SPECS/autotrash.spec
SRPM: https://robyduck.fedorapeople.org/packages/SRPMS/autotrash-0.1.5-2.fc20.src.rpm

Sorry for the not matching SRPM, seems the upload was not successful, I had some issues yesterday with fpeople. Now the specs should match.

Comment 5 Eduardo Echeverria 2014-09-30 06:58:25 UTC
===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/echevemaster/test-
     packages/1144000-autotrash/licensecheck.txt
[-]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 51200 bytes in 3 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: 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]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: 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]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[X]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: autotrash-0.1.5-2.fc22.noarch.rpm
          autotrash-0.1.5-2.fc22.src.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint autotrash
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'



Requires
--------
autotrash (rpmlib, GLIBC filtered):
    /usr/bin/python2
    python2



Provides
--------
autotrash:
    autotrash



Source checksums
----------------
http://www.logfish.net/pr/autotrash/downloads/autotrash-0.1.5.tar.gz :
  CHECKSUM(SHA256) this package     : b609396fad37c37808c3c734ee5f8c04b14b3890abd671631792222e2b4787f0
  CHECKSUM(SHA256) upstream package : b609396fad37c37808c3c734ee5f8c04b14b3890abd671631792222e2b4787f0

[[ PACKAGE  APPROVED ]] 


Follow the process from:

https://fedoraproject.org/wiki/Join_the_package_collection_maintainers#Add_Package_to_Source_Code_Management_.28SCM.29_system_and_Set_Owner

Welcome to the Packages Maintainer Group

Comment 6 Robert Mayr 2014-09-30 07:34:44 UTC
New Package SCM Request
=======================
Package Name: autotrash
Short Description: Automatically take-out the trash
Upstream URL: http://www.logfish.net/pr/autotrash/
Owners: robyduck
Branches: F20 F21 F22
InitialCC:

Comment 7 Robert Mayr 2014-09-30 07:38:50 UTC
Request is for Branches F20 and F21, as F22 should be master.
Thanks.

Comment 8 Robert Mayr 2014-09-30 07:46:42 UTC
Sorry, I also forgot to add epel7 as branch.

Comment 9 Gwyn Ciesla 2014-09-30 12:22:22 UTC
Git done (by process-git-requests).

Edited branch list.

Comment 10 Fedora Update System 2014-09-30 14:48:04 UTC
autotrash-0.1.5-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/autotrash-0.1.5-2.fc20

Comment 11 Fedora Update System 2014-09-30 14:49:33 UTC
autotrash-0.1.5-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/autotrash-0.1.5-2.fc21

Comment 12 Fedora Update System 2014-09-30 14:51:03 UTC
autotrash-0.1.5-2.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/autotrash-0.1.5-2.el7

Comment 13 Fedora Update System 2014-09-30 17:36:00 UTC
autotrash-0.1.5-2.el7 has been pushed to the Fedora EPEL 7 testing repository.

Comment 14 Fedora Update System 2014-10-03 04:03:15 UTC
autotrash-0.1.5-2.fc20 has been pushed to the Fedora 20 stable repository.

Comment 15 Fedora Update System 2014-10-05 08:12:21 UTC
autotrash-0.1.5-2.fc21 has been pushed to the Fedora 21 stable repository.

Comment 16 Fedora Update System 2014-10-09 19:54:29 UTC
autotrash-0.1.5-2.el7 has been pushed to the Fedora EPEL 7 stable repository.