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






On Fri, Jan 10, 2014 at 12:42 PM, Andreas Tille <andreas@an3as.eu> 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 to: