Hello community, here is the log from the commit of package lvm2 for openSUSE:Factory checked in at 2017-07-04 11:55:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lvm2 (Old) and /work/SRC/openSUSE:Factory/.lvm2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "lvm2" Tue Jul 4 11:55:51 2017 rev:105 rq:507522 version:2.02.170 Changes: -------- --- /work/SRC/openSUSE:Factory/lvm2/device-mapper.changes 2017-06-23 09:13:49.584910975 +0200 +++ /work/SRC/openSUSE:Factory/.lvm2.new/device-mapper.changes 2017-07-04 11:55:53.246536310 +0200 @@ -1,0 +2,23 @@ +Thu Jun 29 16:38:05 UTC 2017 - dimstar@opensuse.org + +- Add Special migration for libdevmapper's move from /lib to + /usr/lib and from device-mapper.rpm to libdevmapper.rpm: the + library is now in %{_libdir}, but up to the point where zypp + removes the 'old' device-mapper package, the old library 'wins' + the ldloader race resulting in binaries asking for the newer + version still getting the old one (boo#1045396). + + A typical update issue seen is, zypp updating packages in this + order: + - libdevmapper1_03 (new package) + - libcryptsetup4 (links libdevmapper-1.03, rpm dep satisfied) + - systemd (linking libcryptsetup.so.4, rpm dep satisfied + At this point, anything calling systemdctl gets libdevmapper + from the old device-mapper package into the memory, which in + turn is version 1.02 and does not provide all the needed + symbols + - device-mapper (which removes /lib/libdevmapper.so.1.02, but is + now too late, as various post scripts already failed on running + systemctl) + +------------------------------------------------------------------- lvm2-clvm.changes: same change lvm2.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ device-mapper.spec ++++++ --- /var/tmp/diff_new_pack.wYnAPa/_old 2017-07-04 11:55:56.462083792 +0200 +++ /var/tmp/diff_new_pack.wYnAPa/_new 2017-07-04 11:55:56.462083792 +0200 @@ -250,7 +250,16 @@ %{_libdir}/libdevmapper.so.1.03 %{_libdir}/libdevmapper.so.1.02 -%post -n %{libname} -p /sbin/ldconfig +%post -n %{libname} +if [ -f /%{_lib}/libdevmapper.so.1.03 ]; then + # Special migration - the library is now in %{_libdir}, but up to the point where + # zypp removes the 'old' device-mapper package, the old library 'wins' the ldloader race + # resulting in binaries asking for the newer version still getting the old one. + # This in turn results in funny bugs like boo#1045396 + # Remove /%{_lib}/libdevmapper.so.1.02 - and the run ldconfig + rm /%{_lib}/libdevmapper.so.1.03 +fi + /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig %package -n %{libname_event} lvm2.spec: same change