Bug 883104 - Review Request: idle3-tools - Manipulate the value of the idle3 timer found on recent WD Hard Disk Drives
Summary: Review Request: idle3-tools - Manipulate the value of the idle3 timer found o...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Lorenzo Dalrio
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: DebugInfo
TreeView+ depends on / blocked
 
Reported: 2012-12-03 19:24 UTC by Paul P Komkoff Jr
Modified: 2014-01-27 09:27 UTC (History)
5 users (show)

Fixed In Version: idle3-tools-0.9.1-1.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-30 05:03:09 UTC
Type: ---
Embargoed:
lorenzo.dalrio: fedora-review+
i: needinfo-
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Paul P Komkoff Jr 2012-12-03 19:24:20 UTC
Spec URL: http://stingray.fedorapeople.org/review/idle3-tools/idle3-tools.spec
SRPM URL: http://stingray.fedorapeople.org/review/idle3-tools/idle3-tools-0.9.1-1.fc17.src.rpm
Description:
Idle3-tools provides a linux/unix utility that can disable, get and set the
value of the infamous idle3 timer found on recent Western Digital Hard Disk
Drives.  It can be used as an alternative to the official wdidle3.exe
proprietary utility, without the need to reboot in a DOS environement.  A power
off/on cycle of the drive will still be mandatory for new settings to be taken
into account.

Idle3-tools is an independant project, unrelated in any way to Western Digital Corp.
WARNING: THIS SOFTWARE IS EXPERIMENTAL AND NOT WELL TESTED. IT ACCESSES LOW
LEVEL INFORMATION OF YOUR HARDDRIVE. USE AT YOUR OWN RISK.
Fedora Account System Username: stingray

Comment 1 Lorenzo Dalrio 2013-03-01 15:22:12 UTC
Hi Paul,
There are some rpmlint errors and warnings:

> Checking: idle3-tools-0.9.1-1.fc19.x86_64.rpm
>           idle3-tools-0.9.1-1.fc19.src.rpm
>           idle3-tools-debuginfo-0.9.1-1.fc19.x86_64.rpm
> idle3-tools.x86_64: W: spelling-error %description -l en_US linux -> Linux
> idle3-tools.x86_64: W: spelling-error %description -l en_US unix -> UNIX, Unix, uni
> idle3-tools.x86_64: W: spelling-error %description -l en_US exe -> ex, exes, exec
> idle3-tools.x86_64: W: spelling-error %description -l en_US environement -> environment, enthronement
> idle3-tools.x86_64: W: spelling-error %description -l en_US independant -> independent, Independence, independence
> idle3-tools.x86_64: E: description-line-too-long C Idle3-tools is an independant project, unrelated in any way to Western Digital Corp.
> idle3-tools.src: W: spelling-error %description -l en_US linux -> Linux
> idle3-tools.src: W: spelling-error %description -l en_US unix -> UNIX, Unix, uni
> idle3-tools.src: W: spelling-error %description -l en_US exe -> ex, exes, exec
> idle3-tools.src: W: spelling-error %description -l en_US environement -> environment, enthronement
> idle3-tools.src: W: spelling-error %description -l en_US independant -> independent, Independence, independence
> idle3-tools.src: E: description-line-too-long C Idle3-tools is an independant project, unrelated in any way to Western Digital Corp.
> idle3-tools-debuginfo.x86_64: E: empty-debuginfo-package
Could be due to LDFLAGS="-s" in Makefile.
> 3 packages and 0 specfiles checked; 3 errors, 10 warnings.

Please can you correct those issues?

Comment 2 Dan Horák 2013-03-01 17:42:21 UTC
also this line
make install DESTDIR=%{buildroot} binprefix=/usr

can be used instead of the discouraged %make_install

and license is GPLV3+ - see the "or any later version" in the source file

Comment 3 Paul P Komkoff Jr 2013-03-03 19:57:10 UTC
Fixed LDFLAGS, line too long, and make_install.
And GPLv3+.
Anything else?

(new srpm is .fc18)

Comment 4 Lorenzo Dalrio 2013-03-06 10:31:48 UTC
I will formally review this one within a few days.

Comment 5 Lorenzo Dalrio 2013-03-07 13:56:30 UTC
Hi Paul,

there is only one "major" issue left with your package: you are using both %{buildroot} and $RPM_BUILD_ROOT style macros, this should not be done. [1]
You can use the %make_install macro to solve this issue, the discouraged macro is %makeinstall (without "_"). [2]
You should also correct the "environment" word spelling in the package description.
Please solve issues and don't forget to bump release version and changelog. :)

[1] http://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS
[2] http://fedoraproject.org/wiki/Packaging:Guidelines#Why_the_.25makeinstall_macro_should_not_be_used

Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Package consistently uses macro is (instead of hard-coded directory names).
  Note: Using both %{buildroot} and $RPM_BUILD_ROOT
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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]: %build honors applicable compiler flags or justifies otherwise.
[x]: 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
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v3 or later)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in
     /home/lorenzodalrio/workspace/reviews/review-idle3-tools/licensecheck.txt
[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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 40960 bytes in 1 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[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]: Fully versioned dependency in subpackages, if present.
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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 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
[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: There are rpmlint messages (see attachment).

===== 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).
[x]: 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.
     NOTE: successful koji build http://koji.fedoraproject.org/koji/taskinfo?taskID=5085030
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: idle3-tools-0.9.1-1.fc19.x86_64.rpm
idle3-tools.x86_64: W: spelling-error %description -l en_US linux -> Linux
idle3-tools.x86_64: W: spelling-error %description -l en_US unix -> UNIX, Unix, uni
idle3-tools.x86_64: W: spelling-error %description -l en_US exe -> ex, exes, exec
idle3-tools.x86_64: W: spelling-error %description -l en_US environement -> environment, enthronement
idle3-tools.x86_64: W: spelling-error %description -l en_US independant -> independent, Independence, independence
1 packages and 0 specfiles checked; 0 errors, 5 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint idle3-tools
idle3-tools.x86_64: W: spelling-error %description -l en_US linux -> Linux
idle3-tools.x86_64: W: spelling-error %description -l en_US unix -> UNIX, Unix, uni
idle3-tools.x86_64: W: spelling-error %description -l en_US exe -> ex, exes, exec
idle3-tools.x86_64: W: spelling-error %description -l en_US environement -> environment, enthronement
idle3-tools.x86_64: W: spelling-error %description -l en_US independant -> independent, Independence, independence
1 packages and 0 specfiles checked; 0 errors, 5 warnings.
# echo 'rpmlint-done:'



Requires
--------
idle3-tools (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    rtld(GNU_HASH)



Provides
--------
idle3-tools:
    idle3-tools
    idle3-tools(x86-64)



MD5-sum check
-------------
http://sourceforge.net/projects/idle3-tools/files/idle3-tools-0.9.1.tgz :
  CHECKSUM(SHA256) this package     : 9778060c7873ad2c9c40db3a7049d8ca22535427b982ff12f5bd519f703f2a02
  CHECKSUM(SHA256) upstream package : 9778060c7873ad2c9c40db3a7049d8ca22535427b982ff12f5bd519f703f2a02


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -n idle3-tools

Package NEEDSWORK.

Comment 6 Paul P Komkoff Jr 2013-03-11 18:16:01 UTC
1. put make_install back
2. corrected environment
3. re-uploaded spec and package
... why bump the spec? we're not released/built yet.

Comment 7 Lorenzo Dalrio 2013-03-13 08:45:14 UTC
(In reply to comment #6)
> ... why bump the spec? we're not released/built yet.

It is sort of good practice to help keep track of changes during package review process. :)
Anyway, now your package is ready to go, good job. Full review follows.


Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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]: %build honors applicable compiler flags or justifies otherwise.
[x]: 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
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v3 or later)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in
     /home/lorenzodalrio/workspace/reviews/review-idle3-tools/licensecheck.txt
