Red Hat Bugzilla – Bug 439911
Review Request: stringtemplate - A Java template engine
Last modified: 2008-04-05 13:07:39 EDT
Spec URL: http://cdn.verbum.org/stringtemplate.spec
SRPM URL: http://cdn.verbum.org/stringtemplate-3.1-1.fc9.src.rpm
StringTemplate is a java template engine (with ports for
C# and Python) for generating source code, web pages,
emails, or any other formatted text output. StringTemplate
is particularly good at multi-targeted code generators,
multiple site skins, and internationalization/localization.
This failed to build for me:
+ ant jar
[mkdir] Created dir: /builddir/build/BUILD/stringtemplate-3.1/build
[mkdir] Created dir: /builddir/build/BUILD/stringtemplate-3.1/build/src
[copy] Copying 71 files to /builddir/build/BUILD/stringtemplate-3.1/build/src
/builddir/build/BUILD/stringtemplate-3.1/build.xml:98: Problem: failed to create
task or type antlr
Cause: the class org.apache.tools.ant.taskdefs.optional.ANTLR was not found.
This looks like one of Ant's optional components.
Action: Check that the appropriate optional JAR exists in
-a directory added on the command line with the -lib argument
Do not panic, this is a common problem.
The commonest cause is a missing JAR.
This is not a bug; it is a configuration problem
Total time: 0 seconds
error: Bad exit status from /var/tmp/rpm-tmp.71988 (%build)
Thanks, I cleaned up the build deps:
Yes, much better now. rpmlint says:
stringtemplate.noarch: W: no-documentation
There seems to be quite a bit of documentation in the package, including some
license text. Certainly the three .txt files need to be included, and at least
doc.html in the doc subdirectory seems to be useful as well.
stringtemplate.noarch: W: no-version-in-last-changelog
Please follow one of the standard formats for changelog entries:
I need to whip up a review template for Java; I'll get on that now.
I noticed something that looks like a test suite; it is possible to run it at
The package seems to be missing a versioned dependency on java as required by
* source files match upstream:
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
X license text in tarball but not included in package.
* latest version is being packaged.
* BuildRequires are proper.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly
X rpmlint has valid complaints.
X final provides and requires not quite correct:
stringtemplate = 3.1-1.fc9
(no java dependency)
? %check is not present, but there seems to be a test suite upstream. I've no
idea how to run it, though.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* %docs are not necessary for the proper functioning of the package.
* no pre-built jars
* single jar, named after the package
* jarfiles are under _javadir.
* On the tests, I just created two patches (both sent upstream). The first adds
a convenient "ant test" target, and the second disables some of the tests which
upstream had either left broken, or as far as I could tell the test was actually
itself broken. The vast majority of tests pass.
* Fixed license.
* Fixed requires.
This seems to have cropped up, or did I somehow miss it earlier:
stringtemplate.src:42: W: rpm-buildroot-usage %build rm -rf $RPM_BUILD_ROOT
Normally you don't need to erase the build root in %build, because it should be
empty before %install. Why do you need to do that?
Otherwise, things look good:
The license text is present.
The dependencies look correct:
stringtemplate = 3.1-1.fc9
java >= 1:1.6.0
stringtemplate-javadoc = 3.1-1.fc9
%check is now present, and the tests pass:
[junit] Tests run: 279, Failures: 0, Errors: 0, Time elapsed: 0.28 sec
So, because another round trip probably isn't productive, I'll approve this on
the condition that you remove the "rm -rf $RPM_BUILD_ROOT" bit from %build. Or,
if you need it for something, let's investigate why.
Oops, thanks. Yeah I think that was there before. Will fix before commit.
New Package CVS Request
Package Name: stringtemplate
Short Description: A Java template engine
Branches: F-8 EL-5
Cvsextras Commits: yes