Your Python ctypes wrapper for libarchive is "development" code, by definition, if it requires the .so symlink. Either work around the problem by other means, or accept that there is a dependency on libarchive-dev.
For background, examine how other packages are doing this: $ for f in /usr/lib/*.so; do > test -L "$f" && dpkg -S "$f" && continue > echo "*** $f: not a symlink" > dpkg -S "$f" > done libc6-dev: /usr/lib/libanl.so gettext: /usr/lib/libasprintf.so gettext: /usr/lib/libasprintf.so *** /usr/lib/libbfd-2.20.1-system.20100303.so: not a symlink binutils: /usr/lib/libbfd-2.20.1-system.20100303.so libc6-dev: /usr/lib/libBrokenLocale.so libc6-dev: /usr/lib/libcidn.so libssl-dev: /usr/lib/libcrypto.so libc6-dev: /usr/lib/libcrypt.so *** /usr/lib/libc.so: not a symlink libc6-dev: /usr/lib/libc.so *** /usr/lib/libdb-4.5.so: not a symlink libdb4.5: /usr/lib/libdb-4.5.so *** /usr/lib/libdb-4.6.so: not a symlink libdb4.6: /usr/lib/libdb-4.6.so *** /usr/lib/libdb-4.7.so: not a symlink libdb4.7: /usr/lib/libdb-4.7.so *** /usr/lib/libdb-4.8.so: not a symlink libdb4.8: /usr/lib/libdb-4.8.so libc6-dev: /usr/lib/libdl.so *** /usr/lib/libgettextlib-0.18.1.so: not a symlink gettext: /usr/lib/libgettextlib-0.18.1.so gettext: /usr/lib/libgettextlib.so gettext: /usr/lib/libgettextpo.so *** /usr/lib/libgettextsrc-0.18.1.so: not a symlink gettext: /usr/lib/libgettextsrc-0.18.1.so gettext: /usr/lib/libgettextsrc.so libc6-dev: /usr/lib/libm.so libc6-dev: /usr/lib/libnsl.so libc6-dev: /usr/lib/libnss_compat.so libc6-dev: /usr/lib/libnss_dns.so libc6-dev: /usr/lib/libnss_files.so libc6-dev: /usr/lib/libnss_hesiod.so libc6-dev: /usr/lib/libnss_nisplus.so libc6-dev: /usr/lib/libnss_nis.so *** /usr/lib/libopcodes-2.20.1-system.20100303.so: not a symlink binutils: /usr/lib/libopcodes-2.20.1-system.20100303.so *** /usr/lib/libpthread.so: not a symlink libc6-dev: /usr/lib/libpthread.so python2.5-dev: /usr/lib/libpython2.5.so python2.6-dev: /usr/lib/libpython2.6.so libc6-dev: /usr/lib/libresolv.so libc6-dev: /usr/lib/librt.so ruby1.8-dev: /usr/lib/libruby1.8.so libssl-dev: /usr/lib/libssl.so libtextcat-dev: /usr/lib/libtextcat.so libc6-dev: /usr/lib/libthread_db.so libc6-dev: /usr/lib/libutil.so zlib1g-dev: /usr/lib/libz.so *** /usr/lib/preloadable_libintl.so: not a symlink gettext: /usr/lib/preloadable_libintl.so This is on a system where there are not many *-dev packages, but you can see that the vast majority of symlinks are from *-dev packages. Apart from gettext, the general observation would seem to be that the library itself installs a *.so file which is not a symlink when the package name already embeds a version number anyway. If you would like for things to be handled differently in Debian-based distributions, you should raise a bug against Debian policy. This is purely academic, though; I am pretty sure you cannot convince them to change how this works unless you can come up with a truly compelling reason why the current policy is broken. ** Changed in: libarchive (Ubuntu) Status: Expired => Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1310765 Title: libarchive.so is not symlinked To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/1310765/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs