Bug 679060 (mingw32-antlr)

Summary: Review Request: mingw-antlr - MinGW Windows ANTLR C++ run-time library
Product: [Fedora] Fedora Reporter: Thomas Sailer <fedora>
Component: Package ReviewAssignee: Kalev Lember <kalevlember>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: erik-fedora, fedora-mingw, fedora-package-review, kalevlember, notting
Target Milestone: ---Flags: kalevlember: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: mingw-antlr-2.7.7-5.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-30 22:34:38 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 Thomas Sailer 2011-02-21 13:09:31 UTC
Spec URL: http://sailer.fedorapeople.org/mingw32-antlr.spec
SRPM URL: http://sailer.fedorapeople.org/mingw32-antlr-2.7.7-3.fc14.src.rpm
Description: MinGW Windows ANTLR C++ run-time library

This is the run-time library needed for antlr2 generated C++ parsers.

Scratch Build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2853816

$ rpmlint mingw32-antlr.spec mingw32-antlr-2.7.7-3.fc14.src.rpm mingw32-antlr-2.7.7-3.fc14.noarch.rpm mingw32-antlr-static-2.7.7-3.fc14.noarch.rpm mingw32-antlr-debuginfo-2.7.7-3.fc14.noarch.rpm
mingw32-antlr.noarch: W: no-manual-page-for-binary i686-pc-mingw32-antlr-config
mingw32-antlr-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libantlr2.a
mingw32-antlr-static.noarch: W: no-documentation
mingw32-antlr-debuginfo.noarch: E: debuginfo-without-sources
4 packages and 1 specfiles checked; 2 errors, 2 warnings.

These rpmlint Warnings & Errors should be waived as per MinGW packaging guidelines. The antlr-config tool is self-explanatory, the native package does not have a man page as well.

Comment 1 Kalev Lember 2011-04-30 12:41:13 UTC
Taking for review.

The spec and srpm above are missing all BuildRequires, did you upload the right files?

The comment "we ship only a static library" just above the %files section is misleading now that you're also building a dll.

There are some substantial build system improvements in mingw32-antlr.patch, have you submitted it upstream already?

Not sure how close you want to keep to the native antlr spec file, but if that's not important, then you can remove BuildRoot definition, the whole %clean section, and the "rm -rf $RPM_BUILD_ROOT" in the beginning of %install, as they are no longer needed with current Fedora releases.

Comment 2 Thomas Sailer 2011-05-01 09:28:49 UTC
Hi Kalev,

thanks for taking the review!

Yes indeed I uploaded the wrong version. I've now corrected this and fixed the spec according to your comments.

http://sailer.fedorapeople.org/mingw32-antlr-2.7.7-4.fc14.src.rpm
http://sailer.fedorapeople.org/mingw32-antlr.spec
http://koji.fedoraproject.org/koji/taskinfo?taskID=3042739

Yes I have reported my changes upstream using the "feedback" form on the www.antlr2.org website. There does not seem to be an antlr2 bugtracker (the bugs link leads to the antlr3 bug tracker that does not seem to have a v2 tag)

Comment 3 Kalev Lember 2011-05-02 08:37:34 UTC
Fedora review mingw32-antlr-2.7.7-4.fc14.src.rpm 2011-05-02

+ OK
! needs attention

rpmlint output:
$ rpmlint mingw32-antlr \
          mingw32-antlr-static \
          mingw32-antlr-debuginfo-2.7.7-4.fc15.noarch.rpm \
          mingw32-antlr-2.7.7-4.fc15.src.rpm
mingw32-antlr.noarch: W: spelling-error %description -l en_US parsers -> parser, parses, parers
mingw32-antlr.noarch: W: no-manual-page-for-binary i686-pc-mingw32-antlr-config
mingw32-antlr-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libantlr2.a
mingw32-antlr-static.noarch: W: no-documentation
mingw32-antlr-debuginfo.noarch: E: debuginfo-without-sources
mingw32-antlr.src: W: spelling-error %description -l en_US parsers -> parser, parses, parers
4 packages and 0 specfiles checked; 2 errors, 4 warnings.

All these rpmlint warnings and errors are harmless and can be ignored.

+ rpmlint output
+ The package is named according to Fedora MinGW packaging guidelines
+ The spec file name matches the package base name
+ The package meets the Packaging Guidelines
+ The package is licensed with a Fedora approved license and meets the
  Licensing Guidelines.
+ The license field in the spec file matches the actual license
+ The stated license is the same as the one for the corresponding
  native Fedora package
+ The package contains the license file (LICENSE.txt)
+ Spec file is written in American English
+ Spec file is legible
+ Upstream sources match sources in the srpm. md5sum:
  01cc9a2a454dd33dcd8c856ec89af090  antlr-2.7.7.tar.gz
  01cc9a2a454dd33dcd8c856ec89af090  Download/antlr-2.7.7.tar.gz
+ The package builds in koji
n/a ExcludeArch bugs filed
+ BuildRequires look sane
n/a The spec file MUST handle locales properly
n/a ldconfig in %post and %postun
+ Package does not bundle copies of system libraries
n/a Package isn't relocatable
+ Package owns all directories it creates
+ No duplicate files in %files
+ Permissions are properly set
+ Consistent use of macros
+ The package must contain code or permissible content
n/a Large documentation files should go in -doc subpackage
+ Files marked %doc should not affect package
n/a Header files should be in -devel
    Fedora MinGW guidelines allow headers in main package
+ Static libraries should be in -static
n/a Library files that end in .so must go in a -devel package
n/a -devel must require the fully versioned base
n/a Packages should not contain libtool .la files
    Fedora MinGW guidelines allow .la files
n/a Packages containing GUI apps must include %{name}.desktop file
+ Directory ownership sane
+ Filenames are valid UTF-8

If you want to, you can also remove the %clean section and the %defattr lines
which are also no longer required in current Fedora releases, before importing
the package to git:
http://fedoraproject.org/wiki/PackagingGuidelines#.25clean
http://fedoraproject.org/wiki/PackagingGuidelines#File_Permissions

Looks good. APPROVED

Comment 4 Thomas Sailer 2011-05-02 15:23:43 UTC
Thanks! Will remove %clean and %defattr

New Package SCM Request
=======================
Package Name: mingw32-antlr
Short Description: MinGW Windows ANTLR C++ run-time library
Owners: sailer
Branches: f14 f15

Comment 5 Jason Tibbitts 2011-05-05 15:42:40 UTC
This package does not seem to meet the naming requirements for mingw packages.  Specifically, the source package name (which is what you are asking me to create) does not begin with "mingw-".

http://fedoraproject.org/wiki/Packaging:MinGW#Package_naming

I did not check other aspects of the guidelines.

Comment 6 Thomas Sailer 2011-05-05 15:51:20 UTC
Please check out the version of the MinGW packaging guidelines that apply to f14 and f15, which are here:
http://fedoraproject.org/wiki/Packaging:MinGW_Old

As far as I know the new ones are still pending some legal review, and will never apply to anything older than f16.

Comment 7 Erik van Pienbroek 2011-05-05 16:22:32 UTC
Hi Jason and Thomas,

Right now we're in the middle of getting support for mingw-w64 landed in Fedora 16. See https://fedoraproject.org/wiki/Features/Mingw-w64_cross_compiler for more details about that.

As part of this feature, we've had to update the packaging guidelines and have them approved by the FPC. This was done recently. This is only one of the steps required to get everything ready. Right now we're waiting for 5 packages to be reviewed and approved before we can continue. One of these packages, mingw-filesystem, implements all the macros specified in the new guidelines. As long as that package isn't approved, the new packaging guidelines can't be enforced yet.

Packages awaiting review:
mingw-filesystem: https://bugzilla.redhat.com/show_bug.cgi?id=673784
mingw-binutils: https://bugzilla.redhat.com/show_bug.cgi?id=673786
mingw-gcc: https://bugzilla.redhat.com/show_bug.cgi?id=673788
mingw-headers: https://bugzilla.redhat.com/show_bug.cgi?id=673790
mingw-crt: https://bugzilla.redhat.com/show_bug.cgi?id=673792

So to summarize, as long as the 5 packages mentioned above (where mingw-filesystem is the most important one) aren't approved we can't use the new guidelines yet and we've got to stick with the old ones.

Comment 8 Thomas Sailer 2011-05-13 19:36:17 UTC
Wait until https://fedorahosted.org/fpc/ticket/83 is resolved

Comment 9 Thomas Sailer 2011-05-19 21:09:26 UTC
New Package SCM Request
=======================
Package Name: mingw-antlr
Short Description: MinGW Windows ANTLR C++ run-time library
Owners: sailer
Branches: f14 f15

Comment 10 Jason Tibbitts 2011-05-19 23:21:04 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2011-05-23 13:38:46 UTC
mingw-antlr-2.7.7-5.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/mingw-antlr-2.7.7-5.fc15

Comment 12 Fedora Update System 2011-05-23 13:38:54 UTC
mingw-antlr-2.7.7-5.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/mingw-antlr-2.7.7-5.fc14

Comment 13 Fedora Update System 2011-05-25 02:25:14 UTC
mingw-antlr-2.7.7-5.fc14 has been pushed to the Fedora 14 testing repository.

Comment 14 Fedora Update System 2011-05-30 22:34:33 UTC
mingw-antlr-2.7.7-5.fc15 has been pushed to the Fedora 15 stable repository.

Comment 15 Fedora Update System 2011-06-02 10:59:50 UTC
mingw-antlr-2.7.7-5.fc14 has been pushed to the Fedora 14 stable repository.

Comment 16 Fedora Update System 2011-06-02 19:06:35 UTC
mingw-antlr-2.7.7-5.fc14 has been pushed to the Fedora 14 stable repository.