[Debian-med-packaging] MNE v0.8 packaging

Andreas Tille andreas at fam-tille.de
Tue Aug 5 07:57:02 UTC 2014


Hi Alexandre

On Tue, Aug 05, 2014 at 12:36:22AM +0200, Alexandre Gramfort wrote:
> > However, the package builds but since the compressed JS files are
> > remaining in the upstream tarball it is considered as affected by a
> > "binary without source" problem.  You can reproduce this by installing
> > the latest lintian from unstable (lintian 2.5.25) and run
> >
> >    lintian -i python-mne*.changes
> >
> > which will print the errors I was quoting in my last mail.  Any upload
> > with this lintian error will be rejected.
> 
> my lintian version is 2.5.10.4 and does not report these errors.

Yes, I assumed this.

> I am using a neurodebian VM. @Yarik any idea of how to have latest
> lintian on such a VM?

Downloading it from the unstable repository and using

   dpkg -i <downloadfile>

would be the most simple solution.  I personally add unstable to my
sources.list but you need to tweak /etc/apt/preferences somehow like
this:

Package: *
Pin: release a=stable
Pin-Priority: 501

Package: *
Pin: release a=unstable
Pin-Priority: 50


ATTENTION: I have no idea whether NeuroDebian distribution name is
"stable"!

Once you have done so you can drop a file
    /etc/apt/preferences.d/01-lintian.pref
with the content

Package: lintian
Pin: release a=unstable
Pin-Priority: 601

and you will get always the latest lintian.


> > There are two ways to fix this:
> >
> >   1. Provide the uncompressed source for all mne/html/*.min.js files
> >      and make sure you are using these in the final package.
> 
> you mean replacing the min.js files with the uncompressed files
> or have them both?

There are people who strongly advise to replace the compressed files but
the minimum requirement is to have the uncompressed ones in addition.
 
> >   2. Use
> >
> >       Files-Excluded: mne/html/*.min.js
> >
> >      in debian/copyright and create a DFSG free tarball for instance
> >      by using
> >
> >       get-orig-source:
> >                 uscan --verbose --force-download --repack --compress xz
> >
> >      as new target in debian/rules.  The tarball should be named
> >      python-mne_0.8.2+dfsg.orig.tar.gz and you can easily approach this
> >      by adding
> >
> >       opts="uversionmangle=s/$/+dfsg/"
> >
> >      in debian/watch.  Than `git import-orig --pristine-tar` this tarball.
> >      Finally you need to Depend from the libjs-* packages needed and
> >      create symlinks to the relevant places.
> >
> > Since as far as I can see all JS libraries are packaged for Debian I'm
> > storngly in favour of the later way since this the lest questionable way
> > regarding the usage of compressed JS files as far as I'm interpreting
> > past discussions on debian-devel.  If anything remains unclear feel free
> > to ask here on this list (BTW, there is no need to CC me any I also
> > think Yaroslav is reading the list - if you confirm that you are reading
> > it I also stop CCing you personally which is the usual list policy).
> 
> I am fine with option 2 although it seems non trivial if you've never done it.
> If it does not take too long for you I would really appreciate if you could
> take care of it and I will read the commits to figure out what you did.
> I will know how to do it next time.
> I am sorry if you feel I ask a lot but it takes me hours to make progress.

I *tried* to work on this with no final success but providing sufficent
examples how to continue.  I admit when building I was running again in
test suite errors (see attached build logs) and thus I have not checked
the resulting linking (see debian/links).  Regarding the JS libraries:
You were in CC of my mail to debian-mentors about the bootstrap.min.js
mess.  Perhaps you need to follow strategy 1 as written above and provide
the source directly.  This is definitely true for mpld3.v0.2.min.js where
I did not found any package inside Debian.

You can steal the principle from the gnumed-client package:

   http://anonscm.debian.org/viewvc/debian-med/trunk/packages/gnumed-client/trunk/debian/

The copies of JS fiels are in debian/JS and if you seek for
`yui-compressor` you will see what needs to be done to compress the files.
BTW, if this is just a local documentation I probably would not even mind
about the compression and simply drop the uncompressed files into the
according locations.

> >> > E: python-mne source: build-depends-on-obsolete-package build-depends: python-support => use dh_python2 instead

... and here we have a final lintian error that needs to be dealt with.
At wiki.debian.org you find (hopefully) sufficient information how to
approach this.

Hope this helps

     Andreas.

-- 
http://fam-tille.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: python-mne_0.8.2+dfsg-1_amd64.build.gz
Type: application/octet-stream
Size: 22063 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20140805/fa8bf37e/attachment-0001.obj>


More information about the Debian-med-packaging mailing list