Bug 700335

Summary: Review Request: ant-antlr3 - Antlr3 task for Ant
Product: [Fedora] Fedora Reporter: Karel Klíč <kklic>
Component: Package ReviewAssignee: Stanislav Ochotnicky <sochotni>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: akurtako, fedora-package-review, notting, rvokal, sochotni
Target Milestone: ---Flags: sochotni: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ant-antlr3-20110110-3.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-13 23:16:28 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:
Bug Depends On:    
Bug Blocks: 700566    

Description Karel Klíč 2011-04-28 07:37:46 UTC
Spec URL: http://kklic.fedorapeople.org/ant-antlr3.spec
SRPM URL: http://kklic.fedorapeople.org/ant-antlr3-20110110-1.fc14.src.rpm
Description: Antlr3 task for Ant

$ rpmlint ant-antlr3-20110110-1.fc14.src.rpm
ant-antlr3.src: W: invalid-url Source0: antlr3-task.zip
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

-> URL will be included as soon as bug #699529 is fixed in Fedora

$ rpmlint ./ant-antlr3-20110110-1.fc14.noarch.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

$ rpmlint ant-antlr3-javadoc-20110110-1.fc14.noarch.rpm 
ant-antlr3-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Javanese
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Comment 1 Alexander Kurtakov 2011-04-28 09:38:24 UTC
The package is missing /etc/ant.d integration.Please look at checkstyle for sample usage. Basically it's space separated paths to jar files in %_javadir without the extension. E.g it would be smth like "ant/ant-antlr3 antlr3" assuming that you need antlr3 on the classpath to use this task.

Comment 2 Stanislav Ochotnicky 2011-04-28 11:36:03 UTC
I'll do the whole review, but feel free to create /etc/ant.d file (It would be needed anyway).

Comment 3 Stanislav Ochotnicky 2011-04-28 12:04:39 UTC
Package Review
==============

Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

=== REQUIRED ITEMS ===
[x]  Rpmlint output:
ant-antlr3-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Javanese
false alarm

ant-antlr3.src: W: invalid-url Source0: antlr3-task.zip
explained in spec. It was fixed in upstream, but will the fix be available in f-13+ rpms? If yes than this can be done properly...
3 packages and 0 specfiles checked; 0 errors, 2 warnings.


[x]  Package is named according to the Package Naming Guidelines[1].
[x]  Spec file name must match the base package name, in the format %{name}.spec.
[x]  Package meets the Packaging Guidelines[2].
[x]  Package successfully compiles and builds into binary rpms.
[x]  Buildroot definition is not present
[x]  Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines[3,4].
[x]  License field in the package spec file matches the actual license.
License type: ASL 2.0
[-]  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.
It would be best if you contacted upstream and asked them to include LICENSE file in the tarball/zip. And while you are at it...ask them to provide versioned source zip in one of standard directories.

http://antlr.org/share/1169924912745/antlr3-task.zip  is weird because it doesn't contain any date/version information.

[-]  All independent sub-packages have license of their own
[x]  Spec file is legible and written in American English.
[-]  Sources used to build the package matches the upstream source, as provided in the spec URL.
Regenerated from upstream sources, contents match
[x]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines[5].
[x]  Package must own all directories that it creates.
[x]  Package requires other packages for directories it uses.
[x]  Package does not contain duplicates in %files.
[x]  Permissions on files are set properly.
[x]  Package does NOT have a %clean section which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). (not needed anymore)
[x]  Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT mixing)
[x]  Package contains code, or permissable content.
[x]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[x]  Package does not own files or directories owned by other packages.
[x]  Javadoc documentation files are generated and included in -javadoc subpackage
[x]  Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlinks)
[x]  Packages have proper BuildRequires/Requires on jpackage-utils
[!]  Javadoc subpackages have Require: jpackage-utils
Javadocs should Require jpackage-utils for directory
[-]  Package uses %global not %define
[-]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[!]  If source tarball includes bundled jar/class files these need to be removed prior to building
Zipball contains ant-antlr3.jar that is not used during build, but we normally remove *jar and *class files in %prep to be sure and not to confuse reviewers :-)
[x]  All filenames in rpm packages must be valid UTF-8.
[x]  Jar files are installed to %{_javadir}/%{name}.jar (see [6] for details)
[-]  If package contains pom.xml files install it (including depmaps) even when building with ant
[-]  pom files has correct add_to_maven_depmap call which resolves to the pom file (use "JPP." and "JPP-" correctly)

