Re: Hints on packaging a library

2010-08-28 Thread Jonas Smedegaard

On Sat, Aug 28, 2010 at 01:35:56AM -0400, Alexandre Quessy wrote:

2010/8/26 Jonas Smedegaard :

On Thu, Aug 26, 2010 at 11:31:43AM -0400, Alexandre Quessy wrote:
The packages I am working and contain libraries on are: scenic, 
spinframework. I am also interested in packaging lyd.


Lyd? What is that? It is the danish (and norwegian) word for sound, 
but I never heard of it being a code project.


http://pippin.gimp.org/lyd/

It doesn't have any release yet, though. It's still in its early
stage. It can already play sounds and apply effects on them with a
nice script-like interface.


Seems fun.

Judging by the author's name it is the norwegian name - same as danish 
but pronounced slightly different (more clearly - we danes mumble!).



 - Jonas

--
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Re: Hints on packaging a library

2010-08-27 Thread Alexandre Quessy
Thanks everyone for your insights!
I think I will play with the autotools, libtool and the like a bit to
get a better understanding of what can be possible with the Debian
tools.

2010/8/26 Jonas Smedegaard :
> On Thu, Aug 26, 2010 at 11:31:43AM -0400, Alexandre Quessy wrote:
>> The packages I am working and contain libraries on are: scenic,
>> spinframework. I am also interested in packaging lyd.
>
> Lyd? What is that? It is the danish (and norwegian) word for sound, but I
> never heard of it being a code project.

http://pippin.gimp.org/lyd/

It doesn't have any release yet, though. It's still in its early
stage. It can already play sounds and apply effects on them with a
nice script-like interface.

-- 
Alexandre Quessy
http://alexandre.quessy.net/

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Re: Hints on packaging a library

2010-08-27 Thread Felipe Sateler
On 26/08/10 12:15, Reinhard Tartler wrote:
> On Thu, Aug 26, 2010 at 17:31:43 (CEST), Alexandre Quessy wrote:
> 
>> There is no debian/shlibs file in the Git repo for the packaging of
>> liblo. I guess it's generated by the debian/rules file?
> 
> yes, see the manpage of dh_makeshlibs. The file is generally created
> during runtime of debian/rules, but policy does not require that dynamics.

Note that if you provide a symbols file, the shlibs file is redundant
(see dpkg-shlibdeps(1)).

-- 
Saludos,
Felipe Sateler

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Re: Hints on packaging a library

2010-08-27 Thread Reinhard Tartler
On Thu, Aug 26, 2010 at 17:31:43 (CEST), Alexandre Quessy wrote:

> There is no debian/shlibs file in the Git repo for the packaging of
> liblo. I guess it's generated by the debian/rules file?

yes, see the manpage of dh_makeshlibs. The file is generally created
during runtime of debian/rules, but policy does not require that dynamics.

> It seems like the versioning of the shlibs rely on the
> LO_SO_VERSION=7:0:0 in configure.ac. Some project may not provide this
> upstream.

This is a libtool speciality and not every upstream uses libtool. Many
other upstreams prefer to add the -soname parameter to the linker
themselves in order to avoid libtool's complexity.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Re: Hints on packaging a library

2010-08-27 Thread Jonas Smedegaard

On Thu, Aug 26, 2010 at 11:31:43AM -0400, Alexandre Quessy wrote:
I was wondering if someone had hints on how to package a library. The 
things I want to package are often distributed with at least an 
executable which uses them.


My approach would be to suggest look at some library packages and try 
understand how each and every bit of information in them works.


...but it seems this is what you are doing already. :-)

Feel free to ask about bits and pieces of the packages I am involved in 
- I do try to have reasoning for every little comma in them, and would 
be happy to either clarify or be proven wrong (and then correct the bits 
revealed as being just casual or whatever).



The packages I am working and contain libraries on are: scenic, 
spinframework. I am also interested in packaging lyd.


Lyd? What is that? It is the danish (and norwegian) word for sound, but 
I never heard of it being a code project.




For now, I used CDBS, but I would like to give a try to dh 7, to
compare. :) Whatever works first...
Any examples of packages I should check out?


As you might know by now, I only have CDBS examples :-)

Feel free to pick and interrogate me about any of the 140+ packages 
which contains libraries from this list: 
http://qa.debian.org/developer.php?login...@jones.dk


(in worst case you dig up something I haven't polished for some time, 
but that will be beneficial to the community to then get it straightened 
up - and perhaps you might learn something in that process too?)




