On Fri, Jan 10, 2014 at 12:42 PM, Andreas Tille <[email protected]> wrote:

> 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 ;-))
>

:)


> > 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).
>
>
I get it now.
No .install files at all.
This had escaped me completely.


> > 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.
>

I think I understand the steps:

        d-shlibmove --commit \
                    --multiarch \
                    --movedev "debian/tmp/usr/share/*.h"
usr/include/snp-sites \
                    debian/tmp/usr/lib/*/libsnp-sites.so

--commit - don't run in dry mode
--multiarch - implementing multiarch support (lib/ARCH/*)
--movedev - create dir and move files

So you're using the same syntax as the *.install files for moving.
In the case of libsnp-sites.so, the file will be moved from
debian/tmp/usr/lib/*/ to debian/tmp/usr/lib/*/libsnp-sites.so
It's all clear now.


> 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
>
> Fair enough.
I didn't realise it was creating one folder per file this way.



> Moreover - from an upstream point of view:  what should do include files
> in /usr/share????
>

Is the question,
What is the purpose of the files in include/ ?


>
> > 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).
>

This is brilliant.
I pulled, built and lintian does not complain anymore.



>
> > 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. ;-)
>

:)
I'll trust d-shlibs for the time being.


>
> > Can you shed some light on this when you have time.
>
> Hope the commit explained what I mean
>
>
Absolutely.
Thank you Andreas.

Now just have to deal with NMU and ITP.

Regards,

Jorge

Reply via email to