ncurses abi 5

Tomasz Pala gotar at polanet.pl
Mon Jan 4 13:59:48 CET 2016


On Sun, Jan 03, 2016 at 18:26:39 +0200, Elan Ruusamäe wrote:

> mandrake (or it friends) used to have ALWAYS libFOON package, FOO = 
> libname, N = soname
> afaik debian also does something like this.

Debian uses lib%{name}%{ABI_version}. As I don't like the 'lib' prefix
(looks ugly, more pointless typing and no easy tab-completion of the
remaining subpackages), it is very tempting to have (in this example)
ncurses5 (no 'compat' prefix as well) build from appropriate branch from
main ncurses.git.

RFD: how about

1. replacing %package -n %{name}-libs with %{name}%{version} or %{name}%{version}-libs
2. assuring there are only the libs itself in such subpackage (only %doc won't do any harm due to versioned directory),
3. for each ABI version obsoleted, keeping the last available package in compat-libs FTP subdirectory (next to the debuginfo)?

Rationale:
there is not so many libraries that are frequently used and change ABI,
but these dozens out there are real PITA when upgrading any machine,
that has to keep compatibility with anything older than current HEAD.
Creating compat-whatever-libs just for any such case is overkill.
Renaming each one library.git to have version is also pointless in a
long term, as the old versions are going to be obsoleted eventually.
Moreover, such 'rouge' multilib, abusing rpm like:

~: rpm -q libpng
libpng-1.4.2-1.i686
libpng-1.2.38-1.i686
libpng-1.5.8-1.i686
libpng-1.6.6-1.i686

makes it hard to upgrade the latest version to the HEAD (as rpm tries to
replace all the previous versions). This clearly proves, that version
should be a part of resulting library name, but this doesn't mean the
spec.git has to follow.

-- 
Tomasz Pala <gotar at pld-linux.org>


More information about the pld-devel-en mailing list