I looked at liblo, which is a library I know and use. It's pretty
straightforward.


Yeah, that one is almost as simple as it can get.

The rules file of that one could be much simpler if I wasn't so fond of 
some modern CDBS surplus, and .install files could be slightly trimmed 
if (or when) switching to debhelper 7.  But apart from that, liblo is 
probably as it gets.


But beware - partly it has to do with the library itself being quite 
simple: There are not really any build-dependencies, so no development 
dependencies to keep track of.


A more realistic example is liblrdf - using d-shlibs, patching source so 
needing autotools reconfiguration (with the extra juggling it brings 
when not taking the easy route of agressive gitignore use).




I found some info about the soversion (liblyd0, for example) in the
Debian policy manual.
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-shlibs
There is no debian/shlibs file in the Git repo for the packaging of
liblo. I guess it's generated by the debian/rules file?


That manual section describes how an shlibs file must end in the binary 
package, and that it _may_ end there by putting a similarly named file 
in the source package which then is installed with a debhelper script.


I prefer to resolve information dynamically whenever possible, and use 
d-shlibs for (most of) the library parts.  Might be that I got it wrong 
(I am certainly no expert in this area) but apparently the community is 
happy with e.g. uw-imap, libgd2, ghostscript, jbig2dec and other library 
packages that I maintain - none of which needs a shlibs file in the 
source package.




It seems like the versioning of the shlibs rely on the
LO_SO_VERSION=7:0:0 in configure.ac. Some project may not provide this
upstream.


If upstream do not maintain SONAME properly then you have a coding 
issue, not just a packaging one.  You can patch code during packaging 
but packaging tools do not solve broken software, so don't look there 
for magic solutions to broken upstream code.



Kind regards,

 - Jonas

--
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private


signature.asc
Description: Digital signature
___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Re: Hints on packaging a library

2010-08-27 Thread Felipe Sateler
On 26/08/10 11:31, Alexandre Quessy wrote:
> Hello everyone,
> I was wondering if someone had hints on how to package a library. The
> things I want to package are often distributed with at least an
> executable which uses them.
> 
> The packages I am working and contain libraries on are: scenic, spinframework.
> I am also interested in packaging lyd.
> 
> For now, I used CDBS, but I would like to give a try to dh 7, to
> compare. :) Whatever works first...
> Any examples of packages I should check out?

Liblo is really straightforward, as you noted. The problem with shared
libraries is not the packaging per se, but the updating of it to avoid
partial upgrades breaking, ABI breaks and other breakage.

> 
> I looked at liblo, which is a library I know and use. It's pretty
> straightforward.
> I found some info about the soversion (liblyd0, for example) in the
> Debian policy manual.
> http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-shlibs
> There is no debian/shlibs file in the Git repo for the packaging of
> liblo. I guess it's generated by the debian/rules file?

No, liblo doesn't have a shlibs file because it has a symbols file.
Symbols provide a finer grained dependency check, but at a higher overhead.

> 
> It seems like the versioning of the shlibs rely on the
> LO_SO_VERSION=7:0:0 in configure.ac. Some project may not provide this
> upstream.

No, that accounts for the SONAME (the 7.0.0 part after liblo.so). If a
project does not provide a SONAME, then please tell upstream to start
doing so, or just package it as a private library.


-- 
Saludos,
Felipe Sateler

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers


Hints on packaging a library

2010-08-26 Thread Alexandre Quessy
Hello everyone,
I was wondering if someone had hints on how to package a library. The
things I want to package are often distributed with at least an
executable which uses them.

The packages I am working and contain libraries on are: scenic, spinframework.
I am also interested in packaging lyd.

For now, I used CDBS, but I would like to give a try to dh 7, to
compare. :) Whatever works first...
Any examples of packages I should check out?

I looked at liblo, which is a library I know and use. It's pretty
straightforward.
I found some info about the soversion (liblyd0, for example) in the
Debian policy manual.
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-shlibs
There is no debian/shlibs file in the Git repo for the packaging of
liblo. I guess it's generated by the debian/rules file?

It seems like the versioning of the shlibs rely on the
LO_SO_VERSION=7:0:0 in configure.ac. Some project may not provide this
upstream.

I'll keep digging into this.
Thanks!
-- 
Alexandre Quessy
http://alexandre.quessy.net/

___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/pkg-multimedia-maintainers