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