diff --git a/device-mapper.changes b/device-mapper.changes index 9ff9f30..4ae0833 100644 --- a/device-mapper.changes +++ b/device-mapper.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +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) + ------------------------------------------------------------------- Sat Jun 17 16:50:53 UTC 2017 - zren@suse.com diff --git a/device-mapper.spec b/device-mapper.spec index ba016e1..c2484dd 100644 --- a/device-mapper.spec +++ b/device-mapper.spec @@ -250,7 +250,16 @@ Device mapper main shared library %{_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} diff --git a/lvm2-clvm.changes b/lvm2-clvm.changes index 9ff9f30..4ae0833 100644 --- a/lvm2-clvm.changes +++ b/lvm2-clvm.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +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) + ------------------------------------------------------------------- Sat Jun 17 16:50:53 UTC 2017 - zren@suse.com diff --git a/lvm2.changes b/lvm2.changes index 9ff9f30..4ae0833 100644 --- a/lvm2.changes +++ b/lvm2.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +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) + ------------------------------------------------------------------- Sat Jun 17 16:50:53 UTC 2017 - zren@suse.com