Source: libprelude Version: 1.0.0-11.4 Severity: serious Justification: Policy 8.1, 8.2
Policy says > The run-time shared library must be placed in a package whose name > changes whenever the SONAME of the shared library changes ... > If you have several shared libraries built from the same source tree, > you may lump them all together into a single shared library package > **provided that all of their SONAMEs will always change together**. Be > aware that this is not normally the case, and if the SONAMEs do not > change together, upgrading such a merged shared library package will be > unnecessarily difficult because of file conflicts with the old version > of the package. When in doubt, always split shared library packages so > that each binary package installs a single shared library. (my emphasis) but this is not the case for libprelude2, which contains both libprelude.so.2 and libpreludecxx.so.0. This makes it unnecessarily difficult to handle the libstdc++ transition (for which I will open another bug), which as far as I can see breaks the ABI of libpreludecxx.so.0 but not libprelude.so.2. Policy also says > If your package contains files whose names do not change with each > change in the library shared object version, you must not put them in > the shared library package. Otherwise, several versions of the shared > library cannot be installed at the same time without filename clashes, > making upgrades and transitions unnecessarily difficult. but libprelude2 contains /etc/prelude, /usr/bin/prelude-admin and /usr/share/man/man1/prelude-admin.1. Finally, it seems inappropriate for the shared library to include HTML documentation, which should really be in the -dev package or in a separate -doc package. libprelude needs to go through the NEW queue anyway, for the libstdc++ transition, so I will probably NMU this at the same time. S