Gentoo Archives: gentoo-embedded

From: Nathan Brink <ohnobinki@××××××××××××××××××××××××.net>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] some explanation on http://www.gentoo.org/proj/en/base/embedded/cross-development.xml ?
Date: Sun, 04 Nov 2007 22:56:56
Message-Id: 472E4DC7.6090106@ohnopublishing.homelinux.net
In Reply to: [gentoo-embedded] some explanation on http://www.gentoo.org/proj/en/base/embedded/cross-development.xml ? by Philippe Bertin
1 When it says ``as if SYSROOT were simply /'', it means that if you write
2 ROOT="/" in the ${SYSROOT}/etc/make.conf file (maybe a variable like
3 PKGDIR), the variable will be postprocessed by portage to be
4 ROOT=${PORTAGE_CONFIGROOT}/${ROOT}, which is equal to
5 ROOT=${PORTAGE_CONFIGROOT}//, which is equal to
6 ROOT=${PORTAGE_CONFIGROOT}. Thus, if you are attempted to type out the
7 SYSROOT in the ${SYSROOT}/etc/make.conf file, you should replace it with
8 a simple `/', for portage will rewrite it.
9
10 So, if you were writing the ${SYSROOT}/etc/make.conf and wanted to set
11 the PKGDIR variable so that if you passed --buildpkg to emerge the
12 packages would show up in ${SYSROOT}/packages/, you would set the
13 variable in the file to PKGDIR=/packages. This allows consistency for,
14 if it was possible, you wanted to chroot into ${SYSROOT} or copy it onto
15 a machine that natively executes the files in it, the portage running
16 inside the chroot or new machine where the file is found in
17 /etc/make.conf doesn't have hardcoded in it, for example,
18 PKGDIR=/usr/i586-pc-linux-gnu/packages, but instead points to the same
19 directory, just found at the path of /packages.
20
21 I hope this clarifies the sentence - that's what I understand of it.
22 Your interpretation of the first sentence saying it should include
23 ``*full* paths'' seems to indicate you'd type
24 PKGDIR=/usr/i586-pc-linux-gnu/packages rather than PKGDIR=/packages in
25 the example I attempted to give, while the sentence you are questioning
26 means, maybe not clearly, that you should replace the value of SYSROOT
27 in your mind with a simple `/' when editing the ${SYSROOT}/etc/make.conf
28 file. You are, as the sentence says, acting as if ${SYSROOT} were simply
29 "/".
30
31
32
33 Philippe Bertin wrote:
34 > Hello, all,
35 >
36 > On the page in subject, there's 2 sentences which are contradictory
37 > one another to my feeling. Either it's me, either this is a hint to
38 > eventually change the sentences :
39 > "Create a $SYSROOT/etc/make.conf file, and assign any path-related
40 > values in it as if SYSROOT were simply /. emerge should automatically
41 > adjust these values whenever ROOT and PORTAGE_CONFIGROOT are set to
42 > something other than /". Let's take, for an example's sake, a SYSROOT
43 > of "/usr/i586-pc-linux-gnu"
44 >
45 > The first sentence makes think that one should specify *full* paths.
46 > Because if one would need e.g. to specify a file
47 > /usr/i586-pc-linux-gnu/etc/make.conf, then one would specify ("as if
48 > SYSROOT were simply /") that file as
49 > "/usr/i586-pc-linux-gnu/etc/make.conf".
50 >
51 > On the other hand, I don't believe that's really the intention,
52 > because the second sentence kind of contradicts this: why would there
53 > be the need to specify full paths, if emerge automatically adjusts
54 > these values anyway ? So then I'd specify "/etc/make.conf", and have
55 > SYSROOT and emerge do their work.
56 >
57 > The example some lines further down the page doesn't come to the
58 > rescue either, as there aren't any path- related files specified in
59 > there. Is this one such of these opportunities for creating a better
60 > doc (and : what is the intention : specify full paths, or not) ?
61 >
62 > Kind regards
63 >
64 >
65 --
66 gentoo-embedded@g.o mailing list