Move the removal of multilibs to %pre

(cherry picked from commit 34d14091784c508be9a0b451fdd97d468bad016c)
This commit is contained in:
Tulio Magno Quites Machado Filho 2024-04-12 19:12:53 +02:00 committed by Florian Weimer
parent 4ccb7475fc
commit d521284ad1

View File

@ -2263,13 +2263,11 @@ if rpm.vercmp(rel, required) < 0 then
error("FATAL: kernel too old", 0) error("FATAL: kernel too old", 0)
end end
%post -p <lua>
%glibc_post_funcs
-- (1) Remove multilib libraries from previous installs. -- (1) Remove multilib libraries from previous installs.
-- In order to support in-place upgrades, we must immediately remove -- In order to support in-place upgrades, we must immediately remove
-- obsolete platform directories after installing a new glibc -- all platform directories before installing a new glibc
-- version. RPM only deletes files removed by updates near the end -- version. RPM only deletes files removed by updates near the end
-- of the transaction. If we did not remove the obsolete platform -- of the transaction. If we did not remove all platform
-- directories here, they may be preferred by the dynamic linker -- directories here, they may be preferred by the dynamic linker
-- during the execution of subsequent RPM scriptlets, likely -- during the execution of subsequent RPM scriptlets, likely
-- resulting in process startup failures. -- resulting in process startup failures.
@ -2342,7 +2340,9 @@ for _, rdir in ipairs (remove_dirs) do
end end
end end
-- (2) Update /etc/ld.so.conf %post -p <lua>
%glibc_post_funcs
-- (1) Update /etc/ld.so.conf
-- Next we update /etc/ld.so.conf to ensure that it starts with -- Next we update /etc/ld.so.conf to ensure that it starts with
-- a literal "include ld.so.conf.d/*.conf". -- a literal "include ld.so.conf.d/*.conf".
@ -2381,14 +2381,14 @@ if posix.access (ldsoconf) then
end end
end end
-- (3) Rebuild ld.so.cache early. -- (2) Rebuild ld.so.cache early.
-- If the format of the cache changes then we need to rebuild -- If the format of the cache changes then we need to rebuild
-- the cache early to avoid any problems running binaries with -- the cache early to avoid any problems running binaries with
-- the new glibc. -- the new glibc.
call_ldconfig() call_ldconfig()
-- (4) Update gconv modules cache. -- (3) Update gconv modules cache.
-- If the /usr/lib/gconv/gconv-modules.cache exists, then update it -- If the /usr/lib/gconv/gconv-modules.cache exists, then update it
-- with the latest set of modules that were just installed. -- with the latest set of modules that were just installed.
-- We assume that the cache is in _libdir/gconv and called -- We assume that the cache is in _libdir/gconv and called
@ -2396,7 +2396,7 @@ call_ldconfig()
update_gconv_modules_cache() update_gconv_modules_cache()
-- (5) On upgrades, restart systemd if installed. "systemctl -q" does -- (4) On upgrades, restart systemd if installed. "systemctl -q" does
-- not suppress the error message (which is common in chroots), so -- not suppress the error message (which is common in chroots), so
-- open-code rpm.execute with standard error suppressed. -- open-code rpm.execute with standard error suppressed.
if tonumber(arg[2]) >= 2 if tonumber(arg[2]) >= 2