Re: Cooker upgrade still broken

Per Øyvind Karlsen <[email protected]> Mon, 23 Jan 2012 23:47:29 +0100
Newsgroups gmane.linux.mandrake.cooker.devel
Message-ID <CA+0WU1Sw7-F6U0WR=p8WGQ1_nK2BFpykPVSVx2CZ6fOozmPnDA@mail.gmail.com>
Den 22:30 23. januar 2012 skrev  <[email protected]> følgende:
>>
>> On Jan 23, 2012, at 4:02 PM, [email protected] wrote:
>>
>>>>
>>>> On Jan 22, 2012, at 11:48 AM, Per Řyvind Karlsen wrote:
>>>>
>>>>>>
>>>>>> How? By force reloading all perl modules in a running application?
>>>>> Running application? urpmi isn't expected to be running, and when it's
>>>>> actually
>>>>> running, the required modules has already been loaded and shouldn't be
>>>>> a problem..
>>>>>
>>>>> It's anyways solved by versioned dependencies on the required perl
>>>>> extensions.
>>>>>
>>>>
>>>> I needed to hear the info: thanks.
>>>>
>>>> If versioned dependencies on perl extensions "works", that's fine.
>>>>
>>>> The "correct" solution is likely unachievable and insoluble imho.
>>>>
>>>> (aside)
>>>> Using net link to detect a SELinux configuration file change to
>>>> perform a callback to RPM terrifies me ? the expectations
>>>> of package manager reliability are increasing.
>>>>
>>>> See the bug reports here on cooker@, don't believe what I am saying.
>>>
>>>  Update from 2011 is ugly, still running...
>>>
>>> [...]
>>>
>>>    1/182: zlib1                 #############################################
>>>    2/182: zlib1-devel           #############################################
>>>    3/182: locales-en            #############################################
>>>    4/182: locales               #############################################
>>>    5/182: perl-base             #############################################
>>>    6/182: locales-zh            #############################################
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> error: %post(locales-zh-2.14.90-1.x86_64) scriptlet failed, exit status 1
>>>    7/182: locales-pt            #############################################
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>>
>>> [...]
>>>
>>>  140/182: locales-hy            #############################################
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> perl: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
>>> /usr/lib/perl5/5.14.2/x86_64-linux-thread-multi/CORE/libperl.so)
>>> error: %post(locales-hy-2.14.90-1.x86_64) scriptlet failed, exit status 1
>>>  141/182: glibc                 #############################################
>>>  142/182: perl-Filesys-Df       #############################################
>>>  143/182: glibc-devel           #############################################
>>>
>>> [...]
>>>
>>> but once installing glibc it silences... Too bad I default install is pretty
>>> much
>>> all locales, so, too much noise for every locale post scripts failing?
>>>
>>
>> Yes: when glib follow rather than precedes then almost every %post
>> script can go off the rails (because /bin/sh needs glib).
>>
>> In yr specific examples I suspect its perl not bash.
>>
>> There's a couple things that can be done to correct the ordering.
>>
>> perl-base needs Requires: glibc should fix most of the problem
>> (assuming no LOOP's)
>>
>> You might try using embedded perl in rpm (assuming enabled and
>> that you don't need too many additional modules which will require
>> dependencies). The syntax is
>>
>>       %post -p <perl>
>>       your perl script here
>> Dunno if that will help or not. No guarantees, but I can fix
>> whatever you break if interested in trying embedded perl.
>>
>> There is
>>       %post -p <lua>
>> which is more widely supported. The goal would be to make the
>> glibc locales immune to a glibc upgrade and all the usual
>> dependency/ordering breakage. Embedded perl/lua is likely sufficient
>> to get the job done, and rpm itself has a "known good" glib
>> and perl interpreter: invoking the just installed perl is what is breaking
>> because glib wasn't installed.
>>
>>>  Also, now urpmi restarts and keeps going, but there are some other errors,
>>> like
>>> issues with x11 evdev and vbox drivers.
>>
>> Can't compute those issues in my head: sorry.
>
>  These should be packaging errors, or unresolved dependencies
> that probably did only work as upgrade from older cooker to
> newer cooker... hard to explain full details :-)
>
>>>  One of the next steps I will test 2010.2 update to cooker.
>>>
>>
>> Do you mean Mageia 1?
>>
>> /me scampers away merrily
>
>  Mandriva is still supposed to support 2010.2, so, it should
> be possible to update from 2010.2 directly to cooker, that
> should be the closest to 2012+.
>
>  Interestingly, glibc was updated first, but for some weird
> reason network gone down during the updated, so, after
> "service network restart" network come back. Now it is stuck
> in updating urpmi, and I tried first replacepkgs...:
>
> # LC_ALL=C urpmi --replacepkgs perl-MDV-Distribconf perl-IO-Tty perl-URPM aria2
> urpmi meta-task
>
>
> installing urpmi-6.70-1-mdv2012.0.noarch.rpm perl-URPM-4.38-5-mdv2012.0.i586.rpm
> perl-MDV-Distribconf-4.03-4-mdv2012.0.noarch.rpm
> meta-task-2012.0-2-mdv2012.0.noarch.rpm perl-IO-Tty-1.100.0-4-mdv2012.0.i586.rpm
> aria2-1.14.1-1-mdv2012.0.i586.rpm from /var/cache/urpmi/rpms
> Installation failed:
>        rpm < 1:5.3 conflicts with perl-URPM-4.38-5.i586
>        perl-XML-LibXML < 1.890.0-3 conflicts with urpmi-6.70-1.noarch
>        perl-XML-Parser < 2.410.0-4 conflicts with urpmi-6.70-1.noarch
>        perl-Term-ReadKey < 2.30-14 conflicts with urpmi-6.70-1.noarch
>        error while checking dependencies
>
> Installation failed:    rpm < 1:5.3 conflicts with perl-URPM-4.38-5.i586
>        perl-XML-LibXML < 1.890.0-3 conflicts with urpmi-6.70-1.noarch
>        perl-XML-Parser < 2.410.0-4 conflicts with urpmi-6.70-1.noarch
>        perl-Term-ReadKey < 2.30-14 conflicts with urpmi-6.70-1.noarch
>        error while checking dependencies
>
> but already run the rpm database conversion, so, effectively running
> rpm5, and it is not broken (apparently :-)
>
> # rpm -q rpm
> rpm-4.6.0-14mnb2
> rpm-5.4.4-31
>
> I think I can fix it, but really, should be done automatically, so,
> something to test :-)
Did you make sure to update to the perl-URPM version in main/updates first?

--
Regards,
Per Øyvind