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

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

Timshel Knoll wrote:

[Please CC all replies to me]

Hi all,

I'm having issues with getting parted's reiserfs support to work in a
way that complies with Debian policy. The issue is that parted dlopen()s
libreiserfs.so and libdal.so (from the libreiserfs-0.3-{0,dev}
packages) for its reiserfs support. This is fine, but the issue is that
the .so symlinks are in the -dev package, so parted's reiserfs support
fails unless the -dev package is installed (BAD). This problem is the
cause of bug #163107.

Possible solutions:

1. Put the .so symlinks in the libreiserfs-0.3-0 package. This breaks
  policy (section 9.0 says that the associated development package
  should contain the shared library without a version number). This is
  also a really bad precedent to set for other shared library packages
  which are dlopen()d.

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()).
  Also, the parted source code needs to be manually edited on every
  minor or SONAME change of library.

The best solution is to add configure option in parted like --libreiserfs-path

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




Bug-parted mailing list

Yury Umanets

Reply to: