Bug 877765

Summary: Review Request: perl-Math-Libm - Perl extension for the C math library, libm
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: Package ReviewAssignee: Jitka Plesnikova <jplesnik>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jplesnik, mi, notting, package-review, psabata
Target Milestone: ---Flags: jplesnik: fedora‑review+
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-25 23:51:20 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 876928    

Description Miro Hrončok 2012-11-18 11:00:05 EST
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Math-Libm.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Math-Libm-1.00-4.fc17.src.rpm

This module is a translation of the C math.h file. It exports the following
selected constants and functions:
acos acosh asin asinh atan atanh cbrt ceil cosh
erf erfc expm1 floor hypot j0 j1 jn lgamma_r
log10 log1p pow rint sinh tan tanh y0 y1 yn

Fedora Account System Username: churchyard
Comment 2 Jitka Plesnikova 2012-12-12 02:58:05 EST
Package Review

[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated

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

[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[ ]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[-]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: Package complies to the Packaging Guidelines
[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]: License field in the package spec file matches the actual license.
[x]: Package consistently uses macro is (instead of hard-coded directory
[-]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package do not use a name that already exist
[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]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[-]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
[x]: Packages must not store files under /srv, /opt or /usr/local

[!]: Package contains the mandatory BuildRequires and Requires:.
[x]: CPAN urls should be non-versioned.

===== SHOULD items =====

[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
[x]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
[-]: Package functions as described.
[x]: Latest version is packaged.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (Math-Libm-1.00.tar.gz) Source1 (Math-Libm-license.txt)
[x]: SourceX is a working URL.
[-]: 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
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

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

[x]: Spec file according to URL is the same as in SRPM.
$ rpm -qp --requires perl-Math-Libm-1.00-5.fc19.x86_64.rpm |sort | uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libm.so.6()(64bit)
      1 libm.so.6(GLIBC_2.2.5)(64bit)
      1 perl(:MODULE_COMPAT_5.16.2)
      1 perl(AutoLoader)
      1 perl(Carp)
      1 perl(DynaLoader)
      1 perl(Exporter)
      1 perl(strict)
      1 perl(vars)
      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
      1 rtld(GNU_HASH)
Binary requires are ok.

$ rpm -qp --provides perl-Math-Libm-1.00-5.fc19.x86_64.rpm |sort | uniq -c
      1 perl(Math::Libm) = 1.00
      1 perl-Math-Libm = 1.00-5.fc19
      1 perl-Math-Libm(x86-64) = 1.00-5.fc19
Binary provides are ok.

MD5-sum check
http://www.cpan.org/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz :
  CHECKSUM(SHA256) this package     : bfd309f283ac8cb9bf00af8c7c3a10bf25abfd642861c2022efaff0a4a52c276
  CHECKSUM(SHA256) upstream package : bfd309f283ac8cb9bf00af8c7c3a10bf25abfd642861c2022efaff0a4a52c276
https://raw.github.com/hroncok/RPMAdditionalSources/master/Math-Libm-license.txt :
  CHECKSUM(SHA256) this package     : df6094b2d0f68886fe272088f6993823e8d6defd5a0870edef52c722eb2c18e8
  CHECKSUM(SHA256) upstream package : df6094b2d0f68886fe272088f6993823e8d6defd5a0870edef52c722eb2c18e8

FIX: Add missing BRs
perl(AutoLoader) - ./Libm.pm
perl(Carp) - ./Libm.pm:5
perl(Exporter) - ./Libm.pm:8
FIX: Put the license file to git repository instead of downloading from your github (like at perl-PDF-Create)

TODO: Replace variable PERL_INSTALL_ROOT obsoleted with DESTDIR name in %install.
TODO: Remove the deleting empty directories in %install section. This is default behavior.

Please correct all 'FIX' issues, consider fixing 'TODO' items and provide new spec file.
Comment 3 Miro Hrončok 2012-12-12 13:31:16 EST
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Math-Libm.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Math-Libm-1.00-6.fc17.src.rpm

- License file without URL
- Added more BRs
- Removed the deleting empty directories
Comment 4 Jitka Plesnikova 2012-12-17 04:10:25 EST
Spec file changes:

-Source1:        https://raw.github.com/hroncok/RPMAdditionalSources/master/Math-Libm-license.txt
+Source1:        Math-Libm-license.txt
> FIX: Put the license file to git repository instead of downloading from your 
> github (like at perl-PDF-Create)

+BuildRequires:  perl(AutoLoader)
+BuildRequires:  perl(Carp)
+BuildRequires:  perl(Exporter)
> FIX: Add missing BRs

-make pure_install PERL_INSTALL_ROOT=%{buildroot}
+make pure_install DESTDIR=%{buildroot}
> TODO: Replace variable PERL_INSTALL_ROOT obsoleted with DESTDIR name 
> in %install.

-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;
> TODO: Remove the deleting empty directories in %install section. This is 
> default behavior.

Comment 5 Miro Hrončok 2012-12-17 07:49:35 EST
New Package SCM Request
Package Name: perl-Math-Libm
Short Description: Perl extension for the C math library, libm
Owners: churchyard
Branches: f17 f18
Comment 6 Jon Ciesla 2012-12-17 08:11:59 EST
Git done (by process-git-requests).
Comment 7 Fedora Update System 2012-12-17 08:43:20 EST
perl-Math-Libm-1.00-6.fc18 has been submitted as an update for Fedora 18.
Comment 8 Fedora Update System 2012-12-17 08:44:25 EST
perl-Math-Libm-1.00-6.fc17 has been submitted as an update for Fedora 17.
Comment 9 Fedora Update System 2012-12-17 13:29:11 EST
perl-Math-Libm-1.00-6.fc18 has been pushed to the Fedora 18 testing repository.
Comment 10 Fedora Update System 2012-12-25 23:51:23 EST
perl-Math-Libm-1.00-6.fc17 has been pushed to the Fedora 17 stable repository.
Comment 11 Petr Šabata 2013-01-02 05:00:27 EST
Package Change Request
Package Name: perl-Math-Libm
Branches: f17 f18
InitialCC: perl-sig

Please add perl-sig user with watch* permissions only to all Fedora branches.
Comment 12 Jon Ciesla 2013-01-02 09:36:43 EST
Comment 13 Fedora Update System 2013-01-11 20:21:33 EST
perl-Math-Libm-1.00-6.fc18 has been pushed to the Fedora 18 stable repository.