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

Re: Putting .so symlinks in libs package for dlopen()ing?

On Mon, Dec 09, 2002 at 11:26:14AM +1100, Timshel Knoll <timshel@debian.org> was heard to say:
> 2. Make parted dlopen() libreiserfs-0.3.so.0 rather than libreiserfs.so.
>    This will solve the problem, but is not ideal solution since a minor
>    version upgrade or SONAME change of libreiserfs will break parted's
>    reiserfs support (note that parted does its own internal checking of
>    libreiserfs versions to make sure it is compatible, and gracefully
>    fails if it can't resolve all required symbols on dlopen()).

  Could you explain in more detail why this is a bad thing?  SONAME
changes mean binary compatibility is broken -- even if you can resolve
all symbols, I don't think blindly trying to call stuff in the library
is a good idea.  I especially don't want a program with questionable
linkage to be mucking with my filesystems.

>    Also, the parted source code needs to be manually edited on every
>    minor or SONAME change of library.

  Hm, maybe you could run readlink on the development package's .so link
at build time...would that work?


> 3. Include a symlink to the appropriate libreiserfs in the
>    libparted1.6-0 package "/lib/parted/modules/libreiserfs.so" and
>    dlopen that instead. This has the added advantage that the symbolic
>    link could be updated from libparted's postinst, and I could also
>    modify it from libreiserfs's postinst. However, I'd rather find a
>    solution that didn't require _any_ mention of parted in libreiserfs,
>    other than a Suggests:. Or am I just being a puritan here?
> ATM I'm leaning towards 2, or possibly 3. Any comments/queries/further
> suggestions?
> Cheers,
> Timshel
> -- 
> Timshel Knoll <timshel@pobox.com>, Debian email: <timshel@debian.org>
> Debian GNU/Linux developer: http://people.debian.org/~timshel/
> GnuPG public key: finger timshel@debian.org

/-------------------- Daniel Burrows <dburrows@debian.org> -------------------\
|                          "Inconceivable!"                                   |
|                            -- "The Princess Bride"                          |
\------- (if (not (understand-this)) (go-to http://www.schemers.org)) --------/

Reply to: