Gentoo Archives: gentoo-portage-dev

From: Fabian Groffen <grobian@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] bin/isolated-functions.sh USERLAND setting
Date: Thu, 28 Jul 2022 18:21:51
Message-Id: YuLTuYsocxiu2tCB@gentoo.org
In Reply to: Re: [gentoo-portage-dev] bin/isolated-functions.sh USERLAND setting by Fabian Groffen
1 On 28-07-2022 20:11:24 +0200, Fabian Groffen wrote:
2 > On 28-07-2022 19:57:50 +0200, Arfrever Frehtes Taifersar Arahesis wrote:
3 > > But this code starts with 'if [[ -z ${USERLAND} ]]', so it should not
4 > > be run when USERLAND="GNU".
5 > >
6 > > USERLAND="GNU" is set in make.defaults, which is parsed by Portage
7 > > early (at Python side) and these values are passed by Portage to
8 > > ebuild.sh subprocess.
9 >
10 > Hmmm, that would be nice, features/prefix/make.defaults includes setting
11 > that.
12 >
13 > Makes me still wonder why we do this, is it a fallback for when the
14 > profiles aren't available (no tree yet) or something?
15 >
16 > It exports XARGS, which only used in the ___parallel_xargs function.
17 > That function in turn is used in 2 places. So all this stuff is done to
18 > add -r to xargs if xargs isn't BSD xargs. Iow --no-run-if-empty, which
19 > is cool, but apparently not strictly necessary (fugly warning I guess at
20 > worst). We're already checking xargs to support --max-procs=, so we
21 > could in the same go check for support of --no-run-if-empty, and drop
22 > the whole XARGS thing and declutter the code quite a lot :)
23
24 Sorry, I grepped wrong. XARGS is used throughout the code, so it needs
25 to be initialised in isolated-functions.sh. It could be initialised by
26 simply probing instead of relying on uname though.
27
28 As for USERLAND, emerge-webrsync and delta-webrsync appear to use it,
29 but they retrieve it from portageq, so I guess USERLAND is not really
30 used in Portage itself.
31
32 Fabian
33
34 --
35 Fabian Groffen
36 Gentoo on a different level

Attachments

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