Bug 889262

Summary: Review Request: globus-gridmap-verify-myproxy-callout - Globus Toolkit - Globus gridmap myproxy callout
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: globus-gridmap-verify-myproxy-callout-1.0-4.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-02 03:27:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mattias Ellert 2012-12-20 16:13:33 UTC
Spec URL: http://www.grid.tsl.uu.se/review/globus-gridmap-verify-myproxy-callout.spec
SRPM URL: http://www.grid.tsl.uu.se/review/globus-gridmap-verify-myproxy-callout-1.0-1.fc17.src.rpm

Description:
The Globus Toolkit is an open source software toolkit used for building Grid
systems and applications. It is being developed by the Globus Alliance and
many others all over the world. A growing number of projects and companies are
using the Globus Toolkit to unlock the potential of grids for their cause.

The globus-gridmap-verify-myproxy-callout package contains:
Globus gridmap myproxy callout

This is a new package in Globus Toolkit 5.2.3.

Fedora Account System Username: ellert

Comment 2 Björn 'besser82' Esser 2013-06-07 13:29:34 UTC
fedora-review shows:

  Issues:
  =======
  - Development (unversioned) .so files in -devel subpackage, if present.
    Note: Unversioned so-files directly in %_libdir.
    See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages

Is this common on Globus Toolkit "plugins" or is the unversioned .so file needed for proper function, so an exeption from the guidelines applies?

#####

Rpmlint
-------
Checking: globus-gridmap-verify-myproxy-callout-1.0-2.fc20.x86_64.rpm
globus-gridmap-verify-myproxy-callout.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libglobus_gridmap_verify_myproxy_callout.so
1 packages and 0 specfiles checked; 0 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint globus-gridmap-verify-myproxy-callout
globus-gridmap-verify-myproxy-callout.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libglobus_gridmap_verify_myproxy_callout.so
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'

As above...

#####

There is BuildRoot-tag and %install rm -rf %{buildroot} in spec. but no %clean-section. If you want to package for el5 the %clean-target is mandatory, else remove BuildRoot-tag and rm -rf %{buildroot} from %install, please.

#####

Rest is fine, so I think fedora-review(+) can be given after we discussed the "unversioned .so file"-issue from above...

#####

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

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


Issues:
=======
- Development (unversioned) .so files in -devel subpackage, if present.
  Note: Unversioned so-files directly in %_libdir.
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[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.

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.
[?]: 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]: 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:
     "Apache (v2.0)", "Unknown or generated". 3 files have unknown license.
     Detailed output of licensecheck in
     /home/bjoern.esser/fedora/review/889262-globus-gridmap-verify-myproxy-
     callout/licensecheck.txt
[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.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 20480 bytes in 2 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]: Fully versioned dependency in subpackages, if present.
[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.
[x]: 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: globus-gridmap-verify-myproxy-callout-1.0-2.fc20.x86_64.rpm
globus-gridmap-verify-myproxy-callout.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libglobus_gridmap_verify_myproxy_callout.so
1 packages and 0 specfiles checked; 0 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint globus-gridmap-verify-myproxy-callout
globus-gridmap-verify-myproxy-callout.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libglobus_gridmap_verify_myproxy_callout.so
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
globus-gridmap-verify-myproxy-callout (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    config(globus-gridmap-verify-myproxy-callout)
    globus-common
    libc.so.6()(64bit)
    libglobus_common.so.0()(64bit)
    libglobus_common.so.0(GLOBUS_COMMON_14)(64bit)
    libglobus_gridmap_callout_error.so.0()(64bit)
    libglobus_gridmap_verify_myproxy_callout.so.0()(64bit)
    libglobus_gss_assist.so.3()(64bit)
    libglobus_gssapi_error.so.2()(64bit)
    libglobus_gssapi_gsi.so.4()(64bit)
    libglobus_gssapi_gsi.so.4(globus_gssapi_gsi)(64bit)
    rtld(GNU_HASH)



Provides
--------
globus-gridmap-verify-myproxy-callout:
    config(globus-gridmap-verify-myproxy-callout)
    globus-gridmap-verify-myproxy-callout
    globus-gridmap-verify-myproxy-callout(x86-64)
    libglobus_gridmap_verify_myproxy_callout.so.0()(64bit)



Unversioned so-files
--------------------
globus-gridmap-verify-myproxy-callout: /usr/lib64/libglobus_gridmap_verify_myproxy_callout.so

Source checksums
----------------
http://www.globus.org/ftppub/gt5/5.2/5.2.3/packages/src/globus_gridmap_verify_myproxy_callout-1.0.tar.gz :
  CHECKSUM(SHA256) this package     : a5ef2265c69807a619c8495841dc42a8809a28ed90309294818a3abf6f32fccb
  CHECKSUM(SHA256) upstream package : a5ef2265c69807a619c8495841dc42a8809a28ed90309294818a3abf6f32fccb


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 889262

Comment 3 Mattias Ellert 2013-06-13 13:22:10 UTC
Your comment about the .so file made me investigate the code more thoroughly.

As documented in the Packaging Guidelines Globus Toolkit plugins normally use lt_dlopen, and not dlopen. After looking more closely on the code it is clear that this is true also in this case. I have fixed the packaging accardingly.

Spec URL: http://www.grid.tsl.uu.se/review/globus-gridmap-verify-myproxy-callout.spec
SRPM URL: http://www.grid.tsl.uu.se/review/globus-gridmap-verify-myproxy-callout-1.0-3.fc18.src.rpm

So no more .so file, but .la file instead according to Guidelines:

http://fedoraproject.org/wiki/Packaging:Globus#Plugins

Comment 4 Björn 'besser82' Esser 2013-06-13 13:29:41 UTC
(In reply to Mattias Ellert from comment #3)
> So no more .so file, but .la file instead according to Guidelines:
> 
> http://fedoraproject.org/wiki/Packaging:Globus#Plugins

You probably should double-check your other globus-packages as well.

Just running new review...

Comment 5 Björn 'besser82' Esser 2013-06-13 13:37:24 UTC
Issue are fixed. Package is fine, now.

APPROVED!

Comment 6 Björn 'besser82' Esser 2013-06-13 20:56:25 UTC
Please remove arched-BRs, see:
https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_and_.25.7B_isa.7D

I'll grant review again afterwards.

Comment 7 Mattias Ellert 2013-07-19 04:55:09 UTC
Hi again

Sorry for the delay. I found this new guideline about banning isa from BR so extremely stupid that I thought I would make an attempt to have it revoked before deliberately crippling the spec file. Unfortunately FPC is not very responsive and my ticket just sits there without any action taken.

Anyway, this is a battle I will have to have with FPC and not with you, so here is a new version of the package complying to the new guideline:

Spec URL: http://www.grid.tsl.uu.se/review/globus-gridmap-verify-myproxy-callout.spec
SRPM URL: http://www.grid.tsl.uu.se/review/globus-gridmap-verify-myproxy-callout-1.0-4.fc19.src.rpm

Comment 8 Björn 'besser82' Esser 2013-07-19 08:56:17 UTC
Package is fine, now!  np, with the delay.  You're welcome.

So this is finally

APPROVED!

Comment 9 Mattias Ellert 2013-07-19 21:10:57 UTC
Thank you for the review.

New Package SCM Request
=======================
Package Name: globus-gridmap-verify-myproxy-callout
Short Description: Globus Toolkit - Globus gridmap myproxy callout
Owners: ellert
Branches: f18 f19 el5 el6
InitialCC:

Comment 10 Gwyn Ciesla 2013-07-22 09:53:53 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2013-07-22 13:03:50 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.el5,globus-gram-job-manager-lsf-1.1-3.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/globus-gridmap-verify-myproxy-callout-1.0-4.el5,globus-gram-job-manager-lsf-1.1-3.el5

Comment 12 Fedora Update System 2013-07-22 13:04:06 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.fc19,globus-gram-job-manager-lsf-1.1-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/globus-gridmap-verify-myproxy-callout-1.0-4.fc19,globus-gram-job-manager-lsf-1.1-3.fc19

Comment 13 Fedora Update System 2013-07-22 13:04:26 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.el6,globus-gram-job-manager-lsf-1.1-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/globus-gridmap-verify-myproxy-callout-1.0-4.el6,globus-gram-job-manager-lsf-1.1-3.el6

Comment 14 Fedora Update System 2013-07-22 13:04:50 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.fc18,globus-gram-job-manager-lsf-1.1-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/globus-gridmap-verify-myproxy-callout-1.0-4.fc18,globus-gram-job-manager-lsf-1.1-3.fc18

Comment 15 Fedora Update System 2013-07-22 21:46:08 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.el6, globus-gram-job-manager-lsf-1.1-3.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 16 Fedora Update System 2013-08-02 03:27:37 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.fc18, globus-gram-job-manager-lsf-1.1-3.fc18 has been pushed to the Fedora 18 stable repository.

Comment 17 Fedora Update System 2013-08-02 03:29:13 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.fc19, globus-gram-job-manager-lsf-1.1-3.fc19 has been pushed to the Fedora 19 stable repository.

Comment 18 Fedora Update System 2013-08-06 17:15:58 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.el5, globus-gram-job-manager-lsf-1.1-3.el5 has been pushed to the Fedora EPEL 5 stable repository.

Comment 19 Fedora Update System 2013-08-06 17:16:28 UTC
globus-gridmap-verify-myproxy-callout-1.0-4.el6, globus-gram-job-manager-lsf-1.1-3.el6 has been pushed to the Fedora EPEL 6 stable repository.