[Bug 611372] Review Request: perl-Net-Twitter - Perl interface to Twitter

bugzilla at redhat.com bugzilla at redhat.com
Thu Mar 15 16:19:25 UTC 2012


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=611372

--- Comment #12 from Petr Ĺ abata <psabata at redhat.com> 2012-03-15 12:19:19 EDT ---
Package Review
==============

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


==== Generic ====
[x]: 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.
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[-]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
[x]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[-]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: 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.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if required.
[-]: 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.
[x]: MUST License field in the package spec file matches the actual license.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[!]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint output is silent.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/contyk/src/review/611372/Net-Twitter-3.18001.tar.gz :
  MD5SUM this package     : 88665d245f72b48ee87817edb5906d00
  MD5SUM upstream package : 88665d245f72b48ee87817edb5906d00
[x]: 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 a SysV-style init script if in need of one.
[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 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.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[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.
[x]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[-]: SHOULD Spec use %global instead of %define.

Issues:
TODO: There are several missing build dependencies. Although they're somehow
pulled in during the build now, it might not be the case in the future and they
should be added. Namely:
 - perl(base), perl(lib), perl(Carp), perl(Encode), perl(HTTP::Response),
perl(Net::Netrc), and perl(Time::HiRes)
 - perl(LWP::UserAgent) >= 5.819 (actually required in the code)

TODO: BuildRoot tag and, buildroot removal in %install and the %clean section
are all obsolete now and should be removed unless you plan to package this for
EPEL.

TODO: The same applies to %defattr in your $files section.

TODO: rpmbuild tries to detect perl dependencies these days so you don't have
to explicitly mention them in your Requires.  Actually, having them there adds
duplicates to the resulting RPM package dependencies.  Please, remove those
from your Requires:
 - perl(Data::Visitor::Callback), perl(Digest::SHA), perl(HTML::Entities),
perl(HTTP::Request::Common), perl(JSON), perl(List::Util),
perl(Moose::Exporter), perl(Moose::Role), perl(MooseX::Aliases),
perl(MooseX::Role::Parameterized), perl(Scalar::Util), and perl(URI::Escape).
 - You also list dependencies only needed for build, those should be removed
too: perl(Crypt::SSLeay) >= 0.5, perl(Digest::HMAC_SHA1), perl(File::Spec),
perl(LWP::UserAgent) >= 2.032
 - And finally, you should also remove underspecified autogenerated runtime
dependencies from the resulting RPM package if you require specific versions in
your package.  See
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering for
some info about this.  You'll have to filter the following: perl(DateTime),
perl(DateTime::Format::Strptime), perl(Devel::StackTrace), perl(Moose),
perl(Net::OAuth), perl(Try::Tiny), and perl(URI)

Those wouldn't normally block the review but since this is your first package,
I'd like to see those fixed before getting further.

Generated by fedora-review 0.2.0git
External plugins:

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the package-review mailing list