Gentoo Archives: gentoo-alt

From: Stephen McCamant <mccamant@××××××.edu>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] Prefix bootstrap stage3 pinentry fails when host system has FLTK
Date: Mon, 14 May 2018 15:35:49
Message-Id: 23289.44239.882069.261759@dio.cs.umn.edu
In Reply to: Re: [gentoo-alt] Prefix bootstrap stage3 pinentry fails when host system has FLTK by Fabian Groffen
1 >>>>> "FG" == Fabian Groffen <grobian@g.o> writes:
2
3 FG> Hi Stephen,
4 FG> pinentry indeed has an "automagic dependency", the USE-flag would
5 FG> solve this (be it that the patch you mention actually misses the
6 FG> dependency when USE=fltk is in effect).
7
8 FG> There is no easy way for you to fix it, other than faking it:
9 FG> create a dummy $EPREFIX/usr/bin/fltk-config that returns false,
10 FG> e.g. using
11 FG> #!/usr/bin/false
12
13 FG> You can add this file, make sure it is executable, and restart
14 FG> bootstrapping.
15
16 FG> I've filed https://bugs.gentoo.org/655290 for the automagic
17 FG> dependency.
18
19 In case anyone else is following along at home, the one amendment to
20 make to Fabian's workaround suggestion is that it turns out that just
21 having "fltk-config --api-version" return a failure error code is not
22 enough to make the configure test fail. The test is written as:
23
24 FLTK_VERSION=`${FLTK_CONFIG} --api-version`
25 if test ${FLTK_VERSION} != "1.3" ; then
26
27 so that failures of test are also not !=. So the fake fltk-config
28 script needs to print a number other than 1.3, not just return false.
29 But with that change, the workaround works as intended.
30
31 The other key debugging technique that I ended up figuring out on my
32 own is that you can test a bootstrap using a different version of the
33 Portage tree by pre-filling a $PREFIX/usr/portage directory (for
34 instance based on any commit from the repo/gentoo.git repository) and
35 touching a ".unpacked" file within it. Another useful piece of
36 information to know is that the Git commit corresponding to a Portage
37 tree is in $PREFIX/usr/portage/metadata/timestamp.commit .
38
39 In the time since, the bug that Fabian filed has also been fixed in a
40 new ebuild from the pinentry maintainer. I've checked that that fixes
41 things, by copying it into an older Portage tree (e.g., 6f597edb was
42 the one from my original experiment) and doing a successful bootstrap.
43
44 -- Stephen

Replies