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

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





On 06/12/15 12:32, Uecker, Martin wrote:
Hi Andreas,

Ok, I put it in /git/debian-med/bart.git as described in the
debian-med policy.
I checked this out and added Vcs fields and Homepage to Debian control
(please pull).  I noticed that the pristine-tar branch is missing in the
git repository.  You can get this easily by redoing

     gbp import-orig --pristine-tar your_orig_tar_gz

(just make sure you use the --pristine-tar option) and push the
pristine-tar branch.  The rationale is that we can both easily work
on a byte identical tarball right from the Git archive.
Ok, what is the deal with pristine-tar? Our upstream tar balls are
generated by github using git-archive. So there does not seem to
be any point to create tar balls just to re-import them using
pristine-tar, or is there?

Put simply, pristine-tar is our way to encapsulate access to the source tarball used for packaging. Someone who checks out a d-science repository does not need to know where the tarball comes from (github, bitbucket, PyPI...), he or she can just check it out using pristine-tar on the packaging repository.

I assume that the debian/control file is missing other Build-Depends
than just debhelper.
Yep. I added some. It builds using git-pbuilder.

FYI, it should also be possible to build your source package without gbp, by checking out the source tarball with pristine-tar and calling dpkg-buildpackage on master.

It is also a good way to test whether your clean target works as intended, by running dpkg-buildpackage twice and see whether it succeeds. If the clean target is insufficient, dpkg-buildpackage will complain of a mismatch between the source tarball and the content of the packaging tree.

I'd also recommend to use

     cme fix dpkg-control

which would bump your Standards-Version to 3.9.6 (which you can also do
manually but cme is a nifty tool I'd like to introduce to newcomers).
My experience so far: It pulls in a million of perl packages, then I had to
figure out that I still have to install an extra package for dpkg-control
to work, then it complains that it doesn't know libpng-dev, but if I replace
it with libpng12-dev fixes it to be libpng-dev again. It also spits out a
lot of incomprehensible warnings about the VCS-* lines. It didn't bump
the standards version, but decides to do some arbitrary reformatting ;-)

Yes cme can be a bit picky sometimes.

Anyway, Standards-Version should be set to 3.9.6 indeed, which Lintian would complain about later when you build the package.

Running licensecheck on the source tree revealed a few files which have missing copyright headers:

 licensecheck -r --copyright . | grep "No copyright"
./vars.m: *No copyright* UNKNOWN
./update-version.sh: *No copyright* UNKNOWN
./makedoc.sh: *No copyright* UNKNOWN
./src/simu/phantom.h: *No copyright* UNKNOWN
./src/simu/sens.h: *No copyright* UNKNOWN
./src/mat2cfl.c: *No copyright* UNKNOWN
./src/wavelet3/wl3-cuda.h: *No copyright* UNKNOWN
./src/wavelet3/wavthresh.h: *No copyright* UNKNOWN
./src/linops/sum.h: *No copyright* UNKNOWN
./src/linops/ufft.h: *No copyright* UNKNOWN
./src/linops/sampling.h: *No copyright* UNKNOWN
./src/linops/rvc.h: *No copyright* UNKNOWN
./src/dfwavelet/prox_dfwavelet.h: *No copyright* UNKNOWN
./src/sake/sake.h: *No copyright* UNKNOWN
./src/calib/calmat.h: *No copyright* UNKNOWN
./src/calib/cc.h: *No copyright* UNKNOWN
./src/num/simplex.h: *No copyright* UNKNOWN
./src/num/convoaa.h: *No copyright* UNKNOWN
./src/num/shuffle.h: *No copyright* UNKNOWN
./src/num/shuffle.c: *No copyright* UNKNOWN
./src/num/filter.h: *No copyright* UNKNOWN
./src/iter/vec.h: *No copyright* UNKNOWN
./src/iter/vec.c: *No copyright* UNKNOWN
./src/ismrm/read.h: *No copyright* UNKNOWN
./src/misc/version.h: *No copyright* UNKNOWN
./src/misc/cppwrap.h: *No copyright* UNKNOWN
./src/misc/pcaa.h: *No copyright* UNKNOWN
./src/misc/version.c: *No copyright* UNKNOWN
./src/misc/utils.h: *No copyright* UNKNOWN
./src/misc/cppmap.h: *No copyright* UNKNOWN
./src/misc/png.h: *No copyright* UNKNOWN
./src/misc/dicom.h: *No copyright* UNKNOWN
./src/bbox.c: *No copyright* UNKNOWN
./ar_lock.sh: *No copyright* UNKNOWN
./update-if-changed.sh: *No copyright* UNKNOWN
./git-version.sh: *No copyright* UNKNOWN
./matlab/bart.m: *No copyright* UNKNOWN
./matlab/writecfl.m: *No copyright* UNKNOWN
./matlab/readcfl.m: *No copyright* UNKNOWN
./scripts/rtnlinv.m: *No copyright* UNKNOWN
./vars.sh: *No copyright* UNKNOWN
./octview.m: *No copyright* UNKNOWN

Which you may or may not want to act upon. Since the other source files have one it might be picked up during the review process anyway.

Otherwise, looks good.

Quick question, is the package supposed to install just the bart executable and its accompanying documentation or something else in addition ?

Cheers,
Ghis


Reply to: