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.
With the None build type used nowadays these should be picked up
automatically by the environment. If not, we would also need to pass
CPPFLAGS and LDFLAGS explicitly.
aports convention is to delete empty variables from APKBUILD files
this causes and issue with updating existing APKBUILD files
new depends, makedepends or checkdepends are added to process the file
properly. Empty variables are then deleted once the file processes correctly
remove trailing pkgver from some module names
attempt to use additional variable content to determine perl package name
this now appears to support all but 10 or 11 non metacpan api retrievable
module information and add a package mapping for perl-ldap
do_depends can send multiple meta dependencies as additional parameters
parse_deps was not itterating through each of the parameters
this fix gets the entire list without duplicate entries
This is the only appearance of `apk` in the source. Appears accidental.
Fixes: 41343329 ("abuild: fix dependency tracing for cross builds")
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
This will warn then paths for certain shells that have completions are
found and tell the user to add a subpackage for it.
In a future date we also want to warn the user to move certain
directories where packages have completions to those directories so our
default_ functions can move them without problems
CARGO_HOME tells cargo where to store installed dependencies, save it to
a directory in $SRCDEST so we don't need to download all dependencies
again when compiling a rust package.
This makes it easier to figure out to which build the directory belongs
to. Occasionally, I have many failed abuild rootblds in my /var/tmp and
including the $pkgname in the directory would help me associating the
directories with failed builds I recently executed.
Fixes the error:
df: .: can't find mount point
When running abuild inside a chroot when the root file system
mountpoint information is not necessarily directly available.
Originally "gcc -dumpmachine" was used to detect build gcc triplet.
However, abuild does not depend on gcc or build-base (but installs
it if needed to build) so gcc might not be there. Additionally
abuild-sign can be used standalone, and does not have gcc dependency.
Using ${CC:-gcc} is problematic in cross-compile, as CC might be
already set for the cross-compiler and would result giving the target
host triplet.
It was deemed simplest to use "apk --print-arch" exclusively to detect
the builder host type, or specify CBUILD manually. If there is need
to use abuild/abuild-sign on non-Alpine hosts withou apk, we can
later add fallback that uses "uname -m" to detect the architecture
and guess Alpine CBUILD from it.
Fixes#9974
Fixes: 5adf47c1 "functions.sh: use apk --print-arch for CARCH if gcc is missing"
Fixes: 95cd15c0 "functions.sh: dont die if gcc is missing"
Previously, a key size of 2048 bits was hardcoded. While this is still
the default, it can now be changed. Additionally, the default key size
might be changed to 4096 in the future.
Without this change abuild rootbld would fail with:
touch: invalid date '@'
Because SOURCE_DATE_EPOCH wasn't set when abuild rootbld was used. This
is a bug introduced in 71d9d5233b. Instead
of reverting the aforementioned commit move the SOURCE_DATE_EPOCH
initialization to a custom function and also call it from the abuild
rootbld function.
Fixes#9978