Bug 877275

Summary: Review Request: lhapdf - Les Houches Accord PDF Interface
Product: [Fedora] Fedora Reporter: Mattias Ellert <mattias.ellert>
Component: Package ReviewAssignee: Björn 'besser82' Esser <besser82>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: besser82, notting, package-review
Target Milestone: ---Flags: besser82: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: pythia8-8.1.76-3.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-31 11:56:09 UTC 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: 877607    

Description Mattias Ellert 2012-11-16 06:10:06 UTC
Spec URL: http://grid.tsl.uu.se/review/lhapdf.spec
SRPM URL: http://grid.tsl.uu.se/review/lhapdf-5.8.8-1.fc17.src.rpm

Description:
LHAPDF provides a unified and easy to use interface to modern PDF
sets. It is designed to work not only with individual PDF sets but
also with the more recent multiple "error" sets. It can be viewed as
the successor to PDFLIB, incorporating many of the older sets found in
the latter, including pion and photon PDFs. In LHAPDF the computer
code and input parameters/grids are separated thus allowing more easy
updating and no limit to the expansion possibilities.

Fedora Account System Username: ellert

Comment 1 Robin Lee 2012-11-16 06:56:55 UTC
*** Bug 877276 has been marked as a duplicate of this bug. ***

Comment 2 Mattias Ellert 2013-05-18 09:07:49 UTC
New upstream version:

Spec URL: http://grid.tsl.uu.se/review/lhapdf.spec
SRPM URL: http://grid.tsl.uu.se/review/lhapdf-5.8.9-1.fc18.src.rpm

Comment 3 Björn 'besser82' Esser 2013-05-20 15:33:25 UTC
### rpmlint shows:

Rpmlint
-------
Checking: lhapdf-5.8.9-1.fc20.x86_64.rpm
          lhapdf-devel-5.8.9-1.fc20.x86_64.rpm
          lhapdf-pdfsets-minimal-5.8.9-1.fc20.noarch.rpm
          lhapdf-doc-5.8.9-1.fc20.noarch.rpm
lhapdf.x86_64: W: spelling-error %description -l en_US pion -> pin, ion, pinon
lhapdf.x86_64: E: incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
lhapdf-pdfsets-minimal.noarch: W: spelling-error %description -l en_US getdata -> get data, get-data, vegetate
lhapdf-pdfsets-minimal.noarch: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 3 warnings.

incorrect-fsf-address --> Consider contacting upstream and ask for including lastest GPLv2-revision. (non-blocker, nice to have in next version...)


Rpmlint (installed packages)
----------------------------
# rpmlint lhapdf-devel lhapdf-doc lhapdf lhapdf-pdfsets-minimal
lhapdf.x86_64: W: spelling-error %description -l en_US pion -> pin, ion, pinon
lhapdf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libLHAPDF.so.0.0.0 /lib64/libquadmath.so.0
lhapdf.x86_64: E: incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
lhapdf-pdfsets-minimal.noarch: W: spelling-error %description -l en_US getdata -> get data, get-data, vegetate
lhapdf-pdfsets-minimal.noarch: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 4 warnings.

unused-direct-shlib-dependency on libquadmath.so.0 --> adding some sed-magic as seen on https://fedoraproject.org/wiki/Common_Rpmlint_issues#unused-direct-shlib-dependency in spec-file might help.


### looking over spec-file:

 Patch2:		%{name}-fix-typo.patch
 Patch3:		%{name}-path-max.patch

-BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	octave-devel
 BuildRequires:	ncurses-devel

BuildRoot is obsoleted and only needed for EPEL <= 5. See: http://fedoraproject.org/wiki/How_to_create_an_RPM_package#SPEC_file_overview

 %install
-rm -rf %{buildroot}
-make install DESTDIR=%{buildroot}
+%make_install

`%make_install` handles this like DESTDIR itself. `rm -rf %{buildroot}` in %install (%clean as well) is obsoleted on F >= 10 && EPEL >= 6

Upstream Makefile seems to provide a check-target. Why don't you use it? http://fedoraproject.org/wiki/How_to_create_an_RPM_package#.25check_section

 %build
 ...

+%check
+make check
+
 %install


### Full review report:


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in lhapdf-
     devel , lhapdf-pdfsets-minimal , lhapdf-doc
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 133120 bytes in 23 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Each %files section contains %defattr if rpm < 4.4
[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]: 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 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
[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).

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

Generic:
[!]: Buildroot is not present
     Note: Buildroot: present but not needed
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[-]: 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
     architectures.
[!]: %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]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[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: lhapdf-5.8.9-1.fc20.x86_64.rpm
          lhapdf-devel-5.8.9-1.fc20.x86_64.rpm
          lhapdf-pdfsets-minimal-5.8.9-1.fc20.noarch.rpm
          lhapdf-doc-5.8.9-1.fc20.noarch.rpm
lhapdf.x86_64: W: spelling-error %description -l en_US pion -> pin, ion, pinon
lhapdf.x86_64: E: incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
lhapdf-pdfsets-minimal.noarch: W: spelling-error %description -l en_US getdata -> get data, get-data, vegetate
lhapdf-pdfsets-minimal.noarch: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint lhapdf-devel lhapdf-doc lhapdf lhapdf-pdfsets-minimal
lhapdf.x86_64: W: spelling-error %description -l en_US pion -> pin, ion, pinon
lhapdf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libLHAPDF.so.0.0.0 /lib64/libquadmath.so.0
lhapdf.x86_64: E: incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
lhapdf-pdfsets-minimal.noarch: W: spelling-error %description -l en_US getdata -> get data, get-data, vegetate
lhapdf-pdfsets-minimal.noarch: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 4 warnings.
# echo 'rpmlint-done:'



Requires
--------
lhapdf-devel (rpmlib, GLIBC filtered):
    /usr/bin/env
    lhapdf
    libLHAPDF.so.0()(64bit)

lhapdf-doc (rpmlib, GLIBC filtered):

lhapdf (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgfortran.so.3()(64bit)
    libgfortran.so.3(GFORTRAN_1.0)(64bit)
    libgfortran.so.3(GFORTRAN_1.4)(64bit)
    libm.so.6()(64bit)
    libquadmath.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

lhapdf-pdfsets-minimal (rpmlib, GLIBC filtered):



Provides
--------
lhapdf-devel:
    lhapdf-devel
    lhapdf-devel(x86-64)

lhapdf-doc:
    lhapdf-doc

lhapdf:
    lhapdf
    lhapdf(x86-64)
    libLHAPDF.so.0()(64bit)

lhapdf-pdfsets-minimal:
    lhapdf-pdfsets-minimal



Source checksums
----------------
http://www.hepforge.org/archive/lhapdf/pdfsets/current/cteq6ll.LHpdf :
  CHECKSUM(SHA256) this package     : a3c6bd1ebea30f75fa23fa94922ba281872a66e59465b61f73a0f3629c2b5c03
  CHECKSUM(SHA256) upstream package : a3c6bd1ebea30f75fa23fa94922ba281872a66e59465b61f73a0f3629c2b5c03
http://www.hepforge.org/archive/lhapdf/pdfsets/current/cteq61.LHgrid :
  CHECKSUM(SHA256) this package     : d384a9edd4534d1ca70ea940234fd0286229337083ef5869edf432bac6083dfe
  CHECKSUM(SHA256) upstream package : d384a9edd4534d1ca70ea940234fd0286229337083ef5869edf432bac6083dfe
http://www.hepforge.org/archive/lhapdf/lhapdf-5.8.9.tar.gz :
  CHECKSUM(SHA256) this package     : b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c
  CHECKSUM(SHA256) upstream package : b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c
http://www.hepforge.org/archive/lhapdf/pdfsets/current/cteq5l.LHgrid :
  CHECKSUM(SHA256) this package     : 7fa7fa00a85e90c1464dcad2f86e71af3efaad85332d9d7cacdfbd365d9aedf7
  CHECKSUM(SHA256) upstream package : 7fa7fa00a85e90c1464dcad2f86e71af3efaad85332d9d7cacdfbd365d9aedf7
http://www.hepforge.org/archive/lhapdf/pdfsets/current/MRST2001nlo.LHgrid :
  CHECKSUM(SHA256) this package     : 7ec031afa2bd254b95b66b3058291365091f58b48e4be2b368e61fc170c51d58
  CHECKSUM(SHA256) upstream package : 7ec031afa2bd254b95b66b3058291365091f58b48e4be2b368e61fc170c51d58
http://www.hepforge.org/archive/lhapdf/pdfsets/current/CT10.LHgrid :
  CHECKSUM(SHA256) this package     : edd17727b3fbb93f2f1153f219ace7dc18d52eacae27d37a7e123ca4552d2b80
  CHECKSUM(SHA256) upstream package : edd17727b3fbb93f2f1153f219ace7dc18d52eacae27d37a7e123ca4552d2b80
http://www.hepforge.org/archive/lhapdf/pdfsets/current/GRV98nlo.LHgrid :
  CHECKSUM(SHA256) this package     : 78e7b133ac1f1d5576aa688f98adb8b6e29feb15cbb58556c860cb7e183da647
  CHECKSUM(SHA256) upstream package : 78e7b133ac1f1d5576aa688f98adb8b6e29feb15cbb58556c860cb7e183da647


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 877275


Fix spec-file and issue with unused-direct-shlib-dependency and I'll give fedora-review(+)

Comment 4 Michael Schwendt 2013-05-20 15:45:58 UTC
* https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package


> sed 's!/usr/bin/env python!/usr/bin/python!' -i bin/lhapdf-*

contradicts with

> Requires
> --------
> lhapdf-devel (rpmlib, GLIBC filtered):
>     /usr/bin/env

It's likely one of the installed %{_bindir}/lhapdf-* files that still causes this dependency. Investigation needed.

Comment 5 Björn 'besser82' Esser 2013-05-20 16:09:17 UTC
(In reply to Michael Schwendt from comment #4)
> * https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

Thanks! I almost overlooked that during my review.

So Requires for sub-pkgs should be:

--> Requires: %{name}%{?_isa} = %{version}-%{release}
 
> sed 's!/usr/bin/env python!/usr/bin/python!' -i bin/lhapdf-*

--> sed 's!/usr/bin/env python!/usr/bin/python!' -i bin/lhapdf-* examples/*.py

> It's likely one of the installed %{_bindir}/lhapdf-* files that still causes
> this dependency. Investigation needed.

No, it's the py-scripts provided as examples for %doc.

Comment 6 Mattias Ellert 2013-05-22 19:47:20 UTC
Thank you for your comments. Many of the issues you bring up are valid for packages intended for Fedora only. This package is intended to be built also for EPEL 5 and later. Some of the changes you suggest requires an rpm version newer than the one in RHEL 5 or relies on macros that are not defined in older rpm versions.

(In reply to Björn Esser from comment #3)

> unused-direct-shlib-dependency on libquadmath.so.0 --> adding some sed-magic
> as seen on
> https://fedoraproject.org/wiki/Common_Rpmlint_issues#unused-direct-shlib-
> dependency in spec-file might help.

Added.

> -BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Buildroot is needed for EPEL 5.

>  %install
> -rm -rf %{buildroot}

Necessary for EPEL5

> -make install DESTDIR=%{buildroot}
> +%make_install

Using the %make_install macro is not mandatory according to guidelines. The guidelines say: "Fedora packages should use: %make_install, make DESTDIR=%{buildroot} install or make DESTDIR=$RPM_BUILD_ROOT install. Those all do the same thing." So any of the three is allowed. I prefer not using the %make_install macro for clarity. In addition the %make_install macro is undefined on RHEL 5, so if the package should build for EPEL 5 any of the other two ways must be used.

> +%check
> +make check

This was already there

> [!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
>      beginning of %install.
>      Note: rm -rf %{buildroot} present but not required

This is needed for EPEL 5

> [!]: Buildroot is not present

This is needed for EPEL 5

> [!]: Final provides and requires are sane (see attachments).

Added %{?_isa} to dependencies where appropriate
Added dependencies on main package to -pdfsets-minimal and -doc 

(In reply to Björn Esser from comment #5)

> --> Requires: %{name}%{?_isa} = %{version}-%{release}

Added %{?_isa} to dependencies where appropriate (i.e. not for noarch sub-packages)

> --> sed 's!/usr/bin/env python!/usr/bin/python!' -i bin/lhapdf-*
> examples/*.py

Fixed. There was also an "/usr/bin/env bash" that needed fixing.

Updated package:

Spec URL: http://grid.tsl.uu.se/review/lhapdf.spec
SRPM URL: http://grid.tsl.uu.se/review/lhapdf-5.8.9-2.fc18.src.rpm

Comment 7 Björn 'besser82' Esser 2013-05-30 11:25:18 UTC
Review revealed:

BLOCKERS:

  * pdfsets-minimal && pdfsets-minimal

    ---> Requires: %{name} = %{version}-%{release} \
         != \
         Requires: %{name}%{?_isa} = %{version}-%{release}

NON-BLOCKERS:

  * incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
    Ask upstream to update to new revision of GPLv2+-License.

  * el5 legacy-stuff ( RECOMMENDATION / SUGGESTION )
    I'd start using conditionals or expansions for el5-lagacy in spec-files
    like these examples:

      %{?el5:BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}- \
      %{release}-XXXXXX)}
      ...
      %install
      %if 0%{?el5}
        make install DESTDIR="%{buildroot}"
      %else
        %make_install
      %endif
      ...
      %clean
      %{?el5:rm -rf "%{buildroot}"}

    for the following reasons:

      - Stuff only needed for el5 will be ommited on other dists.

      - The reviewer can see clearly you are going to pkg for el5, too.

      - The reviewer sees you are familiar with pkg-guidelines and the needed
        legacy-exceptions for el5.

      - You won't run into possible trouble, e.g. FTBFS, when someday these
        legacy-needs are forbidden to be in spec-file and will cause
        mock/rpmbuild-errors.


Fix the BLOCKERS (and, on your oppinion, apply recommendations) and I'll give fedora-review(+).

The Rest is fine:


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[ ]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[x]: 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.
[x]: Package is not known to require ExcludeArch.
[!]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in lhapdf-
     pdfsets-minimal , lhapdf-doc
[x]: Package complies to the 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". 114 files have unknown license. Detailed output
     of licensecheck in
     /home/bjoern.esser/fedora/review/877275-lhapdf/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[!]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 133120 bytes in 23 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Each %files section contains %defattr if rpm < 4.4
[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]: 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 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
[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).

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

Generic:
[ ]: Buildroot is not present
     Note: Buildroot: present but not needed
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[-]: 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
     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]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[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: lhapdf-5.8.9-2.fc20.x86_64.rpm
          lhapdf-devel-5.8.9-2.fc20.x86_64.rpm
          lhapdf-pdfsets-minimal-5.8.9-2.fc20.noarch.rpm
          lhapdf-doc-5.8.9-2.fc20.noarch.rpm
lhapdf.x86_64: W: spelling-error %description -l en_US pion -> pin, ion, pinon
lhapdf.x86_64: E: incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
lhapdf-pdfsets-minimal.noarch: W: spelling-error %description -l en_US getdata -> get data, get-data, vegetate
lhapdf-pdfsets-minimal.noarch: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint lhapdf-devel lhapdf-doc lhapdf lhapdf-pdfsets-minimal
lhapdf.x86_64: W: spelling-error %description -l en_US pion -> pin, ion, pinon
lhapdf.x86_64: E: incorrect-fsf-address /usr/share/doc/lhapdf-5.8.9/COPYING
lhapdf-pdfsets-minimal.noarch: W: spelling-error %description -l en_US getdata -> get data, get-data, vegetate
lhapdf-pdfsets-minimal.noarch: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
lhapdf-devel (rpmlib, GLIBC filtered):
    /bin/bash
    lhapdf(x86-64)
    libLHAPDF.so.0()(64bit)

lhapdf-doc (rpmlib, GLIBC filtered):
    lhapdf

lhapdf (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgfortran.so.3()(64bit)
    libgfortran.so.3(GFORTRAN_1.0)(64bit)
    libgfortran.so.3(GFORTRAN_1.4)(64bit)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

lhapdf-pdfsets-minimal (rpmlib, GLIBC filtered):
    lhapdf



Provides
--------
lhapdf-devel:
    lhapdf-devel
    lhapdf-devel(x86-64)

lhapdf-doc:
    lhapdf-doc

lhapdf:
    lhapdf
    lhapdf(x86-64)
    libLHAPDF.so.0()(64bit)

lhapdf-pdfsets-minimal:
    lhapdf-pdfsets-minimal



Source checksums
----------------
http://www.hepforge.org/archive/lhapdf/pdfsets/current/cteq6ll.LHpdf :
  CHECKSUM(SHA256) this package     : a3c6bd1ebea30f75fa23fa94922ba281872a66e59465b61f73a0f3629c2b5c03
  CHECKSUM(SHA256) upstream package : a3c6bd1ebea30f75fa23fa94922ba281872a66e59465b61f73a0f3629c2b5c03
http://www.hepforge.org/archive/lhapdf/pdfsets/current/cteq61.LHgrid :
  CHECKSUM(SHA256) this package     : d384a9edd4534d1ca70ea940234fd0286229337083ef5869edf432bac6083dfe
  CHECKSUM(SHA256) upstream package : d384a9edd4534d1ca70ea940234fd0286229337083ef5869edf432bac6083dfe
http://www.hepforge.org/archive/lhapdf/lhapdf-5.8.9.tar.gz :
  CHECKSUM(SHA256) this package     : b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c
  CHECKSUM(SHA256) upstream package : b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c
http://www.hepforge.org/archive/lhapdf/pdfsets/current/cteq5l.LHgrid :
  CHECKSUM(SHA256) this package     : 7fa7fa00a85e90c1464dcad2f86e71af3efaad85332d9d7cacdfbd365d9aedf7
  CHECKSUM(SHA256) upstream package : 7fa7fa00a85e90c1464dcad2f86e71af3efaad85332d9d7cacdfbd365d9aedf7
http://www.hepforge.org/archive/lhapdf/pdfsets/current/MRST2001nlo.LHgrid :
  CHECKSUM(SHA256) this package     : 7ec031afa2bd254b95b66b3058291365091f58b48e4be2b368e61fc170c51d58
  CHECKSUM(SHA256) upstream package : 7ec031afa2bd254b95b66b3058291365091f58b48e4be2b368e61fc170c51d58
http://www.hepforge.org/archive/lhapdf/pdfsets/current/CT10.LHgrid :
  CHECKSUM(SHA256) this package     : edd17727b3fbb93f2f1153f219ace7dc18d52eacae27d37a7e123ca4552d2b80
  CHECKSUM(SHA256) upstream package : edd17727b3fbb93f2f1153f219ace7dc18d52eacae27d37a7e123ca4552d2b80
http://www.hepforge.org/archive/lhapdf/pdfsets/current/GRV98nlo.LHgrid :
  CHECKSUM(SHA256) this package     : 78e7b133ac1f1d5576aa688f98adb8b6e29feb15cbb58556c860cb7e183da647
  CHECKSUM(SHA256) upstream package : 78e7b133ac1f1d5576aa688f98adb8b6e29feb15cbb58556c860cb7e183da647


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 877275

Comment 8 Mattias Ellert 2013-05-31 09:17:59 UTC
(In reply to Björn Esser from comment #7)
> Review revealed:
> 
> BLOCKERS:
> 
>   * pdfsets-minimal && pdfsets-doc
> 
>     ---> Requires: %{name} = %{version}-%{release} \
>          != \
>          Requires: %{name}%{?_isa} = %{version}-%{release}

Incorrect. Noarch subpackages must never have %{?_isa} dependencies. Noarch packages must be installable on any architecture.

> NON-BLOCKERS:
> 
>   * el5 legacy-stuff ( RECOMMENDATION / SUGGESTION )
>     I'd start using conditionals or expansions for el5-lagacy in spec-files
>     like these examples:

I disagree with you on this point. Conditionals are great where they are needed in order to make a difference. But if used solely to exclude lines that would be ignored or have no effect they just add clutter that makes the specfile harder to read. I would not call RHEL5 legacy since it is an actively maintained ditribution. RHEL4 is legacy.

The additional lines needed for EPEL5 will be removed when RHEL5 is EOL, just as additional lines for EPEL4 are being removed when packages are updated now that RHEL4 is EOL.

Comment 9 Björn 'besser82' Esser 2013-05-31 11:56:09 UTC
For what reason does pdfsets-doc require %{name} = %{version}-%{release}? Just for COPYING? Wouldn't it be easier to get rid of that dep adding %doc COPYING to -doc?

With pdfsets-minimal you're right; I missed that "noarch"-part. ;)
Is this needed for using the lib or just some extra goodies?

The EPEL5-stuff was just some suggestion...

So it's up to you squashing these minor stuff on SCM.

This one is

APPROVED!

Comment 10 Mattias Ellert 2013-06-01 10:26:34 UTC
Thank you for the review.

New Package SCM Request
=======================
Package Name: lhapdf
Short Description: Les Houches Accord PDF Interface
Owners: ellert
Branches: f18 f19 el5 el6
InitialCC: ellert

Comment 11 Gwyn Ciesla 2013-06-03 10:14:46 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2013-06-06 11:40:31 UTC
pythia8-8.1.76-3.el6,HepMC-2.06.09-3.el6,lhapdf-5.8.9-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/pythia8-8.1.76-3.el6,HepMC-2.06.09-3.el6,lhapdf-5.8.9-3.el6

Comment 13 Fedora Update System 2013-06-06 11:41:07 UTC
pythia8-8.1.76-3.fc18,HepMC-2.06.09-3.fc18,lhapdf-5.8.9-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/pythia8-8.1.76-3.fc18,HepMC-2.06.09-3.fc18,lhapdf-5.8.9-3.fc18

Comment 14 Fedora Update System 2013-06-06 11:41:34 UTC
pythia8-8.1.76-3.el5,HepMC-2.06.09-3.el5,lhapdf-5.8.9-3.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/pythia8-8.1.76-3.el5,HepMC-2.06.09-3.el5,lhapdf-5.8.9-3.el5

Comment 15 Fedora Update System 2013-06-06 11:41:56 UTC
pythia8-8.1.76-3.fc19,HepMC-2.06.09-3.fc19,lhapdf-5.8.9-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/pythia8-8.1.76-3.fc19,HepMC-2.06.09-3.fc19,lhapdf-5.8.9-3.fc19

Comment 16 Fedora Update System 2013-06-15 03:10:04 UTC
pythia8-8.1.76-3.fc19, HepMC-2.06.09-3.fc19, lhapdf-5.8.9-3.fc19 has been pushed to the Fedora 19 stable repository.

Comment 17 Fedora Update System 2013-06-16 05:34:10 UTC
pythia8-8.1.76-3.fc18, HepMC-2.06.09-3.fc18, lhapdf-5.8.9-3.fc18 has been pushed to the Fedora 18 stable repository.

Comment 18 Fedora Update System 2013-06-21 19:38:30 UTC
pythia8-8.1.76-3.el6, HepMC-2.06.09-3.el6, lhapdf-5.8.9-3.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 19 Fedora Update System 2013-06-21 19:39:01 UTC
pythia8-8.1.76-3.el5, HepMC-2.06.09-3.el5, lhapdf-5.8.9-3.el5 has been pushed to the Fedora EPEL 5 stable repository.