Commit Graph

609 Commits

Author SHA1 Message Date
Andrius Štikonas eae8107607 Fix MES_ARCH vs ARCH mixup. 2023-04-30 19:29:58 +01:00
Andrius Štikonas dbc6a25be1 Move checksum transcriber checksum to x86 specific name. 2023-04-30 18:45:41 +01:00
Andrius Štikonas 07b11120b2 Make mes build script more multiarch friendly. 2023-04-30 01:23:57 +01:00
Andrius Štikonas 1259e3fa28
Merge pull request #284 from fosslinux/gcc-12
GCC12
2023-04-30 00:05:46 +01:00
Andrius Štikonas 3197781127 Do not hardcode mes version in kaem scripts. 2023-04-29 19:44:19 +01:00
fosslinux 6835ebfaf8 Disable binutils' manpages
I have no idea where this unreproducibility is coming from and I'm not
really bothered to spend more time on it right now :)
2023-04-29 23:41:15 +10:00
fosslinux c063a86bb4 Fix binutils manpage deletion
binutils manpages were, incorrectly, not deleted - this causes issues
with reproducibility in pass2
2023-04-28 21:50:54 +10:00
fosslinux 99bad05173 Update dhcpcd to 10.0.1
There was a bit of churn with the tarballs - hopefully this doesn't
happen again.
2023-04-27 17:36:18 +10:00
fosslinux 6fb676c8c2 Add GCC 12
The latest version of GCC.
And with this, the glibc-musl-gcc toolchain is complete.

A variety of modern features (default PIE SSP) are enabled.
2023-04-27 17:25:51 +10:00
fosslinux ac4685e886 Rebuild Binutils 2.38 using all modern features
- Rather than using part-by-part build of Binutils, use autogen and full
  ./configure, make build.
- Enable some other modern features, including the gold linker, threaded
  linking and 64-bit linking.
- This allows GCC 12 to build unhindered by binutils.
2023-04-27 17:25:51 +10:00
fosslinux 8ae911162a Move libssp into musl out of GCC
The motivations for this are complicated, but on musl systems, musl
will use its own libssp implementation, so GCC's libssp is not required.

Not to mention that GCC's libssp implementation is questionable at best.

This is the approach taken by the two major musl distributions - Alpine
Linux and Void Linux.
2023-04-25 14:04:42 +10:00
Andrius Štikonas 906b6b8f19 Update stage0-posix. 2023-04-23 17:26:26 +01:00
Eduardo Sánchez Muñoz d11ee97452 Regenerate SHA256SUMS.pkgs so it matches the file produced with `--update-checksums`
No checksum is actually changed, they are simply sorted.
2023-04-16 12:13:20 +02:00
Eduardo Sánchez Muñoz 929eb69d03 Add checksums for kexec-fiwix and lwext4 2023-04-16 12:13:20 +02:00
Eduardo Sánchez Muñoz dd8ce0e516 Add option to build kernels and related tools during chroot and bwrap builds
The main motivations to have this are:
* Detect checksum changes with chroot/bwrap builds
* Avoid removing checksums from `SHA256SUMS.pkgs` when unsing `--update-checksums`
* Find crashes that would otherwise be missed in `builder-hex0`
2023-04-16 12:13:20 +02:00
Eduardo Sánchez Muñoz d3477570b8 Explicitly specify i686-pc-linux-gnu build/host/target for kexec-tools
Fixes building in chroot/bwrap. Checksum is not affected.
2023-04-15 13:20:59 +02:00
Eduardo Sánchez Muñoz 86c0be5b67 Fix tcc crash when building lwext4 in chroot/bwrap
Fixes https://github.com/fosslinux/live-bootstrap/issues/281.

This is adding a null pointer check to `fill_local_got_entries` in tcc 0.9.27. This is rather a workaround because I am not sure if it is legit for that pointer to be null.
2023-04-15 13:19:29 +02:00
fosslinux d98f97e214 Introduce parallelism
By using --cores argument to rootfs.py, JOBS= is set in the
live-bootstrap environment, and -j${JOBS} is used on builds. This speeds
larger packages up significantly.

A fair number of packages do not build properly with parallelism. Most
of these, at least for now, are disabled with -j1.
2023-04-13 17:13:53 +10:00
fosslinux f2a0d74bfb Update to Guile 3.0.9
This is achieved by transplanting 3.0.7's psyntax-pp.scm into 3.0.9
which works flawlessly.

