Bug 768174 - Review Request: srm-ifce - Storage Resources Manager client implementation
Review Request: srm-ifce - Storage Resources Manager client implementation
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Pierre-YvesChibon
Fedora Extras Quality Assurance
https://svnweb.cern.ch/trac/lcgutil/wiki
:
: 768171 768173 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-12-15 17:44 EST by Adrien Devresse
Modified: 2013-10-19 10:42 EDT (History)
5 users (show)

See Also:
Fixed In Version: srm-ifce-1.12.2-10.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-01-18 04:51:54 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
pingou: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Adrien Devresse 2011-12-15 17:44:30 EST
Spec URL: https://firwen.org/redmine/attachments/download/6/srm-ifce.spec
SRPM URL: https://firwen.org/redmine/attachments/download/5/srm-ifce-1.12-1.src.rpm
Description: SRM interface is an open source implementation of the SRM ( Storage Resources Manager, https://sdm.lbl.gov/srm-wg/doc/SRM.v2.2.html ) specification for the distributed storage management.
This implementation is used at CERN in several client side tools for files management. ( https://svnweb.cern.ch/trac/lcgutil/wiki )
Comment 1 Adrien Devresse 2011-12-15 17:48:24 EST
spec file and SRPMs uploaded on my personnal server
Comment 2 Adrien Devresse 2011-12-15 17:58:09 EST
Koji scratch build : http://koji.fedoraproject.org/koji/taskinfo?taskID=3587730

rpmlint  *.rpm
srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
4 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 3 Pierre-YvesChibon 2011-12-16 04:14:31 EST
After a quick look, if you are not planning an EPEL5 branch, you can remove the Group and %clean section.
Comment 4 Adrien Devresse 2011-12-16 04:25:35 EST
Hi,

In fact, the finality is to apply for EPEL5 & EPEL6, but I do not know if my bugzilla ticket is correct for this.

Thank you :)
Comment 5 Pierre-YvesChibon 2011-12-16 04:51:30 EST
It is the right way, thanks for the precision.
Comment 6 Mohamed El Morabity 2011-12-16 07:45:41 EST
*** Bug 768171 has been marked as a duplicate of this bug. ***
Comment 7 Mohamed El Morabity 2011-12-16 07:45:56 EST
*** Bug 768173 has been marked as a duplicate of this bug. ***
Comment 8 Mohamed El Morabity 2011-12-16 07:58:19 EST
The %{_isa} suffix on BuildRequires packages is useless, please remove it on each BuildRequires.

globus-gssapi-gsi-devel is already required by globus-gss-assist-devel. As well, gsoap-devel is required by CGSI-gSOAP-devel. So you can remove globus-gssapi-gsi-devel and  gsoap-devel from the BuildRequires.

On your devel subpackage:
   Requires:	srm-ifce >= %{version}-%{release}
No. You can't require a superior version of srm-ifce for your devel package, especially in case of API breaks in the next versions.
See http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package to fix it.

%{_datadir}/doc/srm-access-library-for-lcg_util/ doesn't seem to me a canonic place to install documentation files. If you don't want/can't fix the code to put them elsewhere, you should remove them in %install and use the %doc macro to install them in %{_docdir}/%{name}-%{version}/ automatically.
Comment 9 Mohamed El Morabity 2011-12-16 08:01:10 EST
I forgot this point: we have guidelines for buiding packages with cmake, please consider theme
   http://fedoraproject.org/wiki/Packaging:Cmake
Comment 10 Adrien Devresse 2011-12-16 08:36:40 EST
Ok, thank you for this fast response.

I updated the spec files and the SRPMS considering your comments :

Spec URL: https://firwen.org/redmine/attachments/download/11/srm-ifce.spec
SRPM URL: https://firwen.org/redmine/attachments/download/12/srm-ifce-1.12-2.src.rpm

rpmlint : RPMS check ...
srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
4 packages and 0 specfiles checked; 0 errors, 1 warnings.
end RPMS check....
Comment 11 Adrien Devresse 2011-12-16 11:10:23 EST
I did a new update of the spec file with the usage of %{_docdir} macro :

Spec URL : https://firwen.org/redmine/data/docs/specs/srm-ifce.spec
SRPM URL : https://firwen.org/redmine/data/docs/specs/srm-ifce-1.12-2.src.rpm

rpmlint : srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
4 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 12 Pierre-YvesChibon 2012-01-04 10:47:50 EST
I believe the following files should be marked as %doc:
%{_docdir}/srm-ifce/LICENSE
%{_docdir}/srm-ifce/RELEASE-NOTES
%{_docdir}/srm-ifce/VERSION

Out of curiosity, is there a reason for the README to be in the -devel package?

Good practices tend to leave an empty line between each entry in the changelog (entry as in release entry, not every other line).


That all I can see with a quick glance to the spec.
Comment 13 Mohamed El Morabity 2012-01-04 11:19:35 EST
(In reply to comment #12)
> I believe the following files should be marked as %doc:
> %{_docdir}/srm-ifce/LICENSE
> %{_docdir}/srm-ifce/RELEASE-NOTES
> %{_docdir}/srm-ifce/VERSION
It's useless since any file installed in %{_docdir} is automatically tagged as %doc.

By the way, documentation files are usually installed in %{_docdir}/%{name}-%{version} (this is where the %doc macro installs standalone documentation files), even if it's not mandatory (there is no explicit guidelines about this).
Is there anyway a way to set through cmake the installation path of documentation?
Comment 14 Adrien Devresse 2012-01-05 05:21:25 EST
Happy new year and thank you for your reviews,

I take care of your comments :
- README is now in the main package
- RELEASE-NOTES is now in devel, we will use it for the devs's messages.
- one empty line is added between each changelog entry
- DOC_INSTALL_DIR variable is added to cmake for the documentation directory
- every doc file is in %{_docdir}/%{name}-%{version}
- %doc macros are now removed.

Spec URL : https://firwen.org/redmine/data/docs/specs/srm-ifce.spec
SRPM URL : https://firwen.org/redmine/data/docs/specs/srm-ifce-1.12-3.src.rpm

rpmlint : 
srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
4 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 15 Adrien Devresse 2012-01-11 05:13:43 EST
New update :
- correction of a problem with GCC 4.6
- create a branch per version on SVN

Spec URL : http://firwen.org/home/specs/srm-ifce.spec
SRPM URL : http://firwen.org/home/specs/srm-ifce-1.12-4.src.rpm

rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm
srm-ifce.src: I: enchant-dictionary-not-found en_US
srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
srm-ifce.x86_64: W: no-manual-page-for-binary gfal_srm_ifce_version

 Koji build : http://koji.fedoraproject.org/koji/taskinfo?taskID=3638433
Comment 16 Pierre-YvesChibon 2012-01-15 06:44:13 EST
Package Review
==============

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



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


==== 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.
[x]: 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: Invalid buildroot found: %{_tmppath}/%{name}-%{version}-%{release}
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: Note: defattr macros not found. They would be needed for EPEL5
[x]: 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.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[x]: 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.
[!]: MUST License field in the package spec file matches the actual license.
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package meets the Packaging Guidelines.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generates 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.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint output is silent.
    rpmlint srm-ifce-1.12-4.src.rpm
    srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
    1 packages and 0 specfiles checked; 0 errors, 1 warnings.
    rpmlint srm-ifce-devel-1.12-4.i686.rpm
    1 packages and 0 specfiles checked; 0 errors, 0 warnings.
    rpmlint srm-ifce-1.12-4.i686.rpm
    srm-ifce.i686: W: no-manual-page-for-binary gfal_srm_ifce_version
    1 packages and 0 specfiles checked; 0 errors, 1 warnings.
    rpmlint srm-ifce-debuginfo-1.12-4.i686.rpm
    1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
[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.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: 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.
[!]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Scriptlets must be sane, if used.
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: 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.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Buildroot is not present
     Note: Invalid buildroot found: %{_tmppath}/%{name}-%{version}-%{release}
     see http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag
[!]: 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.
[!]: SHOULD Dist tag is present.
[!]: MUST License field in the package spec file matches the actual license.
     Some code is licensed under the BSD license (see under cmake/module/)

General good practice is to use space instead of tab in the spec file (but that's of course not a blocker).
Comment 17 Adrien Devresse 2012-01-15 16:29:53 EST
[!]: MUST Buildroot is not present
     Note: Invalid buildroot found: %{_tmppath}/%{name}-%{version}-%{release}
     see http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag

  -> Corrected set to %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

[!]: 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.

  -> Corrected, %doc added to the LICENSE path

[!]: SHOULD Dist tag is present.

   -> tag Added

[!]: MUST License field in the package spec file matches the actual license.
     Some code is licensed under the BSD license (see under cmake/module/)

-> cmake is under BSD License and normally not directly linked with the script file.



Spec URL : http://firwen.org/home/specs/srm-ifce.spec
SRPM URL : http://firwen.org/home/specs/srm-ifce-1.12-5.el5.centos.src.rpm


rpmlint : 
srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
srm-ifce.x86_64: W: incoherent-version-in-changelog 1.12-5 ['1.12-5.el5.centos', '1.12-5.centos']
4 packages and 0 specfiles checked; 0 errors, 2 warnings.

Koji : http://koji.fedoraproject.org/koji/taskinfo?taskID=3699592
Comment 18 Pierre-YvesChibon 2012-01-15 16:36:29 EST
(In reply to comment #17)
> [!]: 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.
> 
>   -> Corrected, %doc added to the LICENSE path

This is actually a mistake on my side, I corrected the output above but missed in the "Issues" section. Since the LICENSE file is in the %{_docdir} it does not have to be tagged as %doc.
Comment 19 Adrien Devresse 2012-01-15 16:39:31 EST
    [!]: MUST Buildroot is not present
         Note: Invalid buildroot found: %{_tmppath}/%{name}-%{version}-%{release}
         see http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag

      -> Corrected set to %(mktemp -ud
    %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

    [!]: SHOULD Dist tag is present.

       -> tag Added

    [!]: MUST License field in the package spec file matches the actual license.
         Some code is licensed under the BSD license (see under cmake/module/)

    -> cmake is under BSD License and normally not directly linked with the script
    file.



    Spec URL : http://firwen.org/home/specs/srm-ifce.spec
    SRPM URL : http://firwen.org/home/specs/srm-ifce-1.12-5.el5.centos.src.rpm


    rpmlint : 
    srm-ifce.src: W: invalid-url Source0: srm-ifce-1.12.tar.gz
    srm-ifce.x86_64: W: incoherent-version-in-changelog 1.12-5
    ['1.12-5.el5.centos', '1.12-5.centos']
    4 packages and 0 specfiles checked; 0 errors, 2 warnings.

    Koji : http://koji.fedoraproject.org/koji/taskinfo?taskID=3699592
Comment 20 Adrien Devresse 2012-01-16 09:47:59 EST
Update from the previous comments :

- Add a real http Source URL 
- remove the %doc useless macro

spec URL : http://firwen.org/home/specs/srm-ifce.spec
SRPM URL : http://firwen.org/home/specs/srm-ifce-1.12-5.el5.centos.src.rpm

rpmlint : 
4 packages and 0 specfiles checked; 0 errors, 0 warnings.


Koji : http://koji.fedoraproject.org/koji/taskinfo?taskID=3705926
Comment 21 Mohamed El Morabity 2012-01-16 09:59:15 EST
- URL is not reachable
- The RELEASE-NOTES file looks like a changelog; it should be moved from the devel package to the main one.
Comment 22 Adrien Devresse 2012-01-16 10:26:56 EST
- URL is not reachable

-> Our trac server is down temporarily, sorry for this... Monday, problems day :D
 It will be repaired as soon as possible.

- The RELEASE-NOTES file looks like a changelog; it should be moved from the
devel package to the main one.

-> Yes, but I would like use this file for the developper specific informations if possible, not like a classical changelog with the new functionalities ( API/ABI related info )
Comment 23 Pierre-YvesChibon 2012-01-17 14:41:38 EST
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
  MD5SUM this package     : fce874861156d8f281f139a512ca13d9
  MD5SUM upstream package : fce874861156d8f281f139a512ca13d9



This looks all good to me:)

This package is therefore APPROVED.

You will be able to continue the process of integrating it in Fedora repository
once you have been approved in the packager group.

However, I will finish the review of your last submissions before doing so.

Information regarding your next steps is available at:
https://fedoraproject.org/wiki/Join_the_package_collection_maintainers#Add_Package_to_Source_Code_Management_.28SCM.29_system_and_Set_Owner
Comment 24 Adrien Devresse 2012-01-17 16:26:03 EST
New Package SCM Request
=======================
Package Name: srm-ifce
Short Description: SRM client side library
Owners: adev
Branches: f15 f16 el5 el6
InitialCC:
Comment 25 Jon Ciesla 2012-01-17 20:32:39 EST
Git done (by process-git-requests).
Comment 26 Fedora Update System 2012-01-18 04:46:16 EST
srm-ifce-1.12-5.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/srm-ifce-1.12-5.fc16
Comment 27 Fedora Update System 2012-01-18 04:47:31 EST
srm-ifce-1.12-5.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/srm-ifce-1.12-5.el5
Comment 28 Fedora Update System 2012-01-18 05:01:59 EST
srm-ifce-1.12-5.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/srm-ifce-1.12-5.el6
Comment 29 Fedora Update System 2012-01-26 17:55:46 EST
srm-ifce-1.12-5.fc16 has been pushed to the Fedora 16 stable repository.
Comment 30 Fedora Update System 2012-01-30 11:46:59 EST
srm-ifce-1.12.2-6.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/srm-ifce-1.12.2-6.el5
Comment 31 Fedora Update System 2012-01-30 11:57:45 EST
srm-ifce-1.12.2-6.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/srm-ifce-1.12.2-6.el6
Comment 32 Fedora Update System 2012-02-14 08:33:34 EST
srm-ifce-1.12.2-10.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/srm-ifce-1.12.2-10.el5
Comment 33 Fedora Update System 2012-02-14 08:43:19 EST
srm-ifce-1.12.2-10.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/srm-ifce-1.12.2-10.el6
Comment 34 Fedora Update System 2012-02-29 20:03:26 EST
srm-ifce-1.12.2-10.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 35 Fedora Update System 2012-02-29 20:05:15 EST
srm-ifce-1.12.2-10.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.