Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 614196 - Review Request: gccxml - XML output extension to GCC
Review Request: gccxml - XML output extension to GCC
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Martin Gieseking
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-13 16:18 EDT by Mattias Ellert
Modified: 2010-08-02 10:59 EDT (History)
3 users (show)

See Also:
Fixed In Version: gccxml-0.9.0-0.3.20100715.el5
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-08-02 10:56:51 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
martin.gieseking: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Mattias Ellert 2010-07-13 16:18:53 EDT
Spec URL: http://www.grid.tsl.uu.se/review/gccxml.spec
SRPM URL: http://www.grid.tsl.uu.se/review/gccxml-0.9.0-0.1.20100713.fc12.src.rpm

Description:
There is one open-source C++ parser, the C++ front-end to GCC, which
is currently able to deal with the language in its entirety. The
purpose of the GCC-XML extension is to generate an XML description of
a C++ program from GCC's internal representation. Since XML is easy to
parse, other development tools will be able to work with C++ programs
without the burden of a complicated C++ parser.


rpmlint complains about "devel-file-in-non-devel-package", but the header files in this package are not header files for a library, they are used at runtime by the executable and therefore can not be put in a devel package.
Comment 1 Martin Gieseking 2010-07-14 13:45:15 EDT
Hi Mattias,

here are some quick comments:

- rpmlint emits two errors concerning wrong file permissions. The latter should be set to 755:

$ rpmlint /var/lib/mock/fedora-13-x86_64/result/*.rpm|fgrep E:
gccxml.x86_64: E: non-executable-script /usr/share/gccxml-0.9/IBM/find_flags_common 0644L /bin/sh
gccxml.x86_64: E: non-executable-script /usr/share/gccxml-0.9/Sun/find_flags_common 0644L /bin/sh

- I'm not sure about the overall license because several licenses are involved:
  + gccxml seems to be licensed under BSD
  + the bundled gcc libraries are licensed under LGPLv2+
  + the included GCC sources are licensed under GPLv2+
  ==> this would lead to GPLv2+ for the package
  + some of the packaged header files are licensed under GPLv3+ with exceptions,
    e.g. GCC_XML/Support/GCC/4.5/iomanip
  ==> has this to be reflected in the License field?

- Only the BSD license text is currently packaged. If the resulting license is GPLv2+, GCC/COPYING should be added to %doc.
Comment 2 Martin Gieseking 2010-07-14 15:54:15 EDT
According to the upstream website [1], the package is multi-licensed:
BSD and GPLv2+. However, I'm still not sure if this covers the header files licensed under "GPLv3+ with exceptions".

[1] http://www.gccxml.org/HTML/Copyright.html
Comment 3 Mattias Ellert 2010-07-15 00:57:16 EDT
New version:

Spec URL: http://www.grid.tsl.uu.se/review/gccxml.spec
SRPM URL: http://www.grid.tsl.uu.se/review/gccxml-0.9.0-0.2.20100713.fc12.src.rpm

Changed License tag to:
BSD and GPLv2+ and GPLv2+ with exceptions and GPLv3+ with exceptions

Fixed the non-executable script issue

Added GPL COPYING file to documentation.
Comment 4 Martin Gieseking 2010-07-15 03:27:51 EDT
Here's the formal review. The package looks fine and works as expected.
Since some header files refer to a file containing the GCC Runtime Library Exception, I suggest to ask upstream to add this file together with a copy of the GPLv3 license text which is also missing.

$ rpmlint gccxml-*.rpm|fgrep -v devel-file
gccxml.src: W: invalid-url Source0: gccxml-0.9.0-20100713.tar.gz
gccxml.x86_64: W: no-manual-page-for-binary gccxml_cc1plus
3 packages and 0 specfiles checked; 0 errors, 59 warnings.

All remaining warnings are expected and can be ignored.

---------------------------------
Key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: File containing the text of the license(s) for the package must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.
    $ for f in gccxml-0.9.0-20100713.tar.gz*; do tar xzOf $f|md5sum --binary; done
    1a7b0a033d3fe06fd5425962fd83e646  -
    1a7b0a033d3fe06fd5425962fd83e646  -

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
    koji scratch builds:
    F-13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2321215
    F-14: http://koji.fedoraproject.org/koji/taskinfo?taskID=2321302 

[.] MUST: If the package does not successfully compile, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly. 
    - locales in GCC/libcpp/po are not installed by gccxml

[.] MUST: Ppackages which store shared libraries must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
[+] MUST: Files must not be listed more than once in the spec file's %files listings.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: If a package includes something as %doc, it must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
    - packaged header files are part of the compiler and thus must be part of the base package

[+] MUST: Static libraries must be in a -static package.
[.] MUST: Library files without a numeric suffix must go in a -devel package.
[.] MUST: devel packages must require the base package 
[+] MUST: Packages must NOT contain any .la libtool archives, ...
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file.
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.


[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.
    - files containing the text of GPLv3 and the GCC Runtime Library Exception should be added upstream.

[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[.] SHOULD: pkgconfig files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin ...

----------------
Package APPROVED
----------------
Comment 5 Mattias Ellert 2010-07-15 04:01:33 EDT
Thank you for the review!

New Package CVS Request
=======================
Package Name: gccxml
Short Description: XML output extension to GCCxrootd
Owners: ellert
Branches: F-12 F-13 EL-4 EL-5 EL-6
InitialCC:
Comment 6 Mattias Ellert 2010-07-15 04:09:02 EDT
Oops - cut and past error... Here is the correct one:

New Package CVS Request
=======================
Package Name: gccxml
Short Description: XML output extension to GCC
Owners: ellert
Branches: F-12 F-13 EL-4 EL-5 EL-6
InitialCC:
Comment 7 Mattias Ellert 2010-07-15 04:47:06 EDT
(In reply to comment #4)
> [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.
>     - files containing the text of GPLv3 and the GCC Runtime Library Exception
> should be added upstream.

Reported upstream:

http://www.gccxml.org/Bug/view.php?id=10993
Comment 8 Kevin Fenzi 2010-07-16 13:40:35 EDT
CVS done (by process-cvs-requests.py).
Comment 9 Fedora Update System 2010-07-16 14:53:58 EDT
gccxml-0.9.0-0.3.20100715.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/gccxml-0.9.0-0.3.20100715.fc13
Comment 10 Fedora Update System 2010-07-16 14:54:05 EDT
gccxml-0.9.0-0.3.20100715.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/gccxml-0.9.0-0.3.20100715.fc12
Comment 11 Fedora Update System 2010-07-16 14:54:50 EDT
gccxml-0.9.0-0.3.20100715.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/gccxml-0.9.0-0.3.20100715.el5
Comment 12 Fedora Update System 2010-07-16 14:54:56 EDT
gccxml-0.9.0-0.3.20100715.el4 has been submitted as an update for Fedora EPEL 4.
http://admin.fedoraproject.org/updates/gccxml-0.9.0-0.3.20100715.el4
Comment 13 Fedora Update System 2010-07-21 16:03:32 EDT
gccxml-0.9.0-0.3.20100715.el4 has been pushed to the Fedora EPEL 4 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gccxml'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/gccxml-0.9.0-0.3.20100715.el4
Comment 14 Fedora Update System 2010-07-21 16:06:50 EDT
gccxml-0.9.0-0.3.20100715.el5 has been pushed to the Fedora EPEL 5 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gccxml'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/gccxml-0.9.0-0.3.20100715.el5
Comment 15 Fedora Update System 2010-08-02 10:56:47 EDT
gccxml-0.9.0-0.3.20100715.el4 has been pushed to the Fedora EPEL 4 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 16 Fedora Update System 2010-08-02 10:59:20 EDT
gccxml-0.9.0-0.3.20100715.el5 has been pushed to the Fedora EPEL 5 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.