Bug 1116487 - Review Request: perl-App-DuckDuckGo - Application to query DuckDuckGo
Summary: Review Request: perl-App-DuckDuckGo - Application to query DuckDuckGo
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1111181
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-05 02:55 UTC by David Dick
Modified: 2014-07-28 03:26 UTC (History)
2 users (show)

Fixed In Version: perl-App-DuckDuckGo-0.008-1.fc20
Clone Of:
Environment:
Last Closed: 2014-07-28 03:26:38 UTC
Type: ---
Embargoed:
ppisar: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description David Dick 2014-07-05 02:55:29 UTC
Spec URL: http://ddick.fedorapeople.org/packages/perl-App-DuckDuckGo.spec
SRPM URL: http://ddick.fedorapeople.org/packages/perl-App-DuckDuckGo-0.008-1.fc20.src.rpm
Description: Application to query DuckDuckGo
Fedora Account System Username: ddick

Comment 2 Petr Pisar 2014-07-16 13:10:58 UTC
URL and Source0 are usable. Ok.
Source tar ball is original (SHA-256: 02eeb8e0a98d9ee1016fbfd6c5fdc658f379e9e9ea57936e3889701563b105b3). Ok.
Summary is Ok.
Description verified from lib/App/DuckDuckGo.pm. Ok.
License verified from lib/App/DuckDuckGo.pm, bin/duckduckgo, LICENSE, README. Ok.
No XS code, noarch BuildArch is Ok.

TODO: I recommend to package the LICENSE file into duckduckgo sub-package too. Because is does not run-require a specific version of the main package, it can happen an user gets installed different versions of the the sub-packages which can differ in the license. (If upstream decides to change the license).

FIX: Do not build-require `perl(Test::Pod)' as the module is never used (t/release-pod-syntax.t:4).

All tests pass. Ok.

$ rpmlint perl-App-DuckDuckGo.spec ../SRPMS/perl-App-DuckDuckGo-0.008-1.fc22.src.rpm  ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm 
duckduckgo.noarch: W: name-repeated-in-summary C DuckDuckGo
3 packages and 1 specfiles checked; 0 errors, 1 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm
drwxr-xr-x    2 root    root                        0 Jul 16 14:48 /usr/share/doc/perl-App-DuckDuckGo
-rw-r--r--    1 root    root                      688 Apr 18  2013 /usr/share/doc/perl-App-DuckDuckGo/Changes
-rw-r--r--    1 root    root                    18437 Apr 18  2013 /usr/share/doc/perl-App-DuckDuckGo/LICENSE
-rw-r--r--    1 root    root                      329 Apr 18  2013 /usr/share/doc/perl-App-DuckDuckGo/README
-rw-r--r--    1 root    root                     2174 Jul 16 14:48 /usr/share/man/man3/App::DuckDuckGo.3pm.gz
drwxr-xr-x    2 root    root                        0 Jul 16 14:48 /usr/share/perl5/vendor_perl/App
-rw-r--r--    1 root    root                     7080 Apr 18  2013 /usr/share/perl5/vendor_perl/App/DuckDuckGo.pm
$ rpm -q -lv -p ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm 
-rwxr-xr-x    1 root    root                     1734 Jul 16 14:48 /usr/bin/duckduckgo
drwxr-xr-x    2 root    root                        0 Jul 16 14:48 /usr/share/doc/duckduckgo
-rw-r--r--    1 root    root                      329 Apr 18  2013 /usr/share/doc/duckduckgo/README
-rw-r--r--    1 root    root                     2534 Jul 16 14:48 /usr/share/man/man1/duckduckgo.1.gz
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(Moose) >= 1.24
      1 perl(MooseX::Getopt) >= 0.35
      1 perl(WWW::DuckDuckGo) >= 0.004
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
$ rpm -q --requires -p ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm | sort -f | uniq -c
      1 /usr/bin/env
      1 perl(App::DuckDuckGo)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
TODO: The /usr/bin/env scripts interpreter is considered harmful by some packageres. It would be nice to replace it with `#!%{_perl}' (or `#!perl' which ExtUtils::MakeMaker fixes automatically).

$ rpm -q --provides -p ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm | sort -f | uniq -c
      1 perl(App::DuckDuckGo) = 0.008
      1 perl-App-DuckDuckGo = 0.008-1.fc22
