Re: Bug#66084: lvm: 0.8i -> 0.8final migration
[Tom Lees <firstname.lastname@example.org>]
> however, this does still leave a big problem: how to handle the
> upgrade from 0.8i to 0.8final. If you are currently using LVM 0.8i,
> then upgrade to 0.8final, LVM will stop working unless you also
> recompile your kernel.
Aye, there's the rub. It's a design problem that Heinz can perhaps be
forgiven since at the time LVM wasn't in anyone's standard kernels
(except perhaps SuSE). I do hope 0.8final is to be the last public
> I thought I could maybe make an "lvm-0.8i_0.8i-..." package or
> something similar, which Replaces: lvm (< 0.8final), and is
> Recommended by the new lvm 0.8final.
Alternatively, borrowing a page from postgresql, have your preinst save
a copy of all the old binaries, in /lib/lvm-old or some such, and
arrange to invoke them automatically if the kernel is 0.8i. (It goes
without saying that /sbin/* should automatically run the right binary
somehow, whether via my wrapper script or whatever.) Then provide a
program /usr/sbin/lvm-configure, or whatever, that has an option to get
rid of the cruft when the user no longer has need of it.
The same preinst can detect a fresh installation and ignore the
> What exactly is the behaviour of apt when upgrading a package. How
> can I make it so that if you upgrade from the LVM 0.8i pkg to the
> 0.8final pkg, you get a compatibility package installed by apt or
> dselect or dpkg, but if you install the package fresh, that doesn't
Not sure this can be accomplished at all. The big difficulty is that
`apt-get dist-upgrade' doesn't respect either Recommends or Suggests,
so to get its attention you need a full Depends.
> Or should I put some sort of warning in the preinst?
That would be by far the simplest thing to do -- warn the user that he
should install `lvm-compat' unless he really knows what he's doing....
> The ideal situation would be to have 0.8final the "standard" version
> for both 2.2 and 2.4 kernels, with a 0.8i compatibility package,