This commit updates $license variable in all APKBUILDs to comply with
short names specified by SPDX version 3.0 [1] where possible. It was
done using find-and-replace method on substrings inside $license
variables.
Only license names were updated, not "expressions" specifying relation
between the licenses (e.g. "X and Y", "X or Y", "X and (Y or Z)") or
exceptions (e.g. "X with exceptions").
Many licenses have a version or multiple variants, e.g. MPL-2.0,
BSD-2-Clause, BSD-3-Clause. However, $license in many aports do not
contain license version or variant. Since there's no way how to infer
this information just from abuild, it were left without the variant
suffix or version, i.e. non SPDX compliant.
GNU licenses (AGPL, GFDL, GPL, LGPL) are especially complicated. They
exist in two variants: -only (formerly e.g. GPL-2.0) and -or-later
(formerly e.g. GPL-2.0+). We did not systematically noted distinguish
between these variants, so GPL-2.0, GPL2, GPLv2 etc. may mean
GPL-2.0-only or GPL-2.0-or-later. Thus GNU licenses without "+" (e.g.
GPL2+) were left without the variant suffix, i.e. non SPDX compliant.
Note: This commit just fixes format of the license names, no
verification has been done if the specified license information is
actually correct!
[1]: https://spdx.org/licenses/
Most of these updates is based on data from https://repology.org/,
detection based on permanent redirect from http:// to https://.
$source urls are updated when they contain $url as substring.
* Remove hash-style-gnu.patch in favor of the patch adding a configure flag for it from upstream
* Add gold-mips.patch from Debian, which makes gold configure correctly for MIPS64 targets
* Use CTARGET_ARCH instead of CARCH to correctly determine whether to enable the x86_64-pep target or not
- requires new abuild (from git until 2.30 is tagged)
- properly build initial musl-dev before c-compiler is available
- mark core aports with options=toolchain, and fix all makedepends
- bootstrap.sh: reorganize and use set -e there
- bootstrap.sh: use new EXTRADEPENDS_* to pull in implicit dependencies
during bootstrap to simplify the script
"GNU ar and other tools from binutils have a deterministic mode which
will use zero for UIDs, GIDs, timestamps, and use consistent file modes
for all files. It can be made the default by passing the
--enable-deterministic-archives option to ./configure."
Quoted from:
https://reproducible-builds.org/docs/archives/
ref #3616 - Seems gold produces invalid libstdc++ for x86, and cannot
be yet enabled as default linker.
Keep building it, and split it to a separate package.
Seems like the version of autoconf that generated the tarballs was
buggy and generates broken configure.lineno script.
We workaround this by using bash as shell which has support for LINENO.
https://sourceware.org/bugzilla/show_bug.cgi?id=16370
The linker script mistakenly assumess crtbegin, or crtbegin? for
the gcc crt glue filename. On PIE system it is called crtbeginTS
which would not match the filter. Fixes#855.