Andreas, Thank-you for your helpful reply.
Andreas Tille <[email protected]> wrote: > [..] > On Thu, 30 Apr 2009, Mark Longair wrote: > Good to hear that people are busy working to make their product > DFSG-free. Please keep us informed if you are successful. Certainly. >> - At the moment Fiji depends on sun-java6 rather than openjdk. > > Any strong reasons for this? I'm just asking because this would > move fiji at best to contrib and if some small patches might > suffice this would be definitely worth the effort. Actually, I hadn't tried building with openjdk for quite a while, and now there are only a couple of errors left, which is great. They should be fixed soon. [...] >> - Fiji uses a modified version of ImageJA (which again is >> bundled into the fiji package) rather than depending on the >> imagej Debian package created by people on this list. > > Is there any reason not to use ImageJ? ImageJA has various features (e.g. headless operation, better support for running as an applet) that aren't in ImageJ. I'll find out about whether these are likely to be merged upstream. In any case, part of the idea of ImageJA is to provide a public, version controlled way to experiment with new features for ImageJ that might not be accepted upstream for one reason or another. Incidentally, the ImageJA git repository [1] is a good way to track ImageJ development and compare versions. The "current" branch contains the ImageJ daily builds and the "imagej" branch has all the major releases. When there's any new release, Johannes merges that into the "imageja" branch so generally ImageJA has a superset of what's in the last major release of ImageJ. The "fiji" branch is based on the "imageja" branch and has some additional patches. [1] http://repo.or.cz/w/imageja.git > I mean - Debian just > has an old version because of the problem I mentioned in the > beginning of this thread [1] and which did not changed since > March [2]. I would really love to update this version but > I'm just lacking time and knowledge in Java to accomplish this > myself. Currently I do not even have time to contact ImageJ > upstream and I wonder if there is a volunteer to sort out > (perhaps via mail to upstream) this probably easy to fix > regression. BTW, IMHO this is just one SUN Java / Open Java > issue thus fixing this might also in your interest. Is there somewhere I can download the buggy .deb? I've tried building from the debian-med svn repository but the build rules don't seem to unpack the upstream source correctly. I'm doing: $ svn co svn://svn.debian.org/debian-med/ [... lots of output ...] $ cd debian-med/trunk/packages/imagej/trunk/ $ echo "origDir=.." >> .svn/deb-layout && uscan --force-download imagej: Version (1.42n) available on remote site: http://rsb.info.nih.gov/ij/download/src/ij142n-src.zip (local version is 1.42n) imagej: Successfully downloaded updated package ij142n-src.zip $ debian/rules get-orig-source . debian/get-orig-source [... lots of output, included in full below, but ending: ] cd /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n && /usr/lib/jvm/java-6-openjdk/bin/java -classpath /usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/lib/jvm/java-6-openjdk/lib/tools.jar -Dant.home=/usr/share/ant org.apache.tools.ant.Main -Dcompile.debug=true -Dcompile.optimize=true build Buildfile: build.xml does not exist! Build failed make: *** [debian/stamp-ant-build] Error 1 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 Command dpkg-buildpackage -us -uc -rfakeroot failed in <unknown>, how to continue now? [Qri?]: Is there step I'm missing there? Incidentally, the "svn co" fails half way through with: Fetching external item into 'trunk/packages/med-doc/trunk/05_biomed_bio' svn: URL 'svn://svn.debian.org/svn/cdd/projects/med/trunk/papers/05_biomed_bio' doesn't exist > If there are other issues than the outdated upstream version > not to use plain ImageJ I wonder whether upstream might not > accept patches from your side. I'll discuss this with the other developers. There are several plugins in Fiji that rely on features that are only in ImageJA and I'm not sure what the history of those is with regard to upstream ImageJ. > This would be great. I'm also a real fan of modularised > packaging. So if fiji might be just a collection of ImageJ > plugins we might split all these plugins into their own > packages which makes them smaller, prevent code duplication > with other third parte projects and enables a smooth integration > step by step into Debian. If I understood your mail correctly > than this would be the best thing to do - but I might be wrong > here if I missinterpreted the role of Fiji. That's broadly what I think, but there's quite a lot of work involved. (Ideally I would split the plugins into about 40 different packages, having done a quick count of those with distinct Free Software licenses and authors.) I do have plans, however, for automatically generating more modular Debian packages at this kind of granularity, and we're likely to work on this over the summer. [..] >> It would be wonderful if we were eventually able to get Fiji >> into Debian, but I think there's quite a lot of work to be done >> before that could happen. > > Well, in this case Fiji is not really special - we have several > projects which just need work. So what do you think about the > following plan: > > 1. Update ImageJ in Debian to a state, where you can base > your further work on. > a) Update Debian package to latest upstream > b) Apply patche you might need > c) Foreward the patches to upstream to make sure > it gets included in future versions. > 2. Start packaging plugins step by step beginning with > the most interesting (regarding user interest) and > which do not show technical or license problems. Certainly in theory both 1 and 2 would be the best way forward, but pragmatically it might be better to just fix the OpenJDK bugs, replace the obviously duplicated components with Debian dependencies and get the monolithic package into contrib as soon as possible. However, I'm going to be working towards the same essential goal whenever I have a chance. Unfortunately I'm just very short of time right at the moment. >> P.S. Incidentally, someone mentioned in a previous email on >> this list (before I subscribed) that they couldn't find the >> source code for Fiji. This has always been available via git >> (the recommended method) and as tar.gz or zip archives - >> hopefully that should be clear from the web pages. There are >> also source archives for the Debian packages. > > I just added Fiji to our Debian Med todo list for imaging: > > http://debian-med.debian.net/tasks/imaging#fiji Thanks! regards, mark ------------------------------------------------------------------------ $ svn-buildpackage -us -uc -rfakeroot --svn-ignore origDir: .. Complete layout information: origDir=.. tagsDir=/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/tags tagsUrl=svn://svn.debian.org/debian-med/trunk/packages/imagej/tags trunkDir=/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/trunk trunkUrl=svn://svn.debian.org/debian-med/trunk/packages/imagej/trunk dpkg-checkbuilddeps fakeroot debian/rules clean || debian/rules clean test -x debian/rules rmdir /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/trunk rmdir: failed to remove `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/trunk': Directory not empty make: [cleanbuilddir] Error 1 (ignored) /usr/bin/make -f debian/rules reverse-config make[1]: Entering directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/trunk' make[1]: Nothing to be done for `reverse-config'. make[1]: Leaving directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/trunk' if [ "reverse-patches" = "reverse-patches" ]; then rm -f debian/stamp-patched; fi patches: if [ "reverse-patches" != "reverse-patches" ]; then touch debian/stamp-patched; fi if [ "reverse-patches" != "reverse-patches" ] ; then \ /usr/bin/make -f debian/rules update-config ; \ fi for dir in debian/patches ; do \ rm -f $dir/*.log ; \ done dh_clean rm -f debian/imagej.substvars rm -f debian/imagej.*.debhelper rm -f debian/imagej.debhelper.log rm -rf debian/imagej/ rm -f debian/files find . \( \( -type f -a \ \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ \) -exec rm -f {} \; \) -o \ \( -type d -a -name autom4te.cache -prune -exec rm -rf {} \; \) \) cd /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/trunk && /usr/lib/jvm/java-6-openjdk/bin/java -classpath /usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/lib/jvm/java-6-openjdk/lib/tools.jar -Dant.home=/usr/share/ant org.apache.tools.ant.Main -Dcompile.debug=true -Dcompile.optimize=true clean Buildfile: build.xml does not exist! Build failed make: [clean] Error 1 (ignored) rm -f debian/stamp-ant-build Use of uninitialized value in subroutine entry at /usr/share/svn-buildpackage/SDCommon.pm line 35. mkdir -p /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n/debian/extra /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n/debian <1 more argument> cp --parents -laf debian/extra/luts/HiLo.lut.enc debian/extra/luts/RedHot.lut.enc debian/manpages debian/copyright debian/dirs debian/README.Debian debian/imagej.desktop <13 more arguments> dpkg-buildpackage -us -uc -rfakeroot dpkg-buildpackage: set CFLAGS to default value: -g -O2 dpkg-buildpackage: set CPPFLAGS to default value: dpkg-buildpackage: set LDFLAGS to default value: dpkg-buildpackage: set FFLAGS to default value: -g -O2 dpkg-buildpackage: set CXXFLAGS to default value: -g -O2 dpkg-buildpackage: source package imagej dpkg-buildpackage: source version 1.42n-1 dpkg-buildpackage: source changed by Andreas Tille <[email protected]> dpkg-buildpackage: host architecture i386 fakeroot debian/rules clean test -x debian/rules rmdir /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n rmdir: failed to remove `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n': Directory not empty make: [cleanbuilddir] Error 1 (ignored) /usr/bin/make -f debian/rules reverse-config make[1]: Entering directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n' make[1]: Nothing to be done for `reverse-config'. make[1]: Leaving directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n' if [ "reverse-patches" = "reverse-patches" ]; then rm -f debian/stamp-patched; fi patches: if [ "reverse-patches" != "reverse-patches" ]; then touch debian/stamp-patched; fi if [ "reverse-patches" != "reverse-patches" ] ; then \ /usr/bin/make -f debian/rules update-config ; \ fi for dir in debian/patches ; do \ rm -f $dir/*.log ; \ done dh_clean rm -f debian/imagej.substvars rm -f debian/imagej.*.debhelper rm -f debian/imagej.debhelper.log rm -rf debian/imagej/ rm -f debian/files find . \( \( -type f -a \ \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ \) -exec rm -f {} \; \) -o \ \( -type d -a -name autom4te.cache -prune -exec rm -rf {} \; \) \) cd /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n && /usr/lib/jvm/java-6-openjdk/bin/java -classpath /usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/lib/jvm/java-6-openjdk/lib/tools.jar -Dant.home=/usr/share/ant org.apache.tools.ant.Main -Dcompile.debug=true -Dcompile.optimize=true clean Buildfile: build.xml does not exist! Build failed make: [clean] Error 1 (ignored) rm -f debian/stamp-ant-build dpkg-source -b imagej-1.42n dpkg-source: info: using source format `1.0' dpkg-source: info: building imagej in imagej_1.42n-1.tar.gz dpkg-source: info: building imagej in imagej_1.42n-1.dsc debian/rules build test -x debian/rules mkdir -p "/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n" /usr/bin/make -f debian/rules reverse-config make[1]: Entering directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n' make[1]: Nothing to be done for `reverse-config'. make[1]: Leaving directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n' if [ "debian/stamp-patched" = "reverse-patches" ]; then rm -f debian/stamp-patched; fi patches: if [ "debian/stamp-patched" != "reverse-patches" ]; then touch debian/stamp-patched; fi if [ "debian/stamp-patched" != "reverse-patches" ] ; then \ /usr/bin/make -f debian/rules update-config ; \ fi make[1]: Entering directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n' make[1]: Nothing to be done for `update-config'. make[1]: Leaving directory `/mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n' cd /mnt/holyrood-backup/med-svn/debian-med/trunk/packages/imagej/build-area/imagej-1.42n && /usr/lib/jvm/java-6-openjdk/bin/java -classpath /usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/lib/jvm/java-6-openjdk/lib/tools.jar -Dant.home=/usr/share/ant org.apache.tools.ant.Main -Dcompile.debug=true -Dcompile.optimize=true build Buildfile: build.xml does not exist! Build failed make: *** [debian/stamp-ant-build] Error 1 dpkg-buildpackage: failure: debian/rules build gave error exit status 2 Command dpkg-buildpackage -us -uc -rfakeroot failed in <unknown>, how to continue now? [Qri?]: -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

