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.
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.
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
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.
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 ----------------
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:
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:
(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
CVS done (by process-cvs-requests.py).
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
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
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
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
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
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
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.
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.