This is required for parallelism, since <3.0.8 is irreproducible when
-jN is used.
2023-04-13 17:13:51 +10:00
Andrius Štikonas 343843dfdd Fix whitespace. 2023-04-12 23:25:08 +01:00
Andrius Štikonas b6fe5bc499
Merge pull request #276 from eduardosm/update-dhcpcd
Update dhcpcd to version 9.5.0
2023-04-12 23:24:39 +01:00
rick-masters 6b2d04d00e Always regenerate help2man man pages. 2023-04-12 11:27:55 +00:00
Eduardo Sánchez Muñoz 787cc9c45a Update dhcpcd to version 9.5.0
Also fixes broken download link
2023-04-11 23:37:59 +02:00
rick-masters fb4930c2f9 Remove ifdef BOOTSTRAP from musl patches. 2023-04-07 12:57:24 +00:00
rick-masters c1ceabb9c4 Use links for copies of patches. 2023-04-05 11:59:39 +00:00
rick-masters 9c016405ef Place open braces for functions consistently. 2023-04-05 11:57:41 +00:00
rick-masters 6468ff7ff1 Use replace instead of simple-patch to set base address for mes. 2023-04-03 18:16:44 +00:00
rick-masters cb046ff1c0 Use alias to build make_fiwix_initrd and run from bindir. 2023-04-03 18:14:38 +00:00
rick-masters 9846c4bb82 Build kexec-fiwix in bindir and run it from run.kaem. 2023-04-03 18:13:42 +00:00
rick-masters c19ca08f15 Use alias to build Fiwix and make checksums work. 2023-04-03 18:10:23 +00:00
rick-masters ecf99ab08b Implement kernel bootstrap up to building Linux. 2023-03-31 18:08:50 +00:00
Eduardo Sánchez Muñoz dcd43599a7 Build both stages of curl in sysc
The source tarball is provided as part of sysa distfiles and copied to sysc, which resolves the issue of finding a reliable plain HTTP mirror for curl.

Splitted from https://github.com/fosslinux/live-bootstrap/pull/253.
2023-03-23 18:35:38 +01:00
Eduardo Sánchez Muñoz bc4ecd9ed4 Update curl to 7.88.1
Patches have been regenerated to update hunk line numbers
2023-03-19 18:58:52 +01:00
Eduardo Sánchez Muñoz 043fdd448a Add `--fail` flag to curl download commands
By default, curls downloads the HTML error page and exits with code 0 when a server replies with a HTTP error code (e.g., 404), causing a SHA256 mismatch afterwards.

Adding the `--fail` flag makes curl exit with non-zero error code and print an error like "The requested URL returned error: 404", making it a bit easier to diagnose distfile download issues.

Also replaced `-L` with `--location` for the sake of script readability.
2023-03-19 12:28:09 +01:00
Eduardo Sánchez Muñoz 3897987887 Update nss (ca-certificates) to 3.88.1 2023-03-18 20:32:56 +01:00
Eduardo Sánchez Muñoz 9999e075e9 Patch mk-ca-bundle to make ca-certificates reproducible regardless of current date
Fixes #220
2023-03-18 20:32:50 +01:00
fosslinux d0722d42b1 Update python checksums
(I forgot to stage this in the last commit :\)
2023-03-16 08:27:58 +11:00
Paul Dersey 61a8df957d Fix checksum of gettext package
The checksum of this package changed due to commit 76a5639b30
"Strip created binaries & libraries"
2023-03-14 11:15:58 -04:00
Bastian Bittorf 464433c911 cosmetic fix for --force-timestamps, avoid touching other filesystems
by using find-option -xdev and so: do not try to operate on
e.g. /proc which avoid messages like:

touch: setting times of '/proc/fs/nfsd': Operation not permitted
touch: setting times of '/proc/1': Operation not permitted

