Gentoo Archives: gentoo-dev

From: Chris Gianelloni <wolf31o2@g.o>
To: Paul Smith <pausmith@××××××××××××××.com>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] ROOT variable (was: Creating multiple "installations" on the same host)
Date: Wed, 24 Mar 2004 00:39:06
Message-Id: 1080088747.11988.7.camel@localhost
In Reply to: [gentoo-dev] ROOT variable (was: Creating multiple "installations" on the same host) by Paul Smith
1 On Tue, 2004-03-23 at 18:54, Paul Smith wrote:
2 > %% david@×××××××××.com writes:
3 >
4 > d> On Tue, Mar 23, 2004 at 01:57:06PM -0600, Joseph Booker wrote:
5 >
6 > >> for merging the packages..........$ROOT sounds like to me (and I
7 > >> havn't checked) that when an emerge is done, when it 'merges'
8 > >> /..../image with /, it insteads merges it with $ROOT, for example,
9 > >> if $ROOT was /usr, then all the files installed in /etc would to
10 > >> got /usr/etc, all in /usr/bin goto /usr/usr/bin, etc.
11 >
12 > d> I have use $ROOT quite extensively. I can vouch for it's working
13 > d> in this fashion, the only time it doesn't produce expected results
14 > d> is specific checks in ebuilds. Some ebuilds will check for a
15 > d> library(in the actual ebuild, not a configure script, ex: perl
16 > d> checks for libperl) and the check will be done on / not $ROOT So if
17 > d> the file/library required exists on $ROOT but not / the build
18 > d> fails.
19 >
20 > Either I'm doing something wrong, or I'm still not understanding, or
21 > there are problems in $ROOT handling.
22 >
23 >
24 > I just tried a basic setup with a vanilla Portage install without any of
25 > our local changes (from Portage CVS circa 2003/03/19).
26 >
27 > When I run "ROOT=/tmp/ptest emerge someapp" I get these errors:
28 >
29 > >>> /tmp/ptest/tmp doesn't exist, creating it...
30 > >>> /tmp/ptest/var/tmp doesn't exist, creating it...
31 > Traceback (most recent call last):
32 > File "/tmp/ptest/usr/lib/portage/bin/emerge", line 14, in ?
33 > import portage
34 > File "/tmp/ptest/usr/lib/portage/pym/portage.py", line 6320, in ?
35 > os.makedirs(cachedir,0755)
36 > File "/usr/lib/python2.2/os.py", line 203, in makedirs
37 > mkdir(name, mode)
38 > OSError: [Errno 13] Permission denied: '/var/cache/edb'
39 >
40 >
41 > Looking the code, it's looking for _BOTH_ /var/cache/edb _AND_
42 > $ROOT/var/cache/edb.
43
44 I would think that is correct, to test for both DEPEND _AND_ RDEPEND.
45 The stuff in DEPEND would need to be in your REAL /, whereas RDEPEND
46 would need to be in $ROOT/.
47
48 > I don't want to have to have the former, if $ROOT is set. In fact in
49 > our environment it won't exist. Is there a reason we need to test for
50 > both?
51
52 Definitely.
53
54 > Anyway, I'll continue with this and report problems as I find them.
55 > Is this better discussed on the gentoo-portage-dev list? Or should I
56 > just file bugs in Gentoo Bugzilla without discussion? Or...?
57
58 Well, in this case discussion has saved an unnecessary bug being filed,
59 so I would say that it is a good thing. I'm pretty interested in what
60 you're doing and saying, and I think quite a few others are judging by
61 the other responses. Also, while this is mostly portage related, I
62 think it also would be useful for catalyst and even for people doing
63 full-fledged virtual services. I think it should stay on -dev provided
64 it doesn't get too specific to portage alone.
65
66 --
67 Chris Gianelloni
68 Developer, Gentoo Linux
69 Games Team
70
71 Is your power animal a penguin?

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] ROOT variable (was: Creating multiple "installations" on the same host) John Nilsson <john@×××××××.nu>
[gentoo-dev] BUILDROOT concept (was Re: [gentoo-dev] ROOT variable) Paul Smith <pausmith@××××××××××××××.com>