I figure these out when trying to run the build in docker, which provides an environment slightly different to the one used when building in qemu/chroot/bwrap with rootfs.py
- Rather than defining the urls where they are gotten (python sysa,
python sysc, inside sysc), a spec file is now used that is easily
interpretable and tool-independent.
- This is interpreted by rootfs.py and inside sysc.
- This is also used to make sources available and extract sources.
- Manual dirname selection is no longer required as is tarball renaming
upon download - all of this is handled automatically.
Fixes#188
Backport upstream patches to enable native musl toolchain support in
GCC. Only the changes required for i386 were taken, excluding
changes for libgo and libfortran.
These patches enable binaries built using gcc and g++ to automatically
use musl's dynamic linker as their interpreter when present during the
build.
Instead of using the pre-generated "bootstrap" script, execute the
relevant bootstrap operations manually. This doesn't actually change
the build output; the final package hash remains identical.
This should avoid configuration errors caused by combining an older
automake that doesn't support Go with a newer libtool that does.
No change in package hash.
- disk to be created (blank disk given to live-bootstrap) (default)
- disk to already exist but sources downloaded within live-bootstrap
- sources to be downloaded outside live-bootstrap (non-blank disk given
to live-bootstrap)
Also migrate sysb to use sys_transfer in QEMU mode also.
Note that this means copy_sysc is now irrelevant. sysc is *always*
sourced from sysa.
* Bzip2 was manually installed directly into filesystem, so bzip2 package was empty.
Fixed by installing it to destdir. bzip2 moves out its binary before installing
its own package.
* sha256sum from stage0-posix was not checking any checksums because it does not
accept piped input. Fixed by using temporary file.
* grep was broken for a short time (but with fixed bzip2 package this caused failures)
due to touch creating grep file of zero size (egrep symlink was touched).
Fixed by implementing touch -h
Resolves#156, resolves#166, resolves#167