[Neurodebian-devel] Debian packages for Stimfit

Yaroslav Halchenko yoh at dartmouth.edu
Tue Jan 25 16:09:47 UTC 2011


btw -- would you mind if we move (may be I could also bounce) discussion
to neurodebian-devel (or neurodebian-upstream) mailing list?  you do not
have to subscribe if you do not want -- I will authorize you to post
without subscription.

info on mailing lists: http://neuro.debian.net/#contacts

it is just that all the information might come handy for someone else as
well...

?

no pressure

On Tue, 25 Jan 2011, Yaroslav Halchenko wrote:


> On Tue, 25 Jan 2011, Christoph Schmidt-Hieber wrote:
> > I've looked into libfann2 and some more packages, but either missed the point or they're doing it differently:

> > In the case of stimfit and python-stfio, the binaries are generated using different configure flags; i.e. to build stimfit, you do:

> > ./configure --enable-python
> > make
> > sudo make install

> > whereas to build python-stfio, you do (in a separate build - none of the *.o files can be re-used):

> > ./configure --enable-module
> > make
> > sudo make install

> > How would I go about this in the debian/rules and
> > debian/*.install files? Do you know of any package that uses a similar
> > build process that I could use as a template?
> it is hard to choose any particular one ;-)  and to have multiple calls
> to configure and then make -- nothing comes in mind (I know those who
> call cmake multiple times for different kinds of builds, e.g.:
> http://git.debian.org/?p=pkg-exppsy/afni.git;a=blob;hb=HEAD;f=debian/rules
> but there it is also 'out of source' building

> > Or should I try to tweak
> > my build toolchain so that both packages are generated during the same
> > build?

> Well -- it is ok actually if I got you right, a

> you could simply override install target of debian/rules and
> just call 

> configure --enable-python
> make
> make install DESTDIR=debian/stimfit (or whatever that package name would be)

> configure --enable-module
> make
> make install DESTDIR=debian/python-stfio

> actually since stfio is an extension (not pure python) -- you better
> enable it building for all supported versions of Python (not just
> default).  For that, I guess, you would need to loop through them... I
> guess similar to

> http://git.debian.org/?p=pkg-exppsy/brian.git;a=blob;hb=HEAD;f=debian/rules

> there it is a bit obfuscated since I wanted also to
> * build sphinx documentation
> * unittest against every supported python version
> * move arch-dep extensions (.so) into their own package

> but it should give you the idea ;-)
> just do not get confused -- it uses 'debhelper 7' features, so you will
> not see much of dh_* calls in there, only the "override_"s where things
> need to be changed from the default behavior

> Sidenote:

> you are using HG -- branching/merging should be easy, why not to keep
> 'debian/' directory as is in a 'debian' branch... then you could,
> whenever release ready simply merge your 'tip' into it, adjust and build
> from it... also it should make things easier while working on packaging.
> Such setup is very common in Debian world and you could even benefit
> from helper tools such as

> mercurial-buildpackage

> disclaimer: I am not HG user myself, GIT, so I use git-buildpackage and
> svn-buildpackage before (when I used SVN primarily); but I guess
> mercurial-buildpackage should be similar in functionality
-- 
Yaroslav O. Halchenko
Postdoctoral Fellow,   Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        



More information about the Neurodebian-devel mailing list