Bug#656039: liblapack3: Provides liblapack.so.3gf virtual package without registering corresponding alternative

Jonathan Nieder jrnieder at gmail.com
Sun Feb 19 17:29:27 UTC 2012


Hi,

Sylvestre Ledru wrote:

> +++ lapack-3.4.0/debian/changelog	2012-02-19 04:59:35.000000000 -0600
> @@ -1,3 +1,10 @@
> +lapack (3.4.0-1~exp2) experimental; urgency=low
> +
> +  * Introduce back liblapack3gf as transitionnal package
> +    (Closes: #656039)
> +
> + -- Sylvestre Ledru <sylvestre at debian.org>  Sun, 19 Feb 2012 11:34:47 +0100

Thanks!  At first I was worried by the above description --- why would
adding a dummy package help to fix this bug? --- but the actual patch
looks closer to something that might work.

[...]
> --- lapack-3.4.0/debian/control	2011-12-25 17:55:15.000000000 -0600
> +++ lapack-3.4.0/debian/control	2012-02-19 05:38:18.000000000 -0600
> @@ -13,10 +13,21 @@
>  Package: liblapack3
>  Architecture: any
>  Depends: ${misc:Depends}, ${shlibs:Depends}
> -Provides: liblapack.so.3gf, liblapack.so.3
> +Provides: liblapack.so.3gf, liblapack.so.3, liblapack3gf
> -Conflicts: lapack99, liblapack3gf
> +Conflicts: lapack99, liblapack3gf (<< 3.4.0-1~exp1)
> -Replaces: lapack99, liblapack3gf
> +Replaces: lapack99, liblapack3gf (<< 3.4.0-1~exp1)

This Conflicts could and probably should be a Breaks.  liblapack3gf's
prerm (and the upgraded version's preinst, if any) would be run before
liblapack3 gets unpacked, making it safe.

Why isn't the

	update-alternatives --remove liblapack.so.3gf /usr/lib/liblapack/liblapack.so.3

in the updated liblapack3gf's preinst instead of liblapack3's
postinst, by the way?

The Conflicts also seems insufficient, since it doesn't force other
packages such as libatlas3gf-base for which liblapack.so.3gf is still
the master link to be upgraded.  Maybe a versioned Breaks against all
packages in squeeze providing liblapack.so.3gf would help, so the
upgrade path would be:

	1. Unpack new versions of libraries providing liblapack.so.3gf
	   en masse.  Preinst removes the old liblapack.so.3gf alternative.

	2. Configure new versions of libraries providing
	   liblapack.so.3gf.  Postinst adds the
	   liblapack.so.3/liblapack.so.3gf link group.

> -Description: library of linear algebra routines 3 - shared version
> +Description: Library of linear algebra routines 3 - shared version

I had thought the opposite convention was more common.

Hope that helps,
Jonathan





More information about the debian-science-maintainers mailing list