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

Reply via email to