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

Re: [MoM] snp-sites (Was: I would like to submit a package to debian-med)



Hi Jorge,

On Fri, Jan 10, 2014 at 10:41:58AM +0000, Jorge Sebastião Soares wrote:
> > Creating library packages is a bit more advanced task.  Since you have
> > decided to be brave and created these you should finish the hard way,
> > thought.
> 
> I start to regret it... :)

Well, that's a shame (see below ;-))
 
> > You should have a look into its rules file and its control file.
> > D-shlibmove will tell you everything else you need to do - if it is
> > not verbose enough for you feel free to keep on asking.
> >
> > For sure you can move around the files manually without d-shlibs but the
> > *.a file needs to go to the *-dev package as well as the *.so symlink.
> 
> I spent yesterday trying to understand how I could use d-shlibs to deal
> with the lintian warning:
> 
> W: libsnp-sites1: non-dev-pkg-with-shlib-symlink
> usr/lib/x86_64-linux-gnu/libsnp-sites.so.1.0.0
> usr/lib/x86_64-linux-gnu/libsnp-sites.so
> 
> I didn't get very far TBH. So I would like to ask you a couple of
> questions, to see if I can get a clearer picture.
> 
> We made the decision to create 3 debian packages for the snp_sites code
> instead of one monolythic package:
> 
> [1] snp-sites - binaries
> [2] libsnp-sites1 - run time libraries
> [3] libsnp-sites1-dev - development libraries

Fine.
 
> Doing this means that we need to have .install files for the three packages:
> 
> snp-sites.install
> libsnp-sites1.install
> libsnp-sites1-dev.install

No!  have you seen any lib*.install files in the volpack example??
D-shlibs is caring for installing the lib files and thus you can get rid
of these install files (which is part of the deal why d-shlibs is
comfortable and I was suggesting using it).

> libsnp-sites1.install is responsible for moving anything that gets put in
> 
> usr/lib/*/
> 
> to
> 
> usr/lib/*/
> 
> So in my understanding, this is the package that will install
> libsnp-sites.so1.0.0 and create the libsnp-sites.so symlink.

To make the story short I took the slight exercise at noon to
add d-shlibs to snp-sites.  Please `git pull` and try to understand
every single change.  If you do not understand just ask.

BTW, I noticed that your (now vanished) libsnp-sites1-dev.install was
brocken and did create separate directories for evary single header
file!  The correct thing to do would have been

  usr/share/*.h   usr/include/snp-sites

Moreover - from an upstream point of view:  what should do include files
in /usr/share????
 
> Now libsnp-sites.so1.0.0 is definitely a run time library and from my
> understanding should belong to [2]. But maybe it should all belong to [3]
> and there would be no need for [2].

Just trust d-shlibmove - it simply does the right thing without making
you to care for the specifics (at least in simple cases like this).
 
> If this is right, then there wouldn't even be a need to use d-shlibs.

There is never any need - you can always try to implement the Debian
Library policy ... if you know it by heart. ;-)
 
> Can you shed some light on this when you have time.

Hope the commit explained what I mean

     Andreas.

-- 
http://fam-tille.de


Reply to: