[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Request for reviewing my first java package

For the benefit of the Java team, I copied the original email below:

"Hello pkg-java team,

I'm in the process of packaging a Java library (JXGrabKey [1]) and will
soon upload it to unstable. But since this is my very first Java package
I'd prefer if it could first have some reviewing from a regular Java
package maintainer.

I'd be very glad if someone from the pkg-java team could have a look at
the package and tell me in case I'm doing something wrong regarding the
Debian policy for Java.

This is a rather simple package and it is available from git.d.o [2].

Many thanks in advance,

(Please CC me on replies)


[1] <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602836>
[2] <http://git.debian.org/?p=collab-maint/jxgrabkey.git>"

Ok, for my review (on top of Damien's helpful comments):
1) Nice work! Java packaging requires more manually tweaking to be
java policy compliant that other packages, and you did a good job
figuring out what goes where.
In the future you can consider the javahelper package (read the
javahelper tutorial in the package too). It has some nice debhelper
addons that will make installing libraries easier. (you move them
around a bit and rename/symlink them to get them to work which is
great, but is easily done automagically with javahelper). It can also
be used to link the javadoc for you too.
2) debian/docs appears to be empty (probably can just delete it)
3) the upstream changelog can be installed using
override_dh_installchangelogs: dh_installchangelogs -k
instead of using mv and renaming
4) you rename the library from JXGrabKey.jar to jxgrabkey.jar. To be
compatible with other projects that may use your library, you should
keep the same capitalization. javahelper's script "jh_installlibs"
will do that for you, install it to /usr/share/java, and install the
correctly formatted versioned .jar and the symlink per policy.
5) your git repo can use tags for the upstream/pristine tar section (I
couldn't build your package using git buildpackage since there was no
upstream tags). There are some good how tos on the internet showing
how you can do that
6) Builds fine, only lintian pedantic or info is:
I: libjxgrabkey-java: extended-description-is-probably-too-short
P: libjxgrabkey-jni: no-upstream-changelog
I: libjxgrabkey-doc: extended-description-is-probably-too-short
P: libjxgrabkey-doc: no-upstream-changelog

(The upstream changelog pedantic warnings would be fixed using the
dh_installchangelogs command I mentioned above)

7) regarding the CPPFLAGS listed in debian/rules, I believe you can
drop that. It's bad to put that hard coded -I path in case an arch
doesn't have that path. That include shouldn't be necessary at all. If
you really need it, you can use
CPPFLAGS="-I/usr/lib/jvm/default-java/include"    which should work on
all archs.

Great job!

Reply to: