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

Progress on Debian Package for FSL



Hi!

Some month ago a filed an ITP for FSL (http://www.fmrib.ox.ac.uk/fsl/).
There were a number of problems. See here (and follow-ups) for more 
information:

http://lists.debian.org/debian-med/2005/09/msg00000.html

Some of the problems are solved now, but others remain. First for the
solved ones: GCC4 compatibility is finally achieved (thanks to Andre
Piel), although there are a large number of warnings left.
The package now uses dpatch for patch management, which makes the
differences more visible and easier to handle. 

For most of the build-dependencies existing Debian packages are used 
now, instead of the included source code (zlib, libgd, ...). The same 
is true for the remaining dependencies (gnuplot, imagemagick). 

FSL now builds and runs properly on Debian Sarge/Etch/Sid i386/amd64.

And now for the remaining problems. There is still no official package
for 'newmat'. Although there has been a RFS lately:

http://lists.debian.org/debian-mentors/2006/01/msg00047.html

I also made an unofficial package of 'newmat', because the above
packaging attempt did not work with FSL due to some differences in the
build configuration. I asked the maintainer for the appropriate changes.
If this is done so I can add this package to the build-dependencies of 
the FSL package.

I was not able to use the Debian version of libgdchart. Neither did
compiling FSL worked nor was I able to locate the problem.

The last remaining library is CEPHES. There is still no package. But as
I do not know of any other application that uses this lib, it might be
ok to keep this one compiled from the FSL source code.

I reduced to number of errors and warnings reported by lintian, but
there are quite a few left. Here's the output:


N: Setting up lab in /tmp/BqkyvMFpZh ...
N: Processing 1 packages...
N: ----
N: Processing binary package fsl (version 3.2beta-1) ...
E: fsl: shell-script-fails-syntax-check ./usr/bin/ApplyXFM
N:
N:   Running this shell script with the shell's -n option set fails, which
N:   means that the script has syntax errors.
N:
N:   Run e.g. sh -n yourscript to see the errors yourself.L
N:
E: fsl: shell-script-fails-syntax-check ./usr/bin/bedpost
E: fsl: shell-script-fails-syntax-check ./usr/bin/Bet
E: fsl: shell-script-fails-syntax-check ./usr/bin/ConcatXFM
E: fsl: shell-script-fails-syntax-check ./usr/bin/Fast
E: fsl: shell-script-fails-syntax-check ./usr/bin/Fdt
E: fsl: shell-script-fails-syntax-check ./usr/bin/Feat
E: fsl: shell-script-fails-syntax-check ./usr/bin/featquery
E: fsl: shell-script-fails-syntax-check ./usr/bin/Featquery
E: fsl: shell-script-fails-syntax-check ./usr/bin/featregapply
E: fsl: shell-script-fails-syntax-check ./usr/bin/Featwatcher
E: fsl: shell-script-fails-syntax-check ./usr/bin/Flirt
E: fsl: shell-script-fails-syntax-check ./usr/bin/fsl
E: fsl: shell-script-fails-syntax-check ./usr/bin/fsl_gui
W: fsl: csh-considered-harmful ./usr/bin/fslpres
N:
N:   The Debian policy for scripts explicitly warns against using csh and
N:   tcsh as scripting languages.
N:
N:   Refer to Policy Manual, section 10.4 for details.
N:
E: fsl: shell-script-fails-syntax-check ./usr/bin/InvertMEDxXFM
E: fsl: shell-script-fails-syntax-check ./usr/bin/InvertXFM
E: fsl: shell-script-fails-syntax-check ./usr/bin/Make_flobs
E: fsl: shell-script-fails-syntax-check ./usr/bin/Melodic
E: fsl: shell-script-fails-syntax-check ./usr/bin/Renderhighres
E: fsl: shell-script-fails-syntax-check ./usr/bin/Renderstats
E: fsl: shell-script-fails-syntax-check ./usr/bin/Runtcl
W: fsl: csh-considered-harmful ./usr/bin/slicesdir
E: fsl: shell-script-fails-syntax-check ./usr/bin/Susan
N: Removing /tmp/BqkyvMFpZh ...


I think I cannot do anything against the 'csh-considered-harmful'-thing
as most scripts in the FSL package are csh scripts.

The 'shell-script-fails-syntax-check' is in a way of the same nature. All
mentioned scripts start like this:

------------
#!/bin/sh

# Check for display being set \
if [ _`uname | grep CYGWIN` = _ -a _$DISPLAY = _ ] ; then echo "DISPLAY
is not set. Please set your DISPLAY environment variable!" ; exit 1 ; fi

# the next line restarts using wish \
if [ _$FSLWISH = _ ] ; then echo "You need to source an FSL setup file -
either fsl.sh or fsl.csh in \$FSLDIR/etc/fslconf !" ; exit 1 ; else exec
$FSLWISH "$0" -- "$@" ; fi

....
-------------

So they just pretend to be proper bourne shell scripts.

One last open issue is that upstream still does not version the source
tarballs. That's why the orig tarballs cannot be verified reliably, as
there might be (and have been) sudden changes to the sources without any 
increment in the version number. I reported the problem to upstream, 
but there was no response yet.

So far for the problems. I would appreciate any suggestions on how to 
improve the packaging. 

There is a source package available for inspection. This package
currently build-depends on my newmat package (see above). Both packages are 
available from here:

http://apsy.gse.uni-magdeburg.de/~hanke/apt/source/fsl/

They are also available via APT. See this page for more information:

http://apsy.gse.uni-magdeburg.de/main/index.php?sec=1&page=hm_fsl&lang=en


Ciao,

Michael



-- 
GPG key:  1024D/3144BE0F Michael Hanke
http://apsy.gse.uni-magdeburg.de/hanke
ICQ: 48230050

Attachment: signature.asc
Description: Digital signature


Reply to: