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) _g. [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 misc/ReleaseFiles/CHANGELOG.txt 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! Regards, Scott -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

