Bug 1111181 - Review Request: perl-WWW-DuckDuckGo - Access to the DuckDuckGo APIs
Summary: Review Request: perl-WWW-DuckDuckGo - Access to the DuckDuckGo APIs
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:
Blocks: 1116487
TreeView+ depends on / blocked
 
Reported: 2014-06-19 12:07 UTC by David Dick
Modified: 2014-07-16 12:19 UTC (History)
4 users (show)

Fixed In Version: perl-WWW-DuckDuckGo-0.016-1.fc20
Clone Of:
Environment:
Last Closed: 2014-07-04 00:29:00 UTC
Type: ---
Embargoed:
ppisar: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description David Dick 2014-06-19 12:07:54 UTC
Spec URL: http://ddick.fedorapeople.org/packages/perl-WWW-DuckDuckGo.spec
SRPM URL: http://ddick.fedorapeople.org/packages/perl-WWW-DuckDuckGo-0.016-1.fc20.src.rpm
Description: Access to the DuckDuckGo APIs
Fedora Account System Username: ddick

Comment 1 David Dick 2014-06-19 12:08:47 UTC
koji build

rawhide at http://koji.fedoraproject.org/koji/taskinfo?taskID=7057869

Comment 2 Benedikt Morbach 2014-06-24 09:15:13 UTC
Note: This is an unofficial/preliminary review


> Package Review
> ==============
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> [ ] = Manual review needed
> 
> 
> 
> ===== 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". 5 files have unknown license. Detailed output of
>      licensecheck in /home/bmorbach/fedora-review/1111181-perl-WWW-
>      DuckDuckGo/licensecheck.txt
> [x]: If the package is under multiple licenses, the licensing breakdown must
>      be documented in the spec.
> [x]: Package does not own files or directories owned by other packages.
>      Note: Dirs in package are owned also by: /usr/share/perl5/vendor_perl/WWW
>      (perl-WWW-Mechanize, perl-WWW-Bugzilla, kgb-bot-client, perl-WWW-
>      RobotRules, perl-Test-WWW-Selenium, perl-WWW-Salesforce, perl-WWW-
>      Babelfish, perl-WWW-Splunk, perl-WWW-Search, perl-WWW-Shorten, perl-WWW-
>      OrangeHRM-Client, perl-WWW-Mechanize-GZip, perl-WWW-GoodData, perl-WWW-
>      Pastebin-PastebinCom-Create, perl-WWW-Mechanize-TreeBuilder, perl-WWW-
>      Google-Contacts)
fine, as per http://fedoraproject.org/wiki/Packaging:Perl#Directory_Ownership

> [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
> [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 30720 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: There are rpmlint messages (see attachment).
> [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]: 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
> 
> Perl:
> [x]: Package contains the mandatory BuildRequires and Requires:.
> [x]: CPAN urls should be non-versioned.
> 
> ===== 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).
It requires its own contents, but that seems to work fine.
I can't find anything in the guidelines about that though.

> [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.
> [-]: Package should compile and build into binary rpms on all supported
>      architectures.
> [x]: %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]: Uses parallel make %{?_smp_mflags} macro.
> [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: There are rpmlint messages (see attachment).
> [x]: Spec file according to URL is the same as in SRPM.
> 
> 
> Rpmlint
> -------
> Checking: perl-WWW-DuckDuckGo-0.016-1.fc21.noarch.rpm
>           perl-WWW-DuckDuckGo-0.016-1.fc21.src.rpm
> perl-WWW-DuckDuckGo.noarch: W: spelling-error %description -l en_US https -> HTTP
> perl-WWW-DuckDuckGo.noarch: W: spelling-error %description -l en_US http -> HTTP
> perl-WWW-DuckDuckGo.src: W: spelling-error %description -l en_US https -> HTTP
> perl-WWW-DuckDuckGo.src: W: spelling-error %description -l en_US http -> HTTP
> 2 packages and 0 specfiles checked; 0 errors, 4 warnings.
bogus

> 
> Rpmlint (installed packages)
> ----------------------------
> # rpmlint perl-WWW-DuckDuckGo
> perl-WWW-DuckDuckGo.noarch: W: spelling-error %description -l en_US https -> HTTP
> perl-WWW-DuckDuckGo.noarch: W: spelling-error %description -l en_US http -> HTTP
> 1 packages and 0 specfiles checked; 0 errors, 2 warnings.
> # echo 'rpmlint-done:'
bogus

> 
> Requires
> --------
> perl-WWW-DuckDuckGo (rpmlib, GLIBC filtered):
>     perl(:MODULE_COMPAT_5.18.2)
>     perl(HTTP::Request)
>     perl(JSON)
>     perl(LWP::UserAgent)
>     perl(Moo)
>     perl(URI)
>     perl(URI::QueryParam)
>     perl(WWW::DuckDuckGo::Icon)
>     perl(WWW::DuckDuckGo::Link)
>     perl(WWW::DuckDuckGo::ZeroClickInfo)
> 
> 
> 
> Provides
> --------
> perl-WWW-DuckDuckGo:
>     perl(WWW::DDG)
>     perl(WWW::DuckDuckGo)
>     perl(WWW::DuckDuckGo::Icon)
>     perl(WWW::DuckDuckGo::Link)
>     perl(WWW::DuckDuckGo::ZeroClickInfo)
>     perl-WWW-DuckDuckGo
> 
> 
> 
> Source checksums
> ----------------
> http://www.cpan.org/modules/by-module/WWW/WWW-DuckDuckGo-0.016.tar.gz :
>   CHECKSUM(SHA256) this package     : 675b5fd8b1cfe62b13229f42e6282ce0d61c8fd4574af9a2c3aaad75617a6fc3
>   CHECKSUM(SHA256) upstream package : 675b5fd8b1cfe62b13229f42e6282ce0d61c8fd4574af9a2c3aaad75617a6fc3
> 
> 
> Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
> Command line :/usr/bin/fedora-review -b 1111181
> Buildroot used: fedora-rawhide-x86_64
> Active plugins: Generic, Shell-api, Perl
> Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Haskell, R, PHP, Ruby
> Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 3 Petr Šabata 2014-06-24 11:23:33 UTC
(In reply to Benedikt Morbach from comment #2)
> > [x]: Final provides and requires are sane (see attachments).
> It requires its own contents, but that seems to work fine.
> I can't find anything in the guidelines about that though.

That's indeed not an issue :)

Comment 4 Petr Pisar 2014-06-24 14:45:09 UTC
URL and Source0 are usable. Ok.
Source archive is original (SHA-256: 675b5fd8b1cfe62b13229f42e6282ce0d61c8fd4574af9a2c3aaad75617a6fc3). Ok.
Summary verified from lib/WWW/DuckDuckGo.pm. Ok.
Description verified from lib/WWW/DuckDuckGo.pm. Ok.

TODO: Capitalize the HTTPS and HTTP protocol names in the description.

License verified from README, lib/WWW/DuckDuckGo/Link.pm, lib/WWW/DuckDuckGo/ZeroClickInfo.pm, lib/WWW/DuckDuckGo/Icon.pm, lib/WWW/DuckDuckGo.pm, and LICENSE. Ok.
No XS code, noarch BuildArch is Ok.

TODO: Do not build-require `perl(Test::Pod)'. It's not used when running tests (t/release-pod-syntax.t:4).

All tests pass. Ok.

$ rpmlint  perl-WWW-DuckDuckGo.spec ../SRPMS/perl-WWW-DuckDuckGo-0.016-1.fc21.src.rpm ../RPMS/noarch/perl-WWW-DuckDuckGo-0.016-1.fc21.noarch.rpm 
perl-WWW-DuckDuckGo.src: W: spelling-error %description -l en_US https -> HTTP
perl-WWW-DuckDuckGo.src: W: spelling-error %description -l en_US http -> HTTP
perl-WWW-DuckDuckGo.noarch: W: spelling-error %description -l en_US https -> HTTP
perl-WWW-DuckDuckGo.noarch: W: spelling-error %description -l en_US http -> HTTP
2 packages and 1 specfiles checked; 0 errors, 4 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-WWW-DuckDuckGo-0.016-1.fc21.noarch.rpm 
drwxr-xr-x    2 root    root                        0 Jun 24 16:36 /usr/share/doc/perl-WWW-DuckDuckGo
-rw-r--r--    1 root    root                     1176 Dec 10  2013 /usr/share/doc/perl-WWW-DuckDuckGo/Changes
-rw-r--r--    1 root    root                    18440 Dec 10  2013 /usr/share/doc/perl-WWW-DuckDuckGo/LICENSE
-rw-r--r--    1 root    root                      328 Dec 10  2013 /usr/share/doc/perl-WWW-DuckDuckGo/README
-rw-r--r--    1 root    root                     2060 Jun 24 16:36 /usr/share/man/man3/WWW::DDG.3pm.gz
-rw-r--r--    1 root    root                     2883 Jun 24 16:36 /usr/share/man/man3/WWW::DuckDuckGo.3pm.gz
-rw-r--r--    1 root    root                     2513 Jun 24 16:36 /usr/share/man/man3/WWW::DuckDuckGo::Icon.3pm.gz
-rw-r--r--    1 root    root                     2525 Jun 24 16:36 /usr/share/man/man3/WWW::DuckDuckGo::Link.3pm.gz
-rw-r--r--    1 root    root                     3124 Jun 24 16:36 /usr/share/man/man3/WWW::DuckDuckGo::ZeroClickInfo.3pm.gz
drwxr-xr-x    2 root    root                        0 Jun 24 16:36 /usr/share/perl5/vendor_perl/WWW
-rw-r--r--    1 root    root                      706 Dec 10  2013 /usr/share/perl5/vendor_perl/WWW/DDG.pm
drwxr-xr-x    2 root    root                        0 Jun 24 16:36 /usr/share/perl5/vendor_perl/WWW/DuckDuckGo
-rw-r--r--    1 root    root                     5314 Dec 10  2013 /usr/share/perl5/vendor_perl/WWW/DuckDuckGo.pm
-rw-r--r--    1 root    root                     2029 Dec 10  2013 /usr/share/perl5/vendor_perl/WWW/DuckDuckGo/Icon.pm
-rw-r--r--    1 root    root                     2307 Dec 10  2013 /usr/share/perl5/vendor_perl/WWW/DuckDuckGo/Link.pm
-rw-r--r--    1 root    root                     7439 Dec 10  2013 /usr/share/perl5/vendor_perl/WWW/DuckDuckGo/ZeroClickInfo.pm
File permissions and layout is Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-WWW-DuckDuckGo-0.016-1.fc21.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(HTTP::Request)
      1 perl(JSON) >= 2.50
      1 perl(LWP::UserAgent)
      1 perl(Moo) >= 0.009007
      1 perl(URI) >= 1.58
      1 perl(URI::QueryParam)
      1 perl(WWW::DuckDuckGo::Icon)
      1 perl(WWW::DuckDuckGo::Link)
      1 perl(WWW::DuckDuckGo::ZeroClickInfo)
      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.

$ rpm -q --provides -p ../RPMS/noarch/perl-WWW-DuckDuckGo-0.016-1.fc21.noarch.rpm | sort -f | uniq -c
      1 perl(WWW::DDG) = 0.016
      1 perl(WWW::DuckDuckGo) = 0.016
      1 perl(WWW::DuckDuckGo::Icon) = 0.016
      1 perl(WWW::DuckDuckGo::Link) = 0.016
      1 perl(WWW::DuckDuckGo::ZeroClickInfo) = 0.016
      1 perl-WWW-DuckDuckGo = 0.016-1.fc21
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-WWW-DuckDuckGo-0.016-1.fc21.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F21 (http://koji.fedoraproject.org/koji/taskinfo?taskID=7071616).

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

Please consider fixing all `TODO' items before building the package.
Resolution: Package APPROVED.

Comment 5 David Dick 2014-06-25 11:26:22 UTC
TODOs fixed.  Thanks for the review Petr!

New Package SCM Request
=======================
Package Name: perl-WWW-DuckDuckGo
Short Description: Access to the DuckDuckGo APIs
Upstream URL: http://search.cpan.org/dist/WWW-DuckDuckGo/
Owners: ddick
Branches: f20
InitialCC: perl-sig

Comment 6 Gwyn Ciesla 2014-06-25 11:35:57 UTC
Git done (by process-git-requests).

Comment 7 Fedora Update System 2014-06-25 12:25:07 UTC
perl-WWW-DuckDuckGo-0.016-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/perl-WWW-DuckDuckGo-0.016-1.fc20

Comment 8 Fedora Update System 2014-06-26 01:55:42 UTC
perl-WWW-DuckDuckGo-0.016-1.fc20 has been pushed to the Fedora 20 testing repository.

Comment 9 Fedora Update System 2014-07-04 00:29:00 UTC
perl-WWW-DuckDuckGo-0.016-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.