[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. 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
Attachment:
pgpG52TGytfNb.pgp
Description: PGP signature