Bug 857639

Summary: Review Request: duff - Quickly find duplicate files
Product: [Fedora] Fedora Reporter: Eduardo Echeverria <echevemaster>
Component: Package ReviewAssignee: Luis Bazan <bazanluis20>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: a.badger, bazanluis20, echevemaster, guillermo.gomez, itamar, notting, package-review, rdieter
Target Milestone: ---Flags: bazanluis20: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-01 08:33:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 859795    
Bug Blocks:    
Attachments:
Description Flags
Linking to shared library of sha
none
Remove docs of bundle sha none

Description Eduardo Echeverria 2012-09-15 11:36:43 UTC
Spec URL: http://echevemaster.fedorapeople.org/duff/1/duff.spec
SRPM URL: http://echevemaster.fedorapeople.org/duff/1/duff-0.5.2-1.fc17.src.rpm

Duff is a command-line utility for quickly finding duplicates in a given set of
files

rpmlint -i duff-0.5.2-1.fc17.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint -i duff-0.5.2-1.fc17.x86_64.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 2 Rex Dieter 2012-09-15 22:12:50 UTC
Initial comments:

* no need to
BuildRequires: glibc-devel
see:
http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
(glibc-devel is a dependency of gcc already)

* please document the need for automake, autoconf, libtool

Comment 3 Eduardo Echeverria 2012-09-16 05:43:05 UTC
(In reply to comment #2)
> Initial comments:
> 
> * no need to
> BuildRequires: glibc-devel
> see:
> http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
> (glibc-devel is a dependency of gcc already)
> 
> * please document the need for automake, autoconf, libtool

Rex You're right, do not need any of these BuildRequires

Sorry!!

in the README

Building Duff
================

If you got this source tree from a Git repository then you will need to
bootstrap the build environment using `bootstrap.sh'.  Note that this script
requires GNU autoconf, automake and gettext to run.  Also note that running
gettextize may cause a few duplicate entries in various build files.  To remove
these, use `git reset --hard`.

If (or once) you have a `configure' script, go ahead and run it.  No additional
magic should be required.  If it is, then that's a bug and should be reported.

######################## Corrected Spec and SRPM  =============================

Spec URL: http://echevemaster.fedorapeople.org/duff/2/duff.spec
SRPM URL: http://echevemaster.fedorapeople.org/duff/2/duff-0.5.2-2.fc17.src.rpm

rpmlint -i duff-0.5.2-2.fc17.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint -i duff-0.5.2-2.fc17.x86_64.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Regards

Comment 4 Eduardo Echeverria 2012-09-17 04:26:50 UTC
Remove rm -rf buildroot in the clean section

######################## Corrected Spec and SRPM  =============================

Spec URL: http://echevemaster.fedorapeople.org/duff/3/duff.spec
SRPM URL: http://echevemaster.fedorapeople.org/duff/3/duff-0.5.2-3.fc17.src.rpm

rpmlint -i duff-0.5.2-3.fc17.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint -i duff-0.5.2-3.fc17.x86_64.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 5 Luis Bazan 2012-09-17 17:48:17 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[x]: MUST Package does not contain any libtool archives (.la)
[ ]: MUST Package does not contain kernel modules.
[ ]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.


==== Generic ====
[x]: EXTRA Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: EXTRA Spec file according to URL is the same as in SRPM.
[ ]: 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 primary architecture.
[ ]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[ ]: MUST Package contains no bundled libraries.
[ ]: MUST Changelog in prescribed format.
[ ]: 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
[ ]: MUST Macros in Summary, %description expandable at SRPM build time.
[ ]: MUST Package contains desktop file if it is a GUI application.
[ ]: MUST Development files must be in a -devel package
[ ]: MUST Package requires other packages for directories it uses.
[ ]: MUST Package uses nothing in %doc for runtime.
[ ]: 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.
[ ]: MUST Package complies to the Packaging Guidelines
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[ ]: MUST Large documentation files are in a -doc subpackage, if required.
[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.
[ ]: MUST License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (2 clause)", "GPL (v3 or later)", "zlib/libpng" For detailed output
     of licensecheck see file:
     /home/soporte/rpmbuild/SPECS/857639-duff/licensecheck.txt
[ ]: MUST The spec file handles locales properly.
[ ]: MUST Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: MUST Package is named using only allowed ascii characters.
[ ]: MUST Package is named according to the Package Naming Guidelines.
[ ]: MUST Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[ ]: MUST Package obeys FHS, except libexecdir and /usr/target.
[ ]: MUST If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: MUST Package must own all directories that it creates.
[ ]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[ ]: MUST Package is not relocatable.
[ ]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
[ ]: 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 systemd file(s) if in need.
[x]: MUST File names are valid UTF-8.
[ ]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[!]: SHOULD Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[x]: SHOULD Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL5 is required
[ ]: 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.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[ ]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[ ]: SHOULD Package functions as described.
[ ]: SHOULD Latest version is packaged.
[ ]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD SourceX tarball generation or download is documented.
[x]: SHOULD SourceX / PatchY prefixed with %{name}.
[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.
[ ]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[ ]: SHOULD %check is present and all tests pass.
[ ]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Rpmlint
-------
Checking: duff-0.5.2-3.fc17.src.rpm
          duff-0.5.2-3.fc17.i686.rpm
          duff-debuginfo-0.5.2-3.fc17.i686.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.


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

Requires
--------
duff-0.5.2-3.fc17.i686.rpm (rpmlib, GLIBC filtered):
    
    libc.so.6  
    rtld(GNU_HASH)  

duff-debuginfo-0.5.2-3.fc17.i686.rpm (rpmlib, GLIBC filtered):
    

Provides
--------
duff-0.5.2-3.fc17.i686.rpm:
    
    duff = 0.5.2-3.fc17
    duff(x86-32) = 0.5.2-3.fc17

duff-debuginfo-0.5.2-3.fc17.i686.rpm:
    
    duff-debuginfo = 0.5.2-3.fc17
    duff-debuginfo(x86-32) = 0.5.2-3.fc17

MD5-sum check
-------------
http://sourceforge.net/projects/duff/files/duff/0.5.2/duff-0.5.2.tar.gz :
  CHECKSUM(SHA256) this package     : 15b721f7e0ea43eba3fd6afb41dbd1be63c678952bf3d80350130a0e710c542e
  CHECKSUM(SHA256) upstream package : 15b721f7e0ea43eba3fd6afb41dbd1be63c678952bf3d80350130a0e710c542e


Generated by fedora-review 0.2.2 (9f8c0e5) last change: 2012-08-09
Command line :/usr/bin/fedora-review -b 857639
External plugins:

Comment 6 Luis Bazan 2012-09-17 17:56:43 UTC
# rpmlint -v duff-0.5.2-3.fc17.src.rpm 
duff.src: I: checking
duff.src: I: checking-url http://duff.sourceforge.net/ (timeout 10 seconds)
duff.src: I: checking-url http://sourceforge.net/projects/duff/files/duff/0.5.2/duff-0.5.2.tar.gz (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

For me everything is ready and corrected what was requested and passed all tests.

APPROVED

Comment 7 Eduardo Echeverria 2012-09-17 18:12:57 UTC
New Package SCM Request
=======================
Package Name: duff
Short Description: Quickly find duplicate files
Owners: echevemaster
Branches: f16 f17 f18
InitialCC: lbazan

Comment 8 Gwyn Ciesla 2012-09-17 18:22:10 UTC
Git done (by process-git-requests).

Comment 9 Toshio Ernie Kuratomi 2012-09-17 18:49:12 UTC
I see some problems here.  Including a bundled piece of hashing code: the sha* files are taken from here: http://hg.saddi.com/sha-asaddi

That code doesn't produce a shared library -- it just builds a static library that is immediately linked into the sha* command line tools and then the libraries are discarded.  You might be able to get a generic bundling exception from the FPC similar to the md5 exceptions: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

Or you might need to build the saddi package separately and create a static library from that which you'd then be able to link against here.

Comment 10 Toshio Ernie Kuratomi 2012-09-17 18:51:59 UTC
btw, I found those files by doing grep -ri license in the top level of the source tree and noticing that some things talking about different licenses the sha* implementation.  That lead to more scrutiny of those files to find out what their source was.  (And along with that, the license for those files are different than the license for the other duff files.  I believe it's BSD rather than zlib).

Comment 11 Eduardo Echeverria 2012-09-24 04:52:33 UTC
Toshio, Luis I contacted to Allan Saddi (shaX-asaddi)  and provided me the necessary source for building shared libraries for duff, now need to do the necessary changes to link against it

Sha is in BZ 859795

Regards

Comment 12 Eduardo Echeverria 2012-11-02 01:13:58 UTC
I've built duff against the sha libs, here the spec and SRPM, I grateful a final review please
SPEC:http://echevemaster.fedorapeople.org/duff/4/duff.spec
SRPM: http://echevemaster.fedorapeople.org/duff/4/duff-0.5.2-4.fc17.src.rpm
Koji Build Rawhide 
http://koji.fedoraproject.org/koji/taskinfo?taskID=4648530

Comment 13 Eduardo Echeverria 2012-11-02 01:15:36 UTC
Created attachment 636879 [details]
Linking to shared library of sha

Comment 14 Eduardo Echeverria 2012-11-02 01:16:41 UTC
Created attachment 636880 [details]
Remove docs of bundle sha

Comment 15 Eduardo Echeverria 2012-11-09 19:06:25 UTC
rpmlint -v duff-0.5.2-4.fc17.x86_64.rpm 
duff.x86_64: I: checking
duff.x86_64: I: checking-url http://duff.sourceforge.net/ (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings

rpmlint -v duff-debuginfo-0.5.2-4.fc17.x86_64.rpm 
duff-debuginfo.x86_64: I: checking
duff-debuginfo.x86_64: I: checking-url http://duff.sourceforge.net/ (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint -v duff-0.5.2-4.fc17.src.rpm 
duff.src: I: checking
duff.src: I: checking-url http://duff.sourceforge.net/ (timeout 10 seconds)
duff.src: I: checking-url http://sourceforge.net/projects/duff/files/duff/0.5.2/duff-0.5.2.tar.gz (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 16 Fedora Update System 2012-11-15 09:12:23 UTC
duff-0.5.2-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/duff-0.5.2-4.fc18

Comment 17 Fedora Update System 2012-11-15 09:22:02 UTC
duff-0.5.2-4.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/duff-0.5.2-4.fc17

Comment 18 Fedora Update System 2012-11-15 09:31:02 UTC
duff-0.5.2-4.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/duff-0.5.2-4.fc16

Comment 19 Fedora Update System 2012-11-15 20:04:11 UTC
duff-0.5.2-4.fc18 has been pushed to the Fedora 18 testing repository.

Comment 20 Fedora Update System 2012-12-01 08:33:13 UTC
duff-0.5.2-4.fc16 has been pushed to the Fedora 16 stable repository.

Comment 21 Fedora Update System 2012-12-01 08:36:53 UTC
duff-0.5.2-4.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2012-12-01 09:46:46 UTC
duff-0.5.2-4.fc18 has been pushed to the Fedora 18 stable repository.

Comment 23 Michael Schwendt 2012-12-20 18:37:27 UTC
* Directory %{_datadir}/duff/ is not included.


> %check
> make DESTDIR=%{buildroot} check

Didn't perform any checks according to the build.log.

Btw, as %check is run after %install, one typically places the %check section below the %install section in the spec file.

Comment 24 Fedora Update System 2013-01-11 07:26:07 UTC
duff-0.5.2-5.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/duff-0.5.2-5.fc18

Comment 25 Fedora Update System 2013-01-11 07:27:47 UTC
duff-0.5.2-5.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/duff-0.5.2-5.fc17

Comment 26 Fedora Update System 2013-01-11 07:29:06 UTC
duff-0.5.2-5.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/duff-0.5.2-5.fc16

Comment 27 Fedora Update System 2013-01-24 21:55:50 UTC
duff-0.5.2-5.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 28 Fedora Update System 2013-01-24 22:01:34 UTC
duff-0.5.2-5.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 29 Fedora Update System 2013-01-24 22:36:45 UTC
duff-0.5.2-5.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.