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

Re: checkout my first java package, please!



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[Andrea, I don't know if your read -mentors so I'cc:ing you. I do so you
can only use the Mail-Followup-To header]

Only with a java point-of-view, your package seems great, you
debian/rules file is good (well, cdbs rocks!). But I have some general
comments... (important comment at the end about the library
dependencies!)

Andreas Schuldei <andreas@schuldei.org> writes:

> Please send the feedback to *me* (too), it was my attempt of java
> packageing. (c:

I don't know the program so it's difficult to tell you if things are
done the right way or not ;-) here are some advices:

debian/copyright:

o You did the package from a cvs checkout but there is a release from
  February 11 2004 (I think you made the package before maybe). Anyway,
  maybe you'd better cvs export or remove the .cvsignore and the CVS
  directories.

o About this, your debian/copyright file is not good because you need to
  give an url to download the tarball:

  "It was downloaded from  cvs.sourceforge.net:/cvsroot/cerebrum"

  I think you can change this line by:
  http://sourceforge.net/project/showfiles.php?group_id=60830
  or simply:
  http://sourceforge.net/projects/cerebrum

  About it, Why does your package is called 'jbofh-swing' and upstream
  is called 'cerebrum'.

o Upstream Authors field should look like this (remove the brackets and
  put the real name of the developers):

  Upstream Authors: Are Engstrom <areen at users.sourceforge.net>
                    Bard Henry Moum jakobsen <baardj at users.sourceforge.net>
                    Erik Gorset <erikgors at users.sourceforge.net>
                    Havard Stranden <havarden at users.sourceforge.net>
                    Havar Fruseth <havlar at users.sourceforge.net>
                    Hallvard B Furuseth <hfuru at users.sourceforge.net>
                    Harald Meland <hmeland at users.sourceforge.net>
                    Igor Rafienko <igorr at users.sourceforge.net>
                    Jasmina Hodzic <jasminah at users.sourceforge.net>
                    Kjetil T. Homme <kjetilho at users.sourceforge.net>
                    Andreas Nilsen <lemondog at users.sourceforge.net>
                    Tom-Anders N. Rost <loke_phb at users.sourceforge.net>
                    Mathias Meisfjordskar <matmeis at users.sourceforge.net>
                    kenneth johansen <nappy- at users.sourceforge.net>
                    Odd Arne Haugen <oahaugen at users.sourceforge.net>
                    Odd Rune Dahle <oddrune at users.sourceforge.net>
                    Petter Reinholdtsen <pere at users.sourceforge.net>
                    Fredrik Vogel <rikfred at users.sourceforge.net>
                    Rune Froysa <runefro at users.sourceforge.net>
                    Andreas Schuldei <schuldei at users.sourceforge.net>
                    Ole-Marius Moe-Helgesen <silmaril at users.sourceforge.net>
                    Stian Soiland <stain at users.sourceforge.net>
                    Steinar Hamre <steinarh at users.sourceforge.net>
                    Steinar Kleven <steinark at users.sourceforge.net>
                    Sturle Sunde <sturle at users.sourceforge.net>
                    Thomas Langas <tlan at users.sourceforge.net>

o Copyright: GPL is not enough, you have to write the name of the
  copyright holder and the year(s).

debian/rules:

o great... but you only build the java part, there is also Python part,
  isn't it?

debian/control:

o I don't understand why your package does not have the name of the
  upstream?! Note that you can have a different name for Source and for
  Package.

o Maybe have a look at the Debian-Java Policy but the name of the
  package does not conform to the policy. If it's a library, it should
  be named 'libname-java'. If it's a program, you can name it as a
  'normal' package, but in every cases, you don't need the -swing
  suffix.

o Build-Depends-Indep does contain python but I'm not sure you use it?
  (else, it's correct to me).

o Depends: j2sdk1.4 | j2sdk1.3 | kaffe (>= 1.1.3) | java-virtual-machine
           j2sdk1.4 | j2sdk1.3 | kaffe | java-compiler

           this is wrong because (well, you copy some two times and it's
           not necessary ;-)), but if it's a program, you need to depend
           on java[12]-runtime, if it's a library... well, it's not ;-)

           For your package, as it needs Swing, you cannot depend on
           kaffe (no Swing at the moment) and as it's a program, you
           don't need a java-compiler. I think you can replace the part
           I pasted by this one:

           j2sdk1.4 | j2sdk1.3 | java2-runtime

The Package:

o You place your program in /usr/share/java but this place is only for
  java libraries, not java applications (oups I think I'm doing the same
  thing for argouml! Got to change this!). I think
  /usr/share/package/thefile.jar should be a better place.

o You need to make a shell script to launch your application (see the
  latest argouml or ant package).

  - As it depends on java2 runtime, you can *not* launch your
    application with /usr/bin/java because even if someone has
    j2sdk1.[34] installed, (s)he also can install a non-free java
    virtual machine and change the alternative so /usr/bin/java could be
    a symlink to sablevm or gij or kaffe or else and none of them can
    run applications with Swing.

  - You must set a correct 'classpath' for your application to run

o I'm not sure if the package is finished, but don't you have to build a
  database for the application to run?

Java Dependencies:

o There is a jbofh-swing/java/jbofh/lib directory with some libs. Some
  exists in Debian: libreadline-java, liblog4j1.2-java or liblog4j-java
  (I don't know what is log4jME.jar?!), I don't know exactly what is
  xmlrpc-1.1.jar in this directory but we have a lot of jakarta libs and
  it's possible this one is a part of another (xerces?), xt is in Debian
  but xp is not yet, and I don't know what JavaPrintf.jar is? (seems to
  be a library from Sun, you have to be sure it's free software!..)

  You know the policy, it's better if every library you depend on to
  build and (or) to run exist as Debian package.

  Also, you'll have to speak to upstream, the way they build there
  changelog may not be completely legal because they include the
  libraries I was talking about in there own jar file but I do not see
  any copyright file in the jar file mentioning libraries used by the
  software! With a GPL, LGPL, Apache or many other licenses, it's not
  legal! You always must attach a license file to the library.

  Even with licenses in the jar file, I'm not sure it's recommended in
  Debian to build different libraries in the jar file. The software is
  286891 bytes weight because of the libs. It's not acceptable if
  everybody do that ;-)

Well, I hope it helps, good work,

Cheers,

- -- 
  .''`. 
 : :' :rnaud
 `. `'  
   `-    
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAS6NN4vzFZu62tMIRAqX/AJ91FeykWZjkk+8mT4W5I1K01BDClwCfZuNf
tTueU1E6z5D8G40CaOTH5Mk=
=sYk3
-----END PGP SIGNATURE-----



Reply to: