Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Transition from sys-apps/linux32 to sys-apps/setarch
Date: Tue, 11 Apr 2006 20:02:44
Message-Id: pan.2006.04.11.19.58.52.846758@cox.net
In Reply to: Re: [gentoo-amd64] Transition from sys-apps/linux32 to sys-apps/setarch by "Vladimir G. Ivanovic"
1 Vladimir G. Ivanovic posted
2 <1144775349.12957.28.camel@×××××××××××××××××.org>, excerpted below, on
3 Tue, 11 Apr 2006 10:09:09 -0700:
4
5 > On Tue, 2006-04-11 at 17:08 +0200, Simon Stelling wrote:
6 >
7 >> In case you wonder why emerge -uD world shows you a block, note bug
8 >> 123526 [1]. It's as easy to resolve as every other block:
9 >
10 > It's not obvious to me which package (in general) should prevail.
11 >
12 > I'm leery of simply unmerging the blocking package to make way for the
13 > blocked package. Is it always the case that the blocked package is a
14 > drop-in replacement for the blocking package? Would such a blocking
15 > scenario every happen with, say, glibc?
16
17 It's not always the case, no. As for glibc, not likely, unless you try to
18 emerge the gentoo-fbsd libc or something equally strange. Even then, it'd
19 be more than a blocker, as that's setup by the profile, so you'd be
20 changing your profile as well. Basically, there'd be several BIG FLASHY
21 WARNINGS and refusals to go forward unless you manually overrode things,
22 such that such a thing is not something you have to worry about doing
23 accidentally. (Well, I've read of folks doing some pretty stupid stuff
24 when drunk or high, but other than that... Just don't go sysadmin-ing
25 while under the influence! =8^)
26
27 Blockers denote packages that stomp on each other if you try to merge both
28 of them. It's portage's way of saying, "Hey, you can't merge that if this
29 package you already have (or that's a dependency of something else you are
30 merging) is already merged! Choose one or the other, but you can't have
31 both, or bad things will happen!"
32
33 A blocker is often set when a package forks, and the two separate packages
34 still contain many of the same files and/or use the same config, but the
35 two different versions of the conflicting files are incompatible.
36 Alternatively, it might not be direct forks, but two packages providing
37 similar functionality. An example would be some of the various cron
38 packages, which block each other.
39
40 In our particular case, linux32 vs. setarch, the two packages provide the
41 same functionality and many of the same files, so if you merge one, it'll
42 overwrite the files of the other. Setarch, however, is a global package
43 that's more flexible than linux32, as it can be used for all the various
44 multilib archs (amd64, sparc, mips, ppc, etc), and can handle applications
45 such as double-chroots where you run a 64-bit chroot inside a 32-bit
46 chroot on a 64-bit native system. The old linux32 was somewhat arch
47 flexible, but as written was hardcoded (according to the bug) to 32-bit,
48 so one could do the single chroot thing with it, but not the double chroot
49 thing, 32-bit on 64-bit OK, 64-bit in 32-bit on 64-bit not so. Thus, the
50 old linux32 package will eventually be removed (after a suitable
51 switchover time), while setarch provides the same functionality (including
52 a linux32 symlink) and more.
53
54 That's why blockers are set up the way they are, to tell the sysadmin
55 about the problem and let them decide, rather than to arbitrarily make the
56 decision. If it was always a direct dropin replacement (as here), portage
57 could just go ahead and do it (perhaps with the standard 10-second serious
58 ebeep warning), instead of bothering the admin.
59
60 --
61 Duncan - List replies preferred. No HTML msgs.
62 "Every nonfree program has a lord, a master --
63 and if you use the program, he is your master." Richard Stallman in
64 http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html
65
66
67 --
68 gentoo-amd64@g.o mailing list