[Debtags-devel] First packaging issue for the new comaintainance team

Enrico Zini enrico at enricozini.org
Mon Sep 12 09:52:45 UTC 2005


Hello,

An old wound we thought to have cured has reopened again.

As you probably know, both tagcoll and apt-front ABIs and to a lesser
extent also APIs have not been stabilised yet; this is the reason we
are trying to to provide packages with shared libraries, and we're
shipping only -dev packages.  However, applications such as
packagesearch or python/perl bindings require some kind of
dynamically-loadable module, which should have -fPIC code.

In the past, I was building -dev and -pic versions of the libraries,
which was an annoying maintainance task (you need to recompile
everything twice, and you need to do it by (that is, with ad-hoc
compilation rules in Makefile.am) because I couldn't find a way to tell
libtool that I wanted the PIC code in a library as well.

Later on it appeared that the -pic libraries were non-needed, at the
cost of a bigger loading time and memory footprint because of textrels.
I was happy to trade that for ease of maintainance, I got rid of the
-pic and I was happy.

Today I've learnt of this:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324032

Peter Rockai quickly did more investigation and he found out in libtool
documentation that in theory one could just do the other way round and
put PIC code in the static libs instead.  But then he found that:

  Policy 10.2:

  The shared version of a library must be compiled with -fPIC, and the
  static version must not be. In other words, each source unit (*.c, for
  example, for C files) will need to be compiled twice.

So we seem to be stuck again.  I see two options, and I like none of
them:

 - build -fPIC libraries again (and in that case I'd like to find a
   better way to do it than before[1]
 - build a .so and change its name at every upload

The good news this time is that I'm not alone anymore in solving this
mess and we can work it out in a team.  What do you think of this
situation?


Ciao,

Enrico

[1] http://svn.debian.org/wsvn/debtags/debtags/trunk/debtags/Makefile.am?op=file&rev=1220&sc=0

 <catch-up>
 In the meantime, libdebtags1 has been merged into libapt-front.  The
 current package chain is a bit shorter:
 
 Source package tagcoll generates binary packages tagcoll and
 libtagcoll2-dev
 
 Reverse dependency graph: 
 
 libtagcoll2-dev -> tagcolledit
                 -> libapt-front-dev -> debtags
         	                    -> debtags-edit
         		      	    -> (in a short future) packagesearch
         		            -> (in a shortish future) language bindings
 
 libapt-front is maintained by me and Peter "mornfall" Rockai at
 libapt-front.alioth.debian.org
 </catch-up>


--
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico at enricozini.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/debtags-devel/attachments/20050912/1f05b537/attachment.pgp


More information about the Debtags-devel mailing list