Gentoo Archives: gentoo-alt

From: heroxbd@×××××.com
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] Gentoo RAP bootstrap script
Date: Mon, 09 Sep 2013 03:45:19
Message-Id: 86fvte8xq1.fsf@moguhome00.in.awa.tohoku.ac.jp
In Reply to: Re: [gentoo-alt] Gentoo RAP bootstrap script by Steven Trogdon
1 Hey, Steve,
2
3 Steven Trogdon <strogdon@×××××.edu> writes:
4
5 > Yes, this did the trick until emerging portage-2.2.01.22124-r1.
6
7 Cool!
8
9 > A failure happens when, from the script
10 >
11 > *** emerge --oneshot --verbose sys-apps/portage
12
13 > is executed. During the configure of portage I get:
14 >
15 > checking for user id of strogdon...
16 > /storage/strogdon/gentoo-glibc/usr/bin/id: strogdon: no such user
17 > configure: error: error finding the user id of strogdon
18 >
19 > !!! Please attach the following file when seeking support:
20 > !!! /storage/strogdon/gentoo-glibc/var/tmp/portage/sys-apps/portage-2.2.01.22124-r1/work/prefix-portage-2.2.01.22124/config.log
21 > ^[[31;01m*^[[0m ERROR: sys-apps/portage-2.2.01.22124-r1 failed
22 > (configure phase):
23 > ^[[31;01m*^[[0m econf failed
24 > ^[[31;01m*^[[0m
25 > ^[[31;01m*^[[0m Call stack:
26 > ^[[31;01m*^[[0m ebuild.sh, line 93: Called src_configure
27 > ^[[31;01m*^[[0m environment, line 2377: Called econf
28 > '--with-portage-user=strogdon' '--with-portage-group=math'
29 > '--with-root-user=strogdon'
30 > '--with-offset-prefix=/storage/strogdon/gentoo-glibc'
31 > '--with-extra-path=/usr/bin:/bin'
32 > ^[[31;01m*^[[0m phase-helpers.sh, line 521: Called die
33 > ^[[31;01m*^[[0m The specific snippet of code:
34 > ^[[31;01m*^[[0m die "econf failed"
35 >
36 > I've seen this sort of thing on other tries to build glibc in prefix.
37 > Here the host OS is debian and authentication is via a radius server
38 > over nfs. All user specific info is not stored in /etc/passwd but in a
39 > user passwd database. On gentoo, glibc sets the location to search for
40 > this database as under /var/db and I believe this needs to be
41 > $EPREFIX/var/db. Here on the host the database is stored under
42 > /var/lib/misc. One cannot simply copy over the debian-provided
43 > database to $EPREFIX/var/db and get things to work, at least I don't
44 > thing so. It is possible to get things to work with a little work,
45 > once the search path is $EPREFIX/var/db. One has to, from the output
46 > of "/usr/bin/getent passwd" on the host, generate a database for
47 > gentoo. And then some minor changes have to be made to
48 > $EPREFIX/etc/nsswitch.conf so that things are database aware. To see
49 > the problem, from within $EPREFIX
50 >
51 > $ id
52 > uid=105600 gid=925(math) groups=925(math)
53 >
54 > and using the host id
55 >
56 > $ /usr/bin/id
57 > uid=105600(strogdon) gid=925(math) groups=925(math)
58 >
59 > I don't see an easy way to deal with this without manual (user)
60 > intervention, once the search path to the location of the passwd
61 > database is correct. If one symlinks the $EPREFIX id to the host id
62 > then portage will build but will not install due to failures when
63 > python checks for uid info.
64
65 This is an unexplored zone. I have tricks for ldap, i.e. ln -sf
66 {,$EPREFIX}/etc/ldap.conf. But I have no experience with auth over
67 radius setup.
68
69 One solution is to patch glibc to look into $EPREFIX/etc/passwd (now it
70 is consulting /etc/passwd). And then getent passwd > $EPREFIX/etc/passwd
71 && getent groups > $EPREFIX/etc/groups.
72
73 Cheers,
74 Benda