Re: mklibs and global symbols for frontend plugins
On Tue, Aug 28, 2007 at 08:17:23PM +0200, Jérémy Bobbio wrote:
> Unfortunately, the way mklibs currently works is a bit conflicting with
> the idea of having dynamically loaded shared objects (cdebconf
> frontends plugins) using symbols from dynamically loaded shared objects
> (cdebconf frontends). The former are not directly linked to the later,
> and mklibs don't know that it should not strip symbols in use from the
> later.
This is incorrect. The build environment supplies all cdebconf modules
as additional binaries and asks for this symbols also. If this may be
broken, fix it.
> diff -Nru /tmp/w6hDdn1z9v/mklibs-0.1.24/src/mklibs.py /tmp/Ub0CwzXKwY/mklibs-0.1.25~lunar1/src/mklibs.py
> --- /tmp/w6hDdn1z9v/mklibs-0.1.24/src/mklibs.py 2007-06-11 09:58:05.000000000 +0200
> +++ /tmp/Ub0CwzXKwY/mklibs-0.1.25~lunar1/src/mklibs.py 2007-08-28 19:07:57.000000000 +0200
> @@ -334,6 +334,8 @@
> print "warning: " + obj + " may need rpath, but --root not specified"
>
> lib_path.extend(lib_rpath)
> +# WORKAROUND: frontend plugins
> +lib_path.append(root + '/usr/lib/cdebconf/frontend')
>
> passnr = 1
> available_libs = []
> @@ -368,6 +370,10 @@
> libraries = set()
> for obj in objects.values():
> needed_symbols.update(undefined_symbols(obj))
> + # WORKAROUND: frontend plugins
> + r = re.search(r'/lib/cdebconf/frontend/([^/]*)/[^.]*\.so$', obj)
> + if r:
> + libraries.add('%s.so' % r.groups(1))
> libraries.update(library_depends(obj))
>
> # calculate what symbols are present in small_libs and available_libs
NACK
Bastian
--
You can't evaluate a man by logic alone.
-- McCoy, "I, Mudd", stardate 4513.3
Reply to: