By default, fakeroot forwards chown system calls to the libc and ignores
EPERM errors. Unfortunately, when fakeroot is used inside a restricted
bubblewrap environment, bubblewrap intercepts these system calls and
returns EINVAL. The EINVAL return value is not masked by fakeroot and
returned to the caller, thereby causing failures of mv(1), install(1),
chown(1), … which use the chown system calls internally.
Setting the FAKEROOTDONTTRYCHOWN environment variable prevents the chown
systemcalls to be performed in the first place. This variable is only
set in the environment created through bubblewrap by abuild rootbld.
Fixes#10021
the SRCDEST may be shared by multiple builders and apparently cargo does
not seem to handle that well. There are also no good way to do clean-up
of the cache for purging things that is no longer in use.
This reverts commit af0c88e6ab.
This has multiple advantages:
* It's tool agnostic (e.g. if we were to drop the ninja symlink
for samu, we wouldn't have to change anything here)
* It allows for more fine grained control, e.g. in meson test,
where we can increase timeouts and print the test log to stdout,
something which we can't control when invoking it via ninja.
* We can pass --no-rebuild to test and install, so ninja doesn't
have to check if anything has to be rebuild against in the test
and install phase, when we built everything in the build phase
already
This is similiar to dd24cdf85f, but
for meson.
Store exit code in the variable 'e', then return it, if there are no
errors then it will return 0 as that is the default value, otherwise it
will return 1 and error out as previously
This commit broke abuild-rmtemp which has a prefix check to ensure it
doesn't remove non-abuild directories. Revert the commit instead of
adjusting the prefix check for now.
This reverts commit d0828c0655.
From `go help environment`:
GOFLAGS
A space-separated list of -flag=value settings to apply
to go commands by default, when the given flag is known by
the current command. Flags listed on the command-line
are applied after this list and therefore override it.
And from `go help build`:
-buildmode mode
build mode to use. See 'go help buildmode' for more.
Setting this environment variable in /etc/abuild.conf allows us to build
all go binaries on the builders as PIE without needing to patch the go
compiler itself.