On Tue, Mar 20, 2007 at 10:15:35AM +0100, David Hansmann wrote: > Hi, > > this was my first try to create a .deb and get it in mentors.debian.org > - it doesn't follow the rules so it wasn't > acceptable for unstable (and I didn't have the time to clear the tons of > issues such as source code > location requirements and so on ;) > > So you could safely ignore and/or take everything you want from the > package (except the outdated code > of course). I've uploaded a full .tar.gz containing the latest changes at > > http://j-ftp.sourceforge.net/j-ftp-1.50-pre2.tar.gz So, the first thing to note is that Debian packages are always built from source. Here you include the source for the net.sf.jftp stuff, but also a pile of compiled class files belonging to other libraries. > I don't know which approach would be better, make the .tar.gz-structure > more like a .deb or to keep the whole > thing separated. The correct way to package something for Debian is to have the upstream and packaging completely separate. So, you would release tarballs which have no idea that Debian exists and I would add the packaging on top of that. There are some things which you can do to make it easier though. 1. Publish a source-only tarball with non-executable files in it 2. Add a GPL header to every file or move LICENCE to COPYING (the normal filename) and in LICENCE explicitly say which files are under the GPL. LICENCE should also give the licences which all the images and other data are under and the upstream authors of everything if you are not the author. For example: src/images/org/javalobby/icons/COPYRIGHT just says "All images and icons Copyright(C) 1998 Dean S. Jones", there is no statement that you are even allowed to distribute these. 3. Have the tarball unpack to the directory <packagename>-<version>/ 4. List all the required external libraries for compilation and execution (these will also have to be Debian packaged if they are not) 5. Use a build system which searches for the libraries in the standard location (jars in /usr/share/java/) 6. Use a build system which installs into the standard locations and will install to $DESTDIR/standard/path/ - wrapper (which loads the jars from /usr/share/java) to /usr/bin/jftp - jar to /usr/share/java/jftp-$VERSION.jar - docs to /usr/share/doc/jftp/ I'm going to CC this to the bug log so that people know that I'm interested and there's some record of what we're doing here. Matt -- Matthew Johnson
Attachment:
signature.asc
Description: Digital signature