« Return to Thread: [Cooker] Break in x11-server upgrade

Re: [Cooker] Break in x11-server upgrade

by Colin Guthrie-8 :: Rate this Message:

Reply to Author | View in Thread

Colin Guthrie wrote:
> I'll post a followup in a moment or two once I do the actual upgrade....

OK, post upgrade, I get:

[root@jimmy ~]# urpmf /usr/lib/X11/| cut -d':' -f1 |sort -u | xargs rpm
-V | grep -vE "^package.*not installed$"
missing     /usr/lib64/X11/lbxproxy/AtomControl
missing     /usr/lib/X11/AuErrorDB
missing     /usr/lib64/X11/Xcms.txt
missing     /usr/lib/X11/config/multiarch-dispatch-host.def
missing     /usr/lib64/X11/proxymngr/pmconfig
missing     /usr/lib64/X11/rstart/commands/@List
missing     /usr/lib64/X11/rstart/commands/ListContexts
missing     /usr/lib64/X11/rstart/commands/ListGenericCommands
missing     /usr/lib64/X11/rstart/commands/x11r6/@List
missing     /usr/lib64/X11/rstart/commands/x11r6/LoadMonitor
missing     /usr/lib64/X11/rstart/commands/x11r6/Terminal
missing     /usr/lib64/X11/rstart/config
missing     /usr/lib64/X11/rstart/contexts/@List
missing     /usr/lib64/X11/rstart/contexts/default
missing     /usr/lib64/X11/rstart/contexts/x11r6
missing     /usr/lib64/X11/rstart/rstartd.real
missing     /usr/lib64/X11/x11perfcomp
missing     /usr/lib64/X11/x11perfcomp/Xmark
missing     /usr/lib64/X11/x11perfcomp/fillblnk
missing     /usr/lib64/X11/x11perfcomp/perfboth
missing     /usr/lib64/X11/x11perfcomp/perfratio
....L...    /usr/X11R6
missing     /usr/lib64/X11/xedit
missing     /usr/lib64/X11/xedit/lisp
missing     /usr/lib64/X11/xedit/lisp/indent.lsp
missing     /usr/lib64/X11/xedit/lisp/lisp.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes
missing     /usr/lib64/X11/xedit/lisp/progmodes/auto.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/c.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/html.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/imake.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/lisp.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/make.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/man.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/patch.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/perl.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/python.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/rpm.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/sgml.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/sh.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/xconf.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/xlog.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/xrdb.lsp
missing     /usr/lib64/X11/xedit/lisp/syntax.lsp
missing     /usr/lib64/X11/xedit/lisp/xedit.lsp
missing     /usr/lib64/X11/app-defaults/KOI8RXTerm
missing     /usr/lib64/X11/app-defaults/UXTerm
missing     /usr/lib64/X11/app-defaults/XTerm
missing     /usr/lib64/X11/app-defaults/XTerm-color



Interestingly, it seems that:
ll /usr/lib/X11
lrwxrwxrwx 1 root root 15 2008-06-20 10:31 /usr/lib/X11 -> ../../lib64/X11

This is a broken symlink :(

So I did:
ln -sf ../lib64/X11 /usr/lib/X11
to fix that.


To fix this I did:

urpmi --replacepkgs xedit xterm libx11-common lbxproxy libnas2 x11perf
rstart proxymngr

After that I got:
[root@jimmy ~]# urpmf /usr/lib/X11/| cut -d':' -f1 |sort -u | xargs rpm
-V | grep -vE "^package.*not installed$"
....L...    /usr/X11R6
....L...    /usr/X11R6/lib/X11

Much better! So I tried urpmi --replacepkgs x11-server-common to fix up
the remaining issues...

[root@jimmy ~]# urpmi --replacepkgs x11-server-common

 
ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/devel/cooker/x86_64/media/main/release/x11-server-common-1.4.2-1mdv2009.0.x86_64.rpm
installing x11-server-common-1.4.2-1mdv2009.0.x86_64.rpm from
/var/cache/urpmi/rpms
Preparing...
/etc/X11 or /usr/lib/X11 is a symbolic link. You must run the
script in http://wiki.mandriva.com/en/CookerX11Upgrade before
continuing.
error: %pre(x11-server-common-1.4.2-1mdv2009.0.x86_64) scriptlet failed,
exit status 1
error:   install: %pre scriptlet failed (2), skipping
x11-server-common-1.4.2-1mdv2009.0
Segmentation fault

Arg! My /usr/lib/X11 is a symlink. I know it was I created it above!!
D'oh!!!! But then I only created it because it was a broken sysmlink...
That said, it seems that x11-server-common actually changed it from a
folder (see my last mail, it was definately a folder then!) to a
symlink.... and a broken one at that :(

So I cannot reinstall x11-server-common. So this package must changed
for the next revision to allow upgrade if /usr/lib/X11 is a symlink.


So I'm in a mess now :(

Right I'll sort this out! I think /usr/lib/X11 is meant to be a folder
right? It's not meant to be a symlink... Let's go with that.

mkdir /usr/lib/X11.new
urpmf /usr/lib/X11/| cut -d':' -f2 | sed 's,/usr/lib/X11/\(.*\)$,mv
/usr/lib/X11/\1 /usr/lib/X11.new/\1,' | sh
rm -f /usr/lib/X11
mv /usr/lib/X11.new /usr/lib/X11

Right.
[root@jimmy ~]# urpmf /usr/lib/X11/| cut -d':' -f1 |sort -u | xargs rpm
-V | grep -vE "^package.*not installed$"
missing     /usr/lib64/X11/Xcms.txt
missing     /usr/lib/X11/config/multiarch-dispatch-host.def
missing     /usr/lib64/X11/x11perfcomp
missing     /usr/lib64/X11/x11perfcomp/Xmark
missing     /usr/lib64/X11/x11perfcomp/fillblnk
missing     /usr/lib64/X11/x11perfcomp/perfboth
missing     /usr/lib64/X11/x11perfcomp/perfratio
....L...    /usr/X11R6
.M......    /usr/X11R6/lib/X11
missing     /usr/lib64/X11/Cards
missing     /usr/lib64/X11/Options
missing     /usr/lib64/X11/xedit
missing     /usr/lib64/X11/xedit/lisp
missing     /usr/lib64/X11/xedit/lisp/indent.lsp
missing     /usr/lib64/X11/xedit/lisp/lisp.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes
missing     /usr/lib64/X11/xedit/lisp/progmodes/auto.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/c.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/html.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/imake.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/lisp.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/make.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/man.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/patch.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/perl.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/python.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/rpm.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/sgml.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/sh.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/xconf.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/xlog.lsp
missing     /usr/lib64/X11/xedit/lisp/progmodes/xrdb.lsp
missing     /usr/lib64/X11/xedit/lisp/syntax.lsp
missing     /usr/lib64/X11/xedit/lisp/xedit.lsp
missing     /usr/lib64/X11/app-defaults/KOI8RXTerm
missing     /usr/lib64/X11/app-defaults/UXTerm
missing     /usr/lib64/X11/app-defaults/XTerm
missing     /usr/lib64/X11/app-defaults/XTerm-color

Dammit!

OK, I get it now. this is because, I have both 64 and 32 bit media
installed right? This is cocking up the whole thing!!!

OK, I understand now that using urpmf is a bad idea on dual arch installs...

OK, I'm just going to move things back again... "manually".

urpmf /usr/lib/X11/| cut -d':' -f1 |sort -u | xargs rpm -V | grep -vE
"^package.*not installed$" | grep -E "^missing.*/usr/lib64/" | cut -b13-
| sed 's,/usr/lib64\(.*\)$,mv /usr/lib\1 /usr/lib64\1,' | sh


That produced a few errors because some of the above were folders but
that doesn't matter :)

Some didn't work.... so:
mkdir /usr/lib64/X11/app-defaults
Then run it again.

OK, bettter :)
[root@jimmy ~]# urpmf /usr/lib/X11/| cut -d':' -f1 |sort -u | xargs rpm
-V | grep -vE "^package.*not installed$"
missing     /usr/lib/X11/config/multiarch-dispatch-host.def
....L...    /usr/X11R6
.M......    /usr/X11R6/lib/X11

Right, let's sort this out...
mv /usr/lib64/X11/config /usr/lib/X11/

OK, cooking on gas :)

Now after running:
[root@jimmy ~]# urpmi --replacepkgs x11-server-common
[root@jimmy ~]# urpmf /usr/lib/X11/| cut -d':' -f1 |sort -u | xargs rpm
-V | grep -vE "^package.*not installed$"
missing     /usr/lib/X11/AuErrorDB
missing     /usr/lib/X11/config/multiarch-dispatch-host.def
....L...    /usr/X11R6

WTF???? missing files?
[root@jimmy ~]# ls /usr/lib/X11 -l
lrwxrwxrwx 1 root root 15 2008-06-20 11:11 /usr/lib/X11 -> ../../lib64/X11


It's broken my symlink again!!!!!! Gahhhhhhh!

So what's going on here?

I've probably made things worse by doing this manually but there is
certainly somehting wrong somewhere... x11-server-common definately
creates a broken symlink on my system... why???

I cannot see anything in the post scripts that do this, so what is
responsible for hosing my /usr/lib/X11 folder and creating the bad symlink?

Col




--

+--------------------------+
|      Colin Guthrie       |
+--------------------------+
| cguthrie(at)mandriva.org |
|  http://colin.guthr.ie/  |
+--------------------------+

 « Return to Thread: [Cooker] Break in x11-server upgrade