Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: upgrade clobbered /lib symlink
Date: Fri, 05 Jun 2009 14:01:42
Message-Id: pan.2009.06.05.14.01.27@cox.net
In Reply to: [gentoo-amd64] upgrade clobbered /lib symlink by Kirk Lowery
1 Kirk Lowery <empirical.humanist@×××××.com> posted
2 e74dfca60906040548r3b0c1c89sf73c9f5e47119ede@××××××××××.com, excerpted
3 below, on Thu, 04 Jun 2009 08:48:13 -0400:
4
5 > I have a dual Opteron box that has successfully run a "nomultilib"
6 > 64-bit only system for years. For various reasons, the box had not been
7 > updated for a long time. I did a major upgrade over several days,
8 > incrementally. Somewhere along the way, some ebuild clobbered my /lib
9 > symlink to /lib64. My profile is "nomultilib" and my global USE flags
10 > include "-multilib". I discovered the problem when I tried to restart
11 > one of my servers, restored the symlink,and everything works fine. Happy
12 > ending.
13 >
14 > My question: I have all the portage logs from the upgrade. Is there some
15 > way I can determine which ebuild first changed the symlink? I need to
16 > determine whether there is a bug in that ebuild, or it was simply a
17 > glitch because of the massive set of upgrades. In the first case, I'd
18 > like to file a bug on that package. On the other hand, it may not be
19 > worth the time and effort.
20 >
21 > But I'm willing to devote a couple of hours of research to this in the
22 > community interest.
23
24 Very interesting. FWIW, the lib-lib64 symlink has flipped a time or two
25 over the years, depending on what stage tarball the base install came
26 from and possibly depending on the baselayout version. Thus, I'd
27 investigate baselayout first. (Added later:) Also see
28 http://bugs.gentoo.org/show_bug.cgi?id=132135, and check xorg and glibc
29 (bug 122274) as well.
30
31 equery belongs (with equery being part of gentoolkit) would be helpful in
32 this sort of situation in /most/ cases, but here I'm not so sure, since a
33 package is said to "own" a directory if it has any files in it, and
34 portage only removes it on uninstall if there's nothing left in it after
35 it removes the files the uninstalled package owns, thus saving the dir if
36 other packages own it or if there's orphaned or non-package files in the
37 dir. Since we're talking about the major /lib and /lib64 dirs here, a
38 larger number of packages than normal are likely to own them. At least
39 it's not /usr/lib and /usr/lib64 we're talking about, as a HUGE number of
40 packages will own them!
41
42 Still, you /might/ find something if you look for those that use the
43 symlink form, since those should be far fewer and the package rather out
44 of the ordinary. At least here, nothing reports the symlink form, and
45 baselayout doesn't own either dir but openrc owns /lib64. However, as
46 the openrc clue will indicate to many, I'm using ~amd64 keywords and thus
47 baselayout v2 (2.0.1 to be exact), so that's not going to be
48 representative of a stable amd64 baselayout v1 installation (which
49 doesn't use openrc as it's effectively both packages in one) at all.
50
51 But I doubt that'll turn up anything.
52
53 Something that /might/ turn up something would be grepping the portage
54 logs for references to /lib. Of course, depending on the grep, you may
55 get ALL /lib references including the ones in /usr, both the plain lib
56 and the lib64 versions, and even /usr/libexec and private lib subdirs
57 such as /usr/kde/3.5/lib or whatever, so you may have to play with the
58 grep/search a bit to reduce the number of false positives. For various
59 technical reasons, such system-wide changes are often specifically
60 scripted, outside the usual portage install uninstall operations, so it's
61 possible you can trim the search by throwing in a reference to rm, as
62 well.
63
64 Meanwhile, I read the dev list and someone happened to mention something
65 that sounded very much like what you are saying, a bug due to a removed
66 /lib or /lib64 symlink. My eyes perked up (ears perked up is the usual
67 phrase, but I was reading not listening in this case) at that, but it was
68 merely a passing reference with basically no additional information, IIRC
69 not even a bug number I could look at, so I haven't the foggiest whether
70 it's actually related to this or not, nor do I remember now which thread
71 or any other context, so finding who it was to mail them and ask would be
72 difficult. It's really rather frustrating. However, that does indicate
73 that there's a good chance they already know about it. Thus unless
74 you're seriously curious (as I imagine I would be, when such things
75 happen I want to know why and how, in ordered to determine how likely
76 they are to occur again!), you might just decide they've probably caught
77 the bug already based on the above, and leave it at that.
78
79 Finally, if you're still interested in investigating the matter and given
80 that we now know there's likely a bug filed on it, you can try searching
81 filed bugs. In fact, I'm already curious enough about it to do one
82 search...
83
84 On Gentoo bugzilla I used the search "ALL /lib symlink", and came up with
85 the above listed early bugs (at the "added later" note), but nothing as
86 recent as I recall that dev list reference being. So I don't know...
87
88 But the other possible method, assuming not /too/ many packages were
89 updated and/or that you search against the system-wide packages like
90 baselayout, glibc, gcc, xorg-server, etc that are most likely to cause
91 the problem, first, and leave say codecs and such unlikely candidates for
92 later, would be to do an ALL bugzilla search against each one, checking
93 the bugs filed in say the last three months, and see what you come up
94 with.
95
96 If you figure out what it was, please do post an update, and/or link the
97 bug or whatever. I'm curious, and as I said, as any good admin upon
98 seeing an unsolved mystery such as this, wonder at the possibility of it
99 hitting here, even if it's reasonably unlikely given that on ~amd64 and
100 updating generally a couple times a week, I'm likely long past any danger.
101
102 --
103 Duncan - List replies preferred. No HTML msgs.
104 "Every nonfree program has a lord, a master --
105 and if you use the program, he is your master." Richard Stallman