closes #264
2023-03-13 18:48:37 +01:00
fosslinux 16cd5be626 Move bash 5.2 to sysc and rebuild 2.05b in sysa
This unblocks Fiwix.
2023-03-11 16:33:40 +11:00
fosslinux da9a32205a Make automake compatible with bash 2.04
Why automake enforces a shell compatible with a *testsuite* in their
configure script is beyond me.
2023-03-11 00:46:16 +00:00
Andrius Štikonas 3a130d4385 Fix initramfs generation.
Fixes #259.
2023-03-11 00:08:45 +00:00
fosslinux 76a5639b30 Strip created binaries & libraries 2023-03-06 17:35:35 +11:00
fosslinux 2044ff6438 Clean up Linux kernel 2023-03-06 17:34:08 +11:00
Andrius Štikonas a2b1b92874 Fix binary packaging of dist-3.5-236. 2023-03-05 22:05:29 +00:00
Andrius Štikonas ef2deec60e Use .env file for passing environmental variables in sysa. 2023-03-05 20:27:12 +00:00
Andrius Štikonas 364cacb1ce Pass --no-filename to grep command. 2023-03-05 00:11:47 +00:00
Andrius Štikonas f75a5f0949 Update checksum of ca-certificates after root certificate expired. 2023-03-04 23:41:52 +00:00
Andrius Štikonas 57719f744f Reduce the size of linux kernel to free up some space. 2023-03-04 15:56:03 +00:00
Andrius Štikonas db9dd4628a Add binutils 2.30. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 8fbc5b06c7 Build util-linux without cramfs that fails to build with new binutils.
Enable libuuid that might be useful for python later.

Also fixes #244.
2023-03-02 22:08:43 +00:00
Andrius Štikonas 57b55b8652 Use newer autotools. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 1a2a4c1c6c Update to xz-5.4.1. 2023-03-02 22:08:43 +00:00
Andrius Štikonas d8c033aa79 Remove set -x hack. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 241717ee8d Move automake-1.15.1 to sysa. 2023-03-02 22:08:43 +00:00
Andrius Štikonas da9a2c6c50 Move bash rebuild to sysa. 2023-03-02 22:08:43 +00:00
Andrius Štikonas 58d1206c83 Add bc-1.07.1. 2023-03-02 22:08:43 +00:00
Andrius Štikonas b8446054f2 Add ed 1.4. 2023-03-02 22:08:43 +00:00
Andrius Štikonas ae7e1f9498 Fix checksum of binutils. 2023-02-28 10:28:29 +08:00
Andrius Štikonas e242f5539d Remove more pre-generated files from binutils 2.38. 2023-02-26 12:03:38 +08:00
Andrius Štikonas 2c559bb49d Remove some autotools stages. 2023-02-25 12:22:44 +08:00
Andrius Štikonas 3b90aae529 Upgrade to binutils 2.24:
* Move libtool 2.2.4 before binutils.
* Remove libtool 1.4.
* Switch from binutils 2.14 to 2.24.
2023-02-25 12:22:44 +08:00
Andrius Štikonas ea96519332 Move autoconf-2.69 to sysa. 2023-02-22 10:27:56 +08:00
Andrius Štikonas da11c40e37 Move automake-1.11.2 to sysa. 2023-02-22 10:27:56 +08:00
Andrius Štikonas cd396db5d5 Bootstrap newer autotools versions before binutils. 2023-02-22 10:27:56 +08:00
Andrius Štikonas d4eeba9d7a Improvements to early package creation:
* get_files produces list without extra ./ between extra subdirectories.
* Emtry directories are also included.
* Simplified src_pkg function.
* Use local variables instead of unsetting global variables in src_apply.
2023-02-22 10:27:56 +08:00
Paul Dersey c67306cfde Update mes to version 0.24.2
A rebuild of mes libc is required after building tcc 0.9.27 for the
first time.
2023-02-21 15:24:14 -05:00
fosslinux c170152d14 Apply CRC regen to GCC 4.7
CRC generated table is regenerated using the same method as GCC 10.

Closes #243
2023-02-13 22:15:58 +11:00
fosslinux 946dd8ee33 Fix GCC 10
stripping breaks it
2023-02-13 19:49:11 +11:00
fosslinux 495b985173 Update checksums for misc packages
The various toolchain changes recently required a few checksum updates.
2023-02-12 09:21:24 +11:00
fosslinux dd8bf0921f Add GCC 10.4.0
Last version of GCC that can be compiled with GCC 4.7.
2023-02-12 09:21:24 +11:00
fosslinux d854915ad3 Add file-5.44 2023-02-12 09:21:24 +11:00
fosslinux e5f62ba49e Add missing linux-headers asm-generic header
asm/param.h, from asm-generic, is required for GCC 10.
2023-02-12 09:21:24 +11:00
fosslinux 0d81d85e05 Fix --with-sysroot in binutils (again)
--with-sysroot removal is insufficient.

