[Debtags-devel] Tricky library packaging question

Enrico Zini enrico@enricozini.org
Mon, 9 May 2005 15:06:28 +0200


--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline

Hello,

I'm trying to package the new version of debtags, with perl and python
bindings, and I'm facing some tricky issues.

Source packages:

  libtagcoll1
     Functions used to manipulate tagged collections
  libdebtags1
     Debian package tags library (also builds perl and python bindings)

Now, the ABI, and to a lesser extent the API of the libraries is still
not stabilised, so I was planning to package libtagcoll1 and libdebtags1
only as -dev packages.  That way, packages would be statically linked to
them and a new version of the libraries wouldn't break existing
packages.  Something similar is being done with libbuffy-dev and buffy,
and buffy also has this build-depends line to work a bit around
unexpected FTBFS:
  Build-Depends: ..., libbuffy-dev (>> 0.3), libbuffy-dev (<< 0.4)
this is suboptimal and requires some coordination between the library
and its users, but it's ok while there are not many applications using
the library.

Libbuffy also has python bindings.  I could not build them with a
package build-depending on libbuffy-dev, as that would not contain PIC
code and the python bindings are shared objects.  So I build them as
part of libbuffy-dev, directly pointing at the .lo files built by
libtool during the compilation.

Now comes libdebtags.  I'm doing the same, however I also depend on
libtagcoll1, which is -dev only (and thus not PIC).

How do I handle all this?

Option 1:
 - Generate shared libraries, with a shlibs file creating dependencies
   for an exact version, and put in the description that they are
   there only to compile the bindings and should not be linked against.

Option 2:
 - Generate -pic packages.  Here I need some practical help because I've
   never done it.

I cannot think of any other options.  I'm short of clues for the best
way of doing this, and I'd be happy to give access to the svn repository
of people who could help and work on it together.


Ciao,

Enrico

--
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico@enricozini.org>

--EVF5PPMfhYS0aIcm
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCf2BU9LSwzHl+v6sRAmDpAJ0XVYIG3XgOkuR+wX6tLDkiaa09MwCeMFAG
jFNiF4ocnnpNQBwPwQRDzxo=
=WuJk
-----END PGP SIGNATURE-----

--EVF5PPMfhYS0aIcm--