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

Re: fiji packages



Andreas,

Thank-you for your helpful reply.

Andreas Tille <tillea@rki.de> 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 <tille@debian.org>
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?]: 


Reply to: