[Debian-med-packaging] [Seqan-dev] source code for the apps

Andreas Tille andreas at an3as.eu
Wed Aug 28 14:07:29 UTC 2013


Hi Manuel,

On Wed, Aug 28, 2013 at 03:46:55PM +0200, Holtgrewe, Manuel wrote:
> we (the SeqAn developers) cannot easily go back to the 1.3 build system.
> 
> Everything originates from to (1) not much thought at the beginning of the project and (2) the library being developed in an academic group where research and publishing papers is the source of funding and not building software (sadly).

Thanks for the explanation.
 
> Since we are very interested in getting current SeqAn releases into Debian and other distributions, let us see how we can remove some of the headache for you distribution builders!

:-)
Thanks for your attempt to help.

> We would like to have both the apps and the library in Debian.

Fine.

> Would the following be feasible?
> 
> 1. The SeqAn team provides a "seqan-src-1.4.1.tar.gz" that essentially is a tarballed version of the whole SVN tag.

In principle yes.  However, it should be seriously checked that the
extra files do not contain things with different license conditions or
unneeded binary files.  Everything that could be reasonably stripped of
to reach the goal to have apps and library (while granting full
functionality like test cases) should be stripped.

> 2. The seqan-dev package is built from this using the -DSEQAN_RELEASE_LIBRARY flag to cmake.
> 3. The SeqAn team adjusts the build system with a -DSEQAN_IS_DEBIAN_BUILD=TRUE flag that allows to build the apps using the headers from the seqan-dev built earlier.

Sounds good.

> I have some (but limited, mostly from backports) experience with building Debian packages. Would it be possible for us to maintain our own "debian" folder with build scripts that you can use to base your package upon?

This would be more than welcome!  You can find the packaging code here:

   svn://svn.debian.org/debian-med/trunk/packages/seqan/trunk/

In the Debian Med team policy document

   http://debian-med.alioth.debian.org/docs/policy.html

(please do not be afraid by the strong word "policy") you can find step
by step instructions how you can get commit permissions (basically by
creating an alioth account and ask for becoming a Debian Med team
member).  If you need any help / training for packaging you might be
interested in "Mentoring of the Month":

   https://wiki.debian.org/DebianMed/MoM

We are very interested in getting upstream developers involved into our
packaging because they are way more competent to do a reasonable
packaging.  And because we are so interested we will provide you any
help you might need to get this accomplished.  That's granted.

> We could branch 1.4.1 and do a 1.4.2 release including the modifications to the build system for making the Debian developers' lives easier.

Feel free to do whatever might make your release process more simple.
Since we did not yet released any 1.4.1 package we could do with any
version number.  Just make sure you will not publish any file with the
same name and different content to not confude other users.  IMHO
seqan-library-1.4.1.tar.bz2 and your suggested seqan-src-1.4.1.tar.gz
(bz2 or xz are welcome as well) is different enough to not need to
bump the version number.  If other changes might be involved bumping
the version number makes sense.
 
Thanks for your cooperation

       Andreas.

PS: Please forward my message to the seqan-dev list.  I also CCed
    Debian Med team list because it might be relevant.

 
> ________________________________________
> From: Andreas Tille [andreas at an3as.eu]
> Sent: Wednesday, August 28, 2013 3:22 PM
> To: Holtgrewe, Manuel
> Cc: Filippo Rusconi; SeqAn Development
> Subject: Re: [Seqan-dev] source code for the apps
> 
> Hi Manuel,
> 
> thanks for your quick reaction and the instructions how to build seqan
> 1.4.1.  The problem is, that creating Debian packages works a bit
> different here.  In Debian you usually start from a downloaded upstream
> tarball and as usual this worked for seqan perfectly in the past.  There
> are for sure ways to work around this by writing a script that fakes an
> upstream tarball by creating this from svn but this is on one hand extra
> work on the other hand it does not create byte identical tarballs (which
> is quite a tricky topic even if the single files you are using are byte
> identical).  So creating the tarball from SVN is only the second best
> choice for us.
> 
> Moreover the two step build process (using
> -DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_APPS and
> -DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_LIBRARY for different things) would
> also create extra hassle for us.  I had a quick look onto the SVN you
> mentioned below and I have no good idea what might be the best way to
> proceed from here.  It seems what we are really interested in and what
> somehow fits your 1.3.x series release tarballs can be found inside the
> core directory.  The other directories seem to contain extra byteload
> which needs extra checking and verifying for licenses etc by our
> ftpmasters - so the new way you are releasing seqan creates a lot of
> work on our side.
> 
> I see the following options for us:
> 
>   1. Keep on using seqan release tarball and provide only the library
>      for our users while droping the apps.
> 
>   2. Create the library package as described in 1. and checkout the
>      apps from SVN creating seqan-apps_1.4.1.orig.tar.bz2 and build
>      Debian packages from this depending from seqan-dev package.
>      This probably needs us to tweak the build system for the apps
>      a bit.
> 
>   3. Checkout http://svn.seqan.de/seqan/tags/seqan-1.4.1/core, create
>      seqan_1.4.1.orig.tar.bz2 and create seqan-dev + seqan-apps
>      package from this unique source which is mimicking the source
>      tarball as of previous versions but also will probably need us
>      to tweak the build system (not checked yet)
> 
>   4. You would consider adding a source tarball seqan-apps we could
>      take in a similar way as in 2.
> 
>   5. You would consider to releas as in the past including the apps.
> 
> The 1. option would be the least work for everybody but probably not in
> the interest of our users.  The 5. option would be the most comfortable
> solution from a Debian perspective.
> 
> What do you think?
> 
> Kind regards and thanks again for your quick response
> 
>       Andreas.
> 
> On Wed, Aug 28, 2013 at 02:26:55PM +0200, Holtgrewe, Manuel wrote:
> > Dear Fillipo,
> >
> > we do not ship the whole SeqAn project from source any more in a tarball but you can still get it from SVN.
> >
> > (tl;dr: Skip to the instructions starting with "svn co" below).
> >
> > You can get the 1.4.1 version from here
> >
> > http://svn.seqan.de/seqan/tags/seqan-1.4.1/
> >
> > You can find more information on building applications in the following two documents:
> >
> > http://trac.seqan.de/wiki/Tutorial/GettingStarted/LinuxMakefiles
> > http://trac.seqan.de/wiki/BuildManual/UsingTheSeqAnBuildSystem
> >
> > I just checked and the following sequence of commands built all applications and installed them with an install prefix (similar to an autoconf ./configure --prefix=)
> >
> > svn co http://svn.seqan.de/seqan/tags/seqan-1.4.1 seqan-1.4.1
> > mkdir -p seqan-1.4.1-build/release
> > cd seqan-1.4.1-build/release
> > cmake ../../seqan-1.4.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../seqan-1.4.1-install -DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_APPS
> > make -j 8 install
> >
> > Similar, you could use the following sequence to get a library install:
> >
> > svn co http://svn.seqan.de/seqan/tags/seqan-1.4.1 seqan-1.4.1
> > mkdir -p seqan-1.4.1-build/library
> > cd seqan-1.4.1-build/library
> > cmake ../../seqan-1.4.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../seqan-lib-1.4.1-install -DSEQAN_BUILD_SYSTEM=SEQAN_RELEASE_LIBRARY
> > make docs
> > make install
> >
> > Feel free to ask if you hit a brick wall (I successfully compiled everything on Debian 7.1).
> >
> > Cheers,
> > Manuel
> > ________________________________________
> > From: Filippo Rusconi [listes.rusconi at laposte.net]
> > Sent: Wednesday, August 28, 2013 1:34 PM
> > To: seqan-dev at lists.fu-berlin.de
> > Cc: Andreas Tille
> > Subject: [Seqan-dev] source code for the apps
> >
> > Greetings Fellow Seqan Users and Developers,
> >
> > I'm currently packaging the OpenMS software suite for Debian. That
> > software depends on Seqan.
> >
> > Since release 1.10, OpenMS depends on Seqan 1.4.1. In Debian, we
> > currently have seqan 1.3.1 in the form of two packages: seqan-dev
> > (header files of the lib) and seqan-apps (binary programs) [[ CC
> > Andreas, who is the package maintainer ]].
> >
> > Before being able to package OpenMS for Debian, we thus have to have
> > seqan 1.4.1 packaged for Debian. The problem is that apparently the
> > apps are no more shipped in the source tarball. I see at
> > http://packages.seqan.de/ that the Seqan
> > software is now shipped in two forms:
> >
> > 1/ header files in the lib source bundle
> >
> > 2/ binary images in the apps bundle.
> >
> > Where can we get the source of the apps, so that we can continue
> > having both the library and the apps nicely packaged in Debian ?
> >
> > Thank you for your kind help,
> >
> > Filippo Rusconi
> >
> > --
> > Filippo Rusconi, PhD - public crypto key C78F687C @ pgp.mit.edu
> > Researcher at CNRS and Debian Developer <lopippo at debian.org>
> > Author of ``massXpert''     at http://www.massxpert.org
> >
> > _______________________________________________
> > seqan-dev mailing list
> > seqan-dev at lists.fu-berlin.de
> > https://lists.fu-berlin.de/listinfo/seqan-dev
> >
> 
> --
> http://fam-tille.de
> 

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list