There is bad behaviour somewhere that causes --with-sysroot=no as the
default, and then sysroot to be set to 'no'. In reality, we should have
literally no sysroot; so set --with-sysroot=
2023-02-12 09:21:24 +11:00
fosslinux ca9d3aa51f Patch GCC 4.7 for GCC 10
A couple of backports that ease the building of GCC 10.
2023-02-12 09:21:24 +11:00
fosslinux 712175af44 Make crt*.o available in /usr/lib
This is expected by GCC 10+ - they must be at a well defined path.
2023-02-11 20:25:47 +11:00
rick-masters 71d82c783b Set perl config vars needed to create help2man shebang. 2023-02-08 19:43:49 +00:00
fosslinux 35efcc4223 Rebase checksums 2023-02-06 16:58:10 +11:00
fosslinux eb607794cd Clean up TCC buildcode
It was unstandard & some files were not correctly in DESTDIR
2023-02-06 16:58:10 +11:00
fosslinux 5f7ae7d964 Fix LIBDIR before musl built
Strictly, LIBDIR=/usr/lib/mes pre-musl.
2023-02-06 16:58:10 +11:00
fosslinux 73b8916e1f Remove with-sysroot from binutils
This option is erroneous and only worked by chance.

sysroot is prepended to all library search paths when working correctly,
eg, /usr/lib turns into /usr/usr/lib when --with-sysroot=/usr.
2023-02-06 16:58:10 +11:00
fosslinux 2577d2e704 Fix a packaging bug
Previously, symlinks to directories were followed early
in the bootstrap. This is incorrect behaviour.

While never actually encountered (hence no checksum changes),
this could be a problem.
2023-02-06 16:58:10 +11:00
fosslinux 070e9dacc5 Fix binutils 2.14 install
Programs shouldn't install to outdated usr/<target> location
2023-02-06 16:58:10 +11:00
fosslinux f4d39516d1 Fix bad util-linux installation
Programs shouldn't install to usr/triplet (this is obsolete)
2023-02-06 16:58:10 +11:00
fosslinux 5509e6bb6e Change binutils to unknown-linux-musl triplet 2023-02-06 16:58:10 +11:00
Seppo Yli-Olli 56cab8bb71 Support building only sysa with chroot mode
This is intended primarily for external build systems that directly
bind into sysa and sysc rather than using rootfs Python wrapper.
2023-02-02 09:12:49 +02:00
Dor Askayo 74c852b166 Add /dev/shm for sysc
This allows named semaphores to be created. See sem_overview(7).
2023-02-02 01:55:33 +02:00
Dor Askayo 4204a180e1 Rename /usr/lib/musl to /usr/lib/i386-unknown-linux-musl 2023-01-29 00:09:39 +02:00
Dor Askayo 59a13f0d09 Add LIBDIR variable for the musl library directory
LIBDIR should be used where possible to avoid unnecessary
duplication in build scripts that target the musl toolchain.

No change in package hashes.
2023-01-29 00:09:38 +02:00
fosslinux 5e768d3752
Merge pull request #197 from doraskayo/avoid-variable-export
Avoid exporting variables in build scripts
2023-01-28 08:37:12 +11:00
Dor Askayo 3921660396 Avoid exporting variables in build scripts
Environment variables "pollute" the build environment of packages and
can affect their output.

This change results in the removal of some files from packages that
were not meant to be packaged. It also removes the need for a
workaround in automake 1.10.3 to manually remove such files.

Variables are now saved in an .env file for each system and included
in scripts that need them using the dot operation.
2023-01-27 22:19:52 +02:00
Andrius Štikonas a35196a5e4 Build python 3.11 statically. 2023-01-27 19:10:48 +00:00
Dor Askayo a74f3166f3 Pass variables to make explicitly in musl-1.1.24 2023-01-27 10:17:04 +02:00
Andrius Štikonas 4f9f56f006 Use relative symlinks for python installs. 2023-01-25 18:26:22 +00:00
Andrius Štikonas 26872c01bf Add --enable-ipv6 to some versions of python to make builds reproducible 2023-01-25 02:39:14 +00:00
Andrius Štikonas f2e542ef0c Do not build doc directory of automake 2.11 and 2.15.
There is a race condition there that often causes builds to fail.
Fixes: #184
2023-01-24 22:45:52 +00:00
Andrius Štikonas 20173fbee1 Update stage0-posix to pull in a fix for kaem-optional seed. 2023-01-22 23:19:59 +00:00
Andrius Štikonas 8413534072 Remove some unnecessary cleanup code that was broken anyway. 2023-01-21 11:50:32 +00:00
Andrius Štikonas 89c7c10b8e Add artificial symlinks to musl package to ease its use. 2023-01-21 02:00:36 +00:00
Andrius Štikonas 5f805e65f3 Fix reproducibility issue in curl. 2023-01-20 22:16:31 +00:00