Re: Cooker upgrade still broken
Jeffrey Johnson <[email protected]> Sun, 22 Jan 2012 10:55:06 -0500
| Newsgroups | gmane.linux.mandrake.cooker.devel |
|---|---|
| Message-ID | <[email protected]> |
On Jan 22, 2012, at 7:25 AM, Per Øyvind Karlsen wrote: > Den 08:32 22. januar 2012 skrev <[email protected]> følgende: >> I just made a simple test upgrading a cooker chroot a few >> weeks old, and the problem still happens. >> >> For the sake of helping anybody willing to quickly fix >> it, if you attempt to update, urpmi will stop working, so, >> this should get things working again: >> >> -%<- >> arch=`rpm --eval %_target_cpu` >> for pkg in \ >> perl-XML-LibXML-1.890.0-3-mdv2012.0 \ >> perl-XML-Parser-2.410.0-4-mdv2012.0 \ >> perl-Locale-gettext-1.50.0-9-mdv2012 \ >> perl-Term-ReadKey-2.30-14-mdv2012.0 \ >> ; do >> wget >> http://mirrors.kernel.org/mandriva/Mandrakelinux/devel/cooker/$arch/media/main/release/$pkg.$arch.rpm >> sudo rpm -Uvh $pkg.$arch.rpm && rm -f $pkg.$arch.rpm >> done >> -%<- >> >> Run the above after updating and urpmi stopping working >> due to perl missing symbols. > Should be prevented in urpmi-6.69-2. :) > How? By force reloading all perl modules in a running application? There's a very tricky problem to solve here when the modules being replaced/upgraded are actually in use by the installer tool chain. There's an analogous problem in SELinux when the xattr's used by rpm to attach file contexts during file installation being tracked here: https://blueprints.launchpad.net/rpm/+spec/rpm.org-security-plugins where the suggested solution here https://bugs.launchpad.net/rpm/+bug/915618 is to use a netlink callback to detect when a file changes to hint to rpm to reload file contexts. An equivalent netlink solution for perl (and python) is far harder because the application basically needs to exec in order to reload modules (i.e. modules typically cannot be unloaded). So are you re-execing urpmi when modules change somehow? For all perl modules that might be used? With a fallback to last-known-good in case the new module is buggy? Please note that this is a very very very hard problem for installers to solve correctly. hth 73 de Jeff > -- > Regards, > Per Øyvind