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

Re: [MoM] Re: bart - tools for computational magnetic resonance imaging



Hi Martin,

Great to see that your packaging work is progressing. Here are a few remarks on my side:

- Binary packages split-up.

I am not quite sure about the usefulness of the bart-dev package. The final compilation line shows:

gcc -O3 -ffast-math -std=c99 -Wmissing-prototypes -I/home/ghislain/debian/packages/bart/src/ -fopenmp -Dmain_real=main_bart -o bart src/main.c /home/ghislain/debian/packages/bart/src/bart.o lib/libbox.a lib/libbox2.a lib/libgrecon.a lib/libsense.a lib/libnoir.a lib/libwavelet2.a lib/libiter.a lib/liblinops.a lib/libwavelet3.a lib/liblowrank.a lib/libnoncart.a lib/libcalib.a lib/libsimu.a lib/libsake.a lib/libdfwavelet.a lib/libnum.a lib/libmisc.a lib/libnum.a lib/libmisc.a -L/usr//lib -lfftw3f_threads -lfftw3f -llapack -lblas -lgsl -lgslcblas -lpng -lz -lm

i.e. the final output is one executable (bart) with private libraries (libbox, libgrecon...) linked statically. So it looks to me that these libraries are not intended to be used publicly?

- Licensing of the bart Debian packages.

Since the software is compiled with GSL and FFTW support, the resulting binary should be distributed under a compatible GPL-like license. This may need to acknowledged somewhere, maybe in debian/README.Debian. For an example of such acknowledgement, have a look at how this is done with ITK [1].

[1] http://anonscm.debian.org/viewvc/debian-med/trunk/packages/insighttoolkit/trunk/debian/copyright?view=markup

- Copyright listing.

The output of licensecheck shows that some files have different copyright attributions than yours. For instance:

./matlab/imshow3.m: UNKNOWN
  [Copyright: Michael Lustig 2012 [sx,sy,nc] = size(img);]

Please be super thorough on these, since a non-exhaustive copyright listing is a strong motive for package rejection.

- lapack-dev -> lapack-dev | lapack.so in your list of Build-Depends in d/control.

That way your package can be built with optimized libraries like atlas or openblas.

- Potential overlinkage.

You might want to check these warnings out:

dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/bart/usr/bin/bart was not linked against libgslcblas.so.0 (it uses none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/bart/usr/bin/bart was not linked against libz.so.1 (it uses none of the library's symbols)

Which could be solved with some hardening flags, if you don't want to touch your Makefiles too much:

https://wiki.debian.org/HardeningWalkthrough


Apart from these comments. Looks good on my side.
Ghislain


Reply to: