On Mon, Nov 24, 2025 at 09:44:11AM +0100, Peter Krempa via Devel wrote: > On Mon, Nov 24, 2025 at 09:32:52 +0100, Ján Tomko wrote: > > On a Monday in 2025, Peter Krempa via Devel wrote: > > > From: Peter Krempa <[email protected]> > > > > > > On Fedora 43 and newer the 'fuse-zfs' package was removed. Commit > > > bd30147e740 added an 'Obsoletes' directive so that the storage driver > > > core package will update properly but hardcoded the obsoleted version > > > as 11.4 (when the change was comitted) similarly to the old sheepdog/rbd > > > packages. > > > > > > Unfortunately that doesn't work if the sub-package removal happened > > > based on an external dependancy, rather than complete removal of said > > > > *dependency > > > > > module in libvirt. If users have e.g. virt-preview repos enabled they'll > > > get libvirt-11.9 currently installed, but the obsoleted version is just > > > 11.4, thus upgrades to Fedora 43 with virt-preview are broken. > > > > > > > Isn't that the expected behavior? > > No. While it doesn't break for users not using virt-preview since > they're on 11.0.0-5.fc42 it is expected that updates from any version > actually work properly.
IMHO if someone has virt-preview enabled and wants to upgrade to newer Fedora, they must first disable virt-preview and then do a "dnf distro-sync" to remove the virt-preview packages. We don't guarantee an upgrade path from virt-preview -> Fedora > > > > Fix this by obsoleting everything up to the current build. > > > > > > Fixes: bd30147e740d49fdb5844160e480ca34611f75e5 > > > Signed-off-by: Peter Krempa <[email protected]> > > > --- > > > libvirt.spec.in | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/libvirt.spec.in b/libvirt.spec.in > > > index 8314fbeb34..f1bfd5e652 100644 > > > --- a/libvirt.spec.in > > > +++ b/libvirt.spec.in > > > @@ -668,7 +668,7 @@ Obsoletes: libvirt-daemon-driver-storage-rbd < 5.2.0 > > > %endif > > > Obsoletes: libvirt-daemon-driver-storage-sheepdog < 8.8.0 > > > %if !%{with_storage_zfs} > > > -Obsoletes: libvirt-daemon-driver-storage-zfs < 11.4.0 > > > +Obsoletes: libvirt-daemon-driver-storage-zfs <= %{version}-%{release} > > > %endif > > Looking at it now ... I wonder if this perhaps shouldn't be just '<' > given that it uses also %{release} Using "%{version}" in an Obsoletes is contrary to Fedora guidelines which want us to explicitly use the last version which had the feature available. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