=== Other suggestions ===
[x]  If possible use upstream build method (maven/ant/javac)
[x]  Avoid having BuildRequires on exact NVR unless necessary
[x]  Package has BuildArch: noarch (if possible)
[?]  Latest version is packaged.
[x]  Reviewer should test that the package builds in mock.
Tested on: fedora-rawhide-x86_64


=== Issues ===
1. javadoc requires on jpackage-utils
2. source url...is it going to be fixed for fedora rpms?
3. inclusion license file in zipball and versioned zipball releases (upstream)
4. remove bundled jar for the sake of consistency :-)
5. include already mentioned ant.d file

[1] https://fedoraproject.org/wiki/Packaging:NamingGuidelines
[2] https://fedoraproject.org/wiki/Packaging:Guidelines
[3] https://fedoraproject.org/wiki/Packaging:LicensingGuidelines
[4] https://fedoraproject.org/wiki/Licensing:Main
[5] https://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
[6] https://fedoraproject.org/wiki/Packaging:Java#Filenames

Comment 4 Karel Klíč 2011-04-28 13:33:27 UTC
Spec URL: http://kklic.fedorapeople.org/ant-antlr3.spec
SRPM URL: http://kklic.fedorapeople.org/ant-antlr3-20110110-2.fc14.src.rpm

* Thu Apr 28 2011 Karel Klíč <kklic> - 20110110-2
- Added /etc/ant.d integration
- Require jpackage-utils by -javadoc package (needed for directory)
- Remove bundled jar in %%prep

> 1. javadoc requires on jpackage-utils
Fixed.

> 2. source url...is it going to be fixed for fedora rpms?
RPM developers decided to fix it in upstream only. I'll revisit the issue every time the package is updated (inevitably, as the upstream file needs to be repackaged until the bug is fixed).
I think this is not a blocker.

> 3. inclusion license file in zipball and versioned zipball releases (upstream)
I'm going to write an email to the upstream developer right now and ask him for this. This should not block the review process.

> 4. remove bundled jar for the sake of consistency :-)
Done

> 5. include already mentioned ant.d file
Done

Thank you for the review!

Comment 5 Stanislav Ochotnicky 2011-04-28 14:01:35 UTC
I am almost sure this is wrong:
cat > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/ant-antlr3 << EOF
ant-antlr3 antlr3
EOF


Shouldn't it be?:
cat > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/ant-antlr3 << EOF
ant/ant-antlr3 antlr3
EOF

Other than package seems good now, but I'd advise you to actually use it when building something (nudge nudge, wink wink - stanse) to see that it actually works.

Comment 6 Karel Klíč 2011-04-28 16:27:11 UTC
Spec URL: http://kklic.fedorapeople.org/ant-antlr3.spec
SRPM URL: http://kklic.fedorapeople.org/ant-antlr3-20110110-3.fc14.src.rpm

* Thu Apr 28 2011 Karel Klíč <kklic> - 20110110-3
- Fixed the name in /etc/ant.d/ant-antlr3


> Shouldn't it be?:
> cat > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/ant-antlr3 << EOF
> ant/ant-antlr3 antlr3
> EOF
Yes, sorry.

> I'd advise you to actually use it when
> building something (nudge nudge, wink wink - stanse) to see that it actually
> works.
I use it for building stanse and it seems to work well.

I guess the /etc/ant.d/ant-antlr3 file makes it possible to use ant-antlr3 task without adding ant-antlr3 and antlr3 jars to classpath. In stanse, the jar files are added to classpath when building it.

Comment 7 Stanislav Ochotnicky 2011-04-29 07:11:42 UTC
Package is good now, just try to work out those few mini-issues with upstream. Approved.

Comment 8 Karel Klíč 2011-04-29 07:39:55 UTC
New Package SCM Request
=======================
Package Name: ant-antlr3
Short Description: Antlr3 task for Ant
Owners: kklic
Branches: f14 f15
InitialCC:

Comment 9 Jason Tibbitts 2011-04-30 18:14:33 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2011-05-02 13:11:57 UTC
ant-antlr3-20110110-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/ant-antlr3-20110110-3.fc15

Comment 11 Fedora Update System 2011-05-02 13:12:06 UTC
ant-antlr3-20110110-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/ant-antlr3-20110110-3.fc14

Comment 12 Fedora Update System 2011-05-02 22:29:37 UTC
ant-antlr3-20110110-3.fc14 has been pushed to the Fedora 14 testing repository.

Comment 13 Fedora Update System 2011-05-13 23:16:22 UTC
ant-antlr3-20110110-3.fc14 has been pushed to the Fedora 14 stable repository.

Comment 14 Fedora Update System 2011-05-19 05:03:44 UTC
ant-antlr3-20110110-3.fc15 has been pushed to the Fedora 15 stable repository.