[x]: Package consistently uses macro is (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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 40960 bytes in 1 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[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]: Fully versioned dependency in subpackages, if present.
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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 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
[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: There are rpmlint messages (see attachment).

===== 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).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: 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.
     NOTE: successful koji build https://koji.fedoraproject.org/koji/taskinfo?taskID=5116077
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: idle3-tools-0.9.1-1.fc19.x86_64.rpm
idle3-tools.x86_64: W: spelling-error %description -l en_US linux -> Linux
idle3-tools.x86_64: W: spelling-error %description -l en_US unix -> UNIX, Unix, uni
idle3-tools.x86_64: W: spelling-error %description -l en_US exe -> ex, exes, exec
idle3-tools.x86_64: W: spelling-error %description -l en_US independant -> independent, Independence, independence
1 packages and 0 specfiles checked; 0 errors, 4 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint idle3-tools
idle3-tools.x86_64: W: spelling-error %description -l en_US linux -> Linux
idle3-tools.x86_64: W: spelling-error %description -l en_US unix -> UNIX, Unix, uni
idle3-tools.x86_64: W: spelling-error %description -l en_US exe -> ex, exes, exec
idle3-tools.x86_64: W: spelling-error %description -l en_US independant -> independent, Independence, independence
1 packages and 0 specfiles checked; 0 errors, 4 warnings.
# echo 'rpmlint-done:'



Requires
--------
idle3-tools (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    rtld(GNU_HASH)



Provides
--------
idle3-tools:
    idle3-tools
    idle3-tools(x86-64)



MD5-sum check
-------------
http://sourceforge.net/projects/idle3-tools/files/idle3-tools-0.9.1.tgz :
  CHECKSUM(SHA256) this package     : 9778060c7873ad2c9c40db3a7049d8ca22535427b982ff12f5bd519f703f2a02
  CHECKSUM(SHA256) upstream package : 9778060c7873ad2c9c40db3a7049d8ca22535427b982ff12f5bd519f703f2a02


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -n idle3-tools


Package is APPROVED

Comment 8 Christopher Meng 2013-12-18 01:06:47 UTC
No action after more than half a year.

Comment 9 Paul P Komkoff Jr 2013-12-18 07:47:53 UTC
Hmm, somehow I thought I already pushed it out.

Comment 10 Paul P Komkoff Jr 2013-12-18 07:50:22 UTC
New Package SCM Request
=======================
Package Name: idle3-tools
Short Description: Manipulate the value of the idle3 timer found on recent WD Hard Disk Drives
Owners: stingray
Branches: f19 f20 el6

Comment 11 Gwyn Ciesla 2013-12-18 12:47:44 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2013-12-18 17:28:56 UTC
idle3-tools-0.9.1-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/idle3-tools-0.9.1-1.fc19

Comment 13 Fedora Update System 2013-12-18 17:29:05 UTC
idle3-tools-0.9.1-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/idle3-tools-0.9.1-1.el6

Comment 14 Fedora Update System 2013-12-18 17:29:17 UTC
idle3-tools-0.9.1-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/idle3-tools-0.9.1-1.fc20

Comment 15 Fedora Update System 2013-12-19 17:10:29 UTC
idle3-tools-0.9.1-1.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 16 Ville Skyttä 2013-12-21 09:13:31 UTC
Resulting -debuginfo is empty. Reviewer noticed this in an early comment but seemingly failed to check it in the real review and just marked the debuginfo package as useful. One way to fix that (and while at it, explicitly use $RPM_LD_FLAGS):

CFLAGS="${RPM_OPT_FLAGS}" make %{?_smp_mflags} LDFLAGS="${RPM_LD_FLAGS}"

Comment 17 Lorenzo Dalrio 2013-12-21 09:36:02 UTC
(In reply to Ville Skyttä from comment #16)
> Resulting -debuginfo is empty. Reviewer noticed this in an early comment but
> seemingly failed to check it in the real review and just marked the
> debuginfo package as useful. One way to fix that (and while at it,
> explicitly use $RPM_LD_FLAGS):
> 
> CFLAGS="${RPM_OPT_FLAGS}" make %{?_smp_mflags} LDFLAGS="${RPM_LD_FLAGS}"

At the time of review the empty -debuginfo issue was corrected.

Comment 18 Fedora Update System 2013-12-30 05:03:09 UTC
idle3-tools-0.9.1-1.fc19 has been pushed to the Fedora 19 stable repository.

Comment 19 Fedora Update System 2013-12-30 05:03:52 UTC
idle3-tools-0.9.1-1.fc20 has been pushed to the Fedora 20 stable repository.

Comment 20 Ville Skyttä 2013-12-31 13:08:22 UTC
No comments from maintainer, so I went ahead and fixed the debuginfo issue in Rawhide, idle3-tools-0.9.1-2.fc21

Comment 21 Fedora Update System 2014-01-27 09:27:08 UTC
idle3-tools-0.9.1-1.el6 has been pushed to the Fedora EPEL 6 stable repository.


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