$ rpm -q --provides -p ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm | sort -f | uniq -c
      1 duckduckgo = 0.008-1.fc22
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F22 (http://koji.fedoraproject.org/koji/taskinfo?taskID=7151001). Ok.

Otherwise the package is in line with Fedora and Perl packaging guidelines.

Please correct all `FIX' issues, consider fixing `TODO' items, and provide new SPEC file.
Resolution: Package NOT approved.

Comment 3 David Dick 2014-07-17 07:22:03 UTC
(In reply to Petr Pisar from comment #2)
> TODO: I recommend to package the LICENSE file into duckduckgo sub-package
> too. Because is does not run-require a specific version of the main package,
> it can happen an user gets installed different versions of the the
> sub-packages which can differ in the license. (If upstream decides to change
> the license).

Done.

> FIX: Do not build-require `perl(Test::Pod)' as the module is never used
> (t/release-pod-syntax.t:4).

Removed.

> TODO: The /usr/bin/env scripts interpreter is considered harmful by some
> packageres. It would be nice to replace it with `#!%{_perl}' (or `#!perl'
> which ExtUtils::MakeMaker fixes automatically).

Fixed with a sed script in %setup

Spec and SRPM have been uploaded again.

Comment 4 David Dick 2014-07-17 07:22:56 UTC
s/%setup/%prep/

Comment 5 Petr Pisar 2014-07-17 07:38:14 UTC
Spec file changes:

$ diff -u perl-App-DuckDuckGo.spec{.old,}
--- perl-App-DuckDuckGo.spec.old        2014-07-10 08:49:22.000000000 +0200
+++ perl-App-DuckDuckGo.spec    2014-07-17 09:18:39.000000000 +0200
@@ -13,7 +13,6 @@
 BuildRequires:  perl(MooseX::Getopt) >= 0.35
 BuildRequires:  perl(strict)
 BuildRequires:  perl(Test::More) >= 0.90
-BuildRequires:  perl(Test::Pod)
 BuildRequires:  perl(WWW::DuckDuckGo) >= 0.004
 BuildRequires:  perl(warnings)
 Requires:       perl(Moose) >= 1.24
@@ -31,6 +30,7 @@
 
 %prep
 %setup -q -n App-DuckDuckGo-%{version}
+sed -i 's|#!/usr/bin/env perl|#!%{__perl}|' bin/duckduckgo
 
 %build
 %{__perl} Makefile.PL INSTALLDIRS=vendor
@@ -60,7 +60,7 @@
 shell script to automatically work with the DuckDuckGo API results.
 
 %files -n duckduckgo
-%doc README
+%doc LICENSE README
 %{_mandir}/man1/*
 %{_bindir}/*
 

> TODO: I recommend to package the LICENSE file into duckduckgo sub-package too.
> Because is does not run-require a specific version of the main package, it can
> happen an user gets installed different versions of the the sub-packages which
> can differ in the license. (If upstream decides to change the license).
 %files -n duckduckgo
-%doc README
+%doc LICENSE README
Ok.

> FIX: Do not build-require `perl(Test::Pod)' as the module is never used
> (t/release-pod-syntax.t:4).
-BuildRequires:  perl(Test::Pod)
Ok.

> TODO: The /usr/bin/env scripts interpreter is considered harmful by some
> packageres. It would be nice to replace it with `#!%{_perl}' (or `#!perl'
> which ExtUtils::MakeMaker fixes automatically).
+sed -i 's|#!/usr/bin/env perl|#!%{__perl}|' bin/duckduckgo
Ok.

$ rpmlint perl-App-DuckDuckGo.spec ../SRPMS/perl-App-DuckDuckGo-0.008-1.fc22.src.rpm  ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm 
duckduckgo.noarch: W: name-repeated-in-summary C DuckDuckGo
3 packages and 1 specfiles checked; 0 errors, 1 warnings.
rpmlint is Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(Moose) >= 1.24
      1 perl(MooseX::Getopt) >= 0.35
      1 perl(WWW::DuckDuckGo) >= 0.004
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
$ rpm -q --requires -p ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm | sort -f | uniq -c
      1 /usr/bin/perl
      1 perl(App::DuckDuckGo)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
Binary requires are Ok.

$ resolvedeps rawhide  ../RPMS/noarch/perl-App-DuckDuckGo-0.008-1.fc22.noarch.rpm ../RPMS/noarch/duckduckgo-0.008-1.fc22.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F22 (http://koji.fedoraproject.org/koji/taskinfo?taskID=7155754). Ok.

Resolution: Package APPROVED.

Comment 6 David Dick 2014-07-17 07:53:37 UTC
Thanks for the review Petr!

New Package SCM Request
=======================
Package Name: perl-App-DuckDuckGo
Short Description: Application to query DuckDuckGo
Upstream URL: http://search.cpan.org/dist/App-DuckDuckGo/
Owners: ddick
Branches: f20, f21
InitialCC: perl-sig

Comment 7 Gwyn Ciesla 2014-07-17 12:07:09 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2014-07-17 20:58:17 UTC
perl-App-DuckDuckGo-0.008-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/perl-App-DuckDuckGo-0.008-1.fc20

Comment 9 Fedora Update System 2014-07-19 06:01:48 UTC
perl-App-DuckDuckGo-0.008-1.fc20 has been pushed to the Fedora 20 testing repository.

Comment 10 Fedora Update System 2014-07-28 03:26:38 UTC
perl-App-DuckDuckGo-0.008-1.fc20 has been pushed to the Fedora 20 stable repository.


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