[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: