Bug 753900

Summary: Review Request: abi-compliance-checker - An ABI Compliance Checker
Product: [Fedora] Fedora Reporter: Richard Shaw <hobbes1069>
Component: Package ReviewAssignee: Parag AN(पराग) <panemade>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: herrold, iarnell, notting, orion, package-review, panemade
Target Milestone: ---Flags: panemade: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: abi-compliance-checker-1.95.10-1.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-26 23:04:27 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 Richard Shaw 2011-11-14 20:10:22 UTC
Spec URL: http://hobbes1069.fedorapeople.org/abi-compliance-checker/abi-compliance-checker.spec
SRPM http://hobbes1069.fedorapeople.org/abi-compliance-checker/abi-compliance-checker-1.95.9-1.fc15.src.rpm

Description:
A tool for checking backward binary compatibility of a shared C/C++ library. It checks for changes in calling stack, changes in v-table, removed symbols, etc.

rpmlint output:
$ rpmlint SRPMS/abi-compliance-checker-1.95.9-1.fc15.src.rpm RPMS/noarch/abi-compliance-checker-1.95.9-1.fc15.noarch.rpm
abi-compliance-checker.src:27: W: rpm-buildroot-usage %prep sed -i "s,\$PREFIX/share/\$TOOL_SNAME,%{buildroot}%{perl_vendorlib}/\$TOOL_SNAME,g" Makefile.pl
abi-compliance-checker.noarch: E: zero-length /usr/share/perl5/vendor_perl/abi-compliance-checker/modules/RulesSrc.xml
abi-compliance-checker.noarch: W: no-manual-page-for-binary abi-compliance-checker
2 packages and 0 specfiles checked; 1 errors, 2 warnings.

rpm-buildroot-usage: Necessary because the makefile does not support DESTDIR.
zero-length: I assume the file may not stay empty in the future.
no-manual-page-for-binary: I will query upstream for a man page.

Comment 1 Parag AN(पराग) 2011-11-16 05:22:23 UTC
Review:-
+ koji build ->http://koji.fedoraproject.org/koji/taskinfo?taskID=3514557
+ rpmlint on package gave
abi-compliance-checker.src:27: W: rpm-buildroot-usage %prep sed -i "s,\$PREFIX/share/\$TOOL_SNAME,%{buildroot}%{perl_vendorlib}/\$TOOL_SNAME,g" Makefile.pl
abi-compliance-checker.noarch: E: zero-length /usr/share/perl5/vendor_perl/abi-compliance-checker/modules/RulesSrc.xml
abi-compliance-checker.noarch: W: no-manual-page-for-binary abi-compliance-checker
2 packages and 0 specfiles checked; 1 errors, 2 warnings.
==> looks ok and can be ignored for this package

+ Source match with upstream as (sha1sum)
4fe5ecf074faac8e46a6e8af9ee6a00d9c2470c6  abi-compliance-checker-1.95.9.tar.gz
4fe5ecf074faac8e46a6e8af9ee6a00d9c2470c6  ../SOURCES/abi-compliance-checker-1.95.9.tar.gz
+ Follows packaging guidelines.

Suggestions:
1)license looks to be GPLv2+. Good to ask upstream to add license text in perl files also.
2) you don't need now in Fedora spec following
%install
rm -rf %{buildroot}

Comment 2 Iain Arnell 2011-11-16 07:36:44 UTC
Please don't change the module install path to %{perl_vendorlib}. It's not
installing real Perl modules - just a bunch of xml files and a couple of
private-use Perl libraries. It's more appropriate to install them under
/usr/share as upstream intended. And consequently, it's not necessary to
require perl(:MODULE_COMPAT...).

License actually looks to be "GPLv2 or LGPLv2" according to usage text in abi-compliance-checker.pl itself (which matches the version of included license texts).

Comment 3 Parag AN(पराग) 2011-11-16 08:30:32 UTC
Thanks for your comment Iain. yes license should be "GPLv2+ or LGPLv2+" See http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#.22or_later_version.22_licenses

Comment 4 Richard Shaw 2011-11-16 14:29:47 UTC
I have updated everything but need clarification. Iain says it's "GPLv2 or LGPLv2" whereas you're saying it's "GPLv2+ or LGPLv2+", but I agree with Iain here. I did not see any text in the license file that indicated it was forward compatible. 

SPEC: http://hobbes1069.fedorapeople.org/abi-compliance-checker/abi-compliance-checker.spec
SRPM: http://hobbes1069.fedorapeople.org/abi-compliance-checker/abi-compliance-checker-1.95.9-2.fc15.src.rpm

Comment 5 Iain Arnell 2011-11-16 14:45:32 UTC
Looking again, both LICENSE.txt and doc/Readme.html state "GPL or LGPL" without mentioning the version - which technically means any version, i.e. "GPL+ or LGPLv2+". The comments in abi-compliance-checker.pl header contain "either version 2 of the Licenses, or any later version", while the usage text in the code simply says "GPLv2 or LGPLv2".

The best solution is to ask upstream to clarify the situation.

Comment 6 Richard Shaw 2011-11-16 15:44:13 UTC
(In reply to comment #5)
> The best solution is to ask upstream to clarify the situation.

I've emailed the primary developer. Do we want to hold up the review for this? I can update the spec once I receive an answer. Since it is unlikely that anyone will be building against this as a library it should affect any other packages.

If we can continue, which license(s) should we reference? Isn't there a order of precedence for situations like this?

Thanks,
Richard

Comment 7 Parag AN(पराग) 2011-11-17 07:29:30 UTC
Looking into https://fedoraproject.org/wiki/Licensing/FAQ#What_is_.22effective_license.22_and_do_I_need_to_know_that_for_the_License:_tag.3F

Go with what Iain said "GPLv2 or LGPLv2".

Comment 8 Richard Shaw 2011-11-17 14:02:47 UTC
I got an answer:

From: Andrey Ponomarenko <aponomarenko>

Hello,

This is great news, that this tool will be a part of such a popular 
Fedora operating system. Very thanks for your work.

The answer for your question is: dual GPL or LGPL of any versions. I've 
corrected it in the new release (1.95.10 [1-2]).

[1] http://forge.ispras.ru/projects/abi-compliance-checker/files
[2] http://forge.ispras.ru/svn/abi-compliance-checker

---

Does this make it "GPL+ or LGPLv2+"?

Thanks,
Richard

Comment 9 Iain Arnell 2011-11-17 14:28:38 UTC
(In reply to comment #8)
> 
> Does this make it "GPL+ or LGPLv2+"?

Yes.

Comment 10 Richard Shaw 2011-11-17 14:31:33 UTC
New Package SCM Request
=======================
Package Name: abi-compliance-checker
Short Description: An ABI Compliance Checker
Owners: hobbes1069
Branches: f15 f16
InitialCC: perl-sig

Comment 11 Gwyn Ciesla 2011-11-17 14:42:11 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2011-11-17 18:38:50 UTC
abi-compliance-checker-1.95.10-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/abi-compliance-checker-1.95.10-1.fc16

Comment 13 Fedora Update System 2011-11-17 18:38:57 UTC
abi-compliance-checker-1.95.10-1.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/abi-compliance-checker-1.95.10-1.fc15

Comment 14 Fedora Update System 2011-11-19 05:58:44 UTC
abi-compliance-checker-1.95.10-1.fc16 has been pushed to the Fedora 16 testing repository.

Comment 15 Fedora Update System 2011-11-26 23:04:27 UTC
abi-compliance-checker-1.95.10-1.fc15 has been pushed to the Fedora 15 stable repository.

Comment 16 Fedora Update System 2011-11-26 23:08:07 UTC
abi-compliance-checker-1.95.10-1.fc16 has been pushed to the Fedora 16 stable repository.

Comment 17 Orion Poplawski 2012-06-04 21:04:53 UTC
I'd like to see this in EPEL 6.  Richard, do you have any interest in maintaining there, or shall I?

Comment 18 Orion Poplawski 2012-06-04 21:06:11 UTC
Hmm, is the gcc >= 4.5 a hard requirement?

Comment 19 Richard Shaw 2012-06-04 21:13:37 UTC
(In reply to comment #17)
> I'd like to see this in EPEL 6.  Richard, do you have any interest in
> maintaining there, or shall I?

You're more than welcome to. I thought it would probably be nice to have but they release fairly frequently so keeping it up to date with the 2 week waiting period in testing could get fairly laborious but probably worth it.

In fact I just got 1.97.5 into stable and just today I got the auto-bug-report that 1.97.7 is released :)

(In reply to comment #18)
> Hmm, is the gcc >= 4.5 a hard requirement?

No, it looks to be just a recommendation. We can either maintain the EPEL version separately or use a macro to adjust it on the fly?

%if 0%{?fedora}
Requires: gcc >= 4.5
%else
Requires: gcc
%endif

???

The other option is just to remove the version since all supported fedora releases already meet it.

Comment 20 Orion Poplawski 2012-06-04 21:16:14 UTC
I think just removing the version requirement is the way to go.  Thanks!

Package Change Request
======================
Package Name: abi-compliance-checker
New Branches: el6
Owners: orion
InitialCC:

Comment 21 Richard Shaw 2012-06-04 21:19:16 UTC
Sounds like a plan!

I set the cvs flag for you, I forget that all the time :)

Comment 22 Gwyn Ciesla 2012-06-05 12:26:44 UTC
Git done (by process-git-requests).