Commit Graph

31 Commits

Author SHA1 Message Date
Andrius Štikonas 9f3f65f146 Add which 2.21. 2022-09-17 11:12:10 +01:00
Dor Askayo 9bde9d1afe Rebuild musl 1.2.3 with support for dynamic linking
Now that GCC and binutils support musl's toolchain natively, musl can
have its dynamic linking support enabled without ill-effects.
2022-09-15 09:16:56 +03:00
Dor Askayo 4113d60b24 Add binutils 2.38 2022-09-14 12:36:32 +03:00
Dor Askayo 5aae443d65 Add libtool 2.4.7
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.
2022-09-11 09:19:16 +03:00
fosslinux 25f37ba926 Various fixes from rebase
This took a while so a bunch of stuff got broken in rebase.
2022-06-18 09:10:11 +10:00
fosslinux 8008de8e73 Add file downloading logic
Add urls to sysc, and modify some tarballs to http (non s) before ssl
2022-06-10 13:30:58 +10:00
fosslinux 39541e30f5 Add ca-certificates-3.78
Contains all required certificates for curl/openssl.
2022-06-10 13:30:58 +10:00
fosslinux 01129d20c2 Add curl-7.83.0 sysc rebuild
Adds ssl support.
2022-06-10 13:30:58 +10:00
Andrius Štikonas c6ca548d5b Add after.sh hook to sysc (similarly to after.kaem hook in stage0-posix). 2022-05-21 00:50:37 +01:00
Andrius Štikonas 8f61b8400e Merge symlinks into tarball packages. 2022-05-20 09:39:57 +01:00
Dor Askayo d32d0f1d51 Improve reproducibility of XBPS packages
XBPS packages don't seem to have an option to manipulate file
permissions at package creation time.

So as a best effort, set the umask as soon as possible to ensure
file permissions are the same when running the bootstrap.

This is enough to allow reproducible XBPS packages when starting the
bootstrap with a umask different than 0022.
2022-05-15 10:46:18 +03:00
Andrius Štikonas 424aa5be38 Move from mes-m2 to mes-0.24. 2022-05-05 23:59:52 +01:00
fosslinux f1600467a7 Variety of improvements
- Rename sources to distfiles for clarity.
- Per sys(a/c) distfiles to reduce rootfs.py processing and reduce RAM
  usage in sysa.
- Canonicalise early kaem mes/tcc files to kaem script conventions.
- Cleanup unused setup in python.
2022-05-05 17:44:47 +10:00
fosslinux acf713595c Update zlib to 1.2.12 2022-05-04 11:28:47 +10:00
Andrius Štikonas 5b032cb46c rootfs.py refactoring.
Switch to bzip2 packages
Move most of the preprocessing done by rootfs.py
into kaem and bash scripts inside live-bootstrap.
2022-04-21 00:49:56 +01:00
Andrius Štikonas 7a8567dc78 Rename /after to /sysa. 2022-04-11 18:53:35 +01:00
fosslinux b760b3eb2b Final fixes:
- All QEMU reproducibility issues resolved
- Added SPDX licensing
- Couple other small issues
- Fix guile reproducbility
2022-03-12 16:24:25 +11:00
fosslinux 9543a47f1b Fix up checksums + other fixes 2022-03-12 16:23:24 +11:00
fosslinux 931490551a Fix a variety of reproducibility issues
Include:
- Not regenerated man pages.
- Automake tarball with bad time (and completely useless).
- Ordering of files within tarballs.
- Resetting timestamp various fixes.
- Older tars not properly overwriting files leading to many issues.
- Weird lack of reproducibility in libtool scripts paths to tools.
- and more
2022-03-07 19:02:12 +11:00
fosslinux 968d2ea7d1 Introduce packaging support
Utilising previously introduced DESTDIR support, everything is installed
to aformentioned DESTDIR.

Prior to the building of XBPS, we use gzip compressed tarballs as
packages. This requires a lot of strange hacks especially for old tar +
gzip (timestamps, etc causing reproducibility problems). Then we use
XBPS once built.
2022-03-07 19:02:12 +11:00
fosslinux a1520a07fa Add xbps-0.59.1.
This also required

- merging of usr/sbin and usr/bin (which should be done anyway), because
  of a dodgy PATH searcher
- moving of zlib earlier.
2022-03-07 19:02:12 +11:00
fosslinux bdd0227fdd Add openssl 1.1.1l. 2022-03-07 19:02:12 +11:00
fosslinux a8cdecdfbd Add libarchive 3.5.2. 2022-03-07 19:02:12 +11:00
fosslinux 5dbf82e8e4 A couple of fixes wrt bootstrap.cfg
Correctly source. export so that scripts can access.
2021-10-14 21:31:45 +11:00
Andrius Štikonas afa162397c Add autoconf 2.71. 2021-10-10 22:55:41 +01:00
Andrius Štikonas 8857f53cd1 GNU Guile 3.0.7 2021-09-20 14:25:54 +10:00
Andrius Štikonas de582f1866 Boehm-gc 8.0.4 2021-09-20 14:25:53 +10:00
Andrius Štikonas e1350d1745 libatomic_ops 7.6.10. 2021-09-20 14:25:53 +10:00
Andrius Štikonas bdab13eb60 libffi 3.3 2021-09-20 14:25:53 +10:00
fosslinux 04180f5672 Various fixes + cleanup.
- Add parts.rst documentation for Linux kernel.
- Completely fix problems caused by new bootstrap, update checksums for
  /usr.
- Globalise populate_device_nodes.
- Enable deblobbing.
2021-09-14 14:59:08 +10:00
fosslinux 5c88f1c87f Add sysb and sysc scaffolding.
Now that we have the Linux Kernel built, we move to a full-disk (rather
than initramfs) setup in sysc. However, we cannot assume the seed kernel
has support for mounting hard drives. So, first we need to kexec into
sysb, which is used as a jumping off point to create the hard drive for
sysc.

Additionally, since 2.6.16 does not have support for on-demand initramfs
(initramfs must be built into kernel), we will have to rebuild the linux
kernel within sysb without the initramfs.

All of this process is not performed for chroot mode. Instead, we skip
sysb and jump straight to sysc, copying over appropriate data.

The python scripts have been changed slightly. Each sys* inherits
SysGeneral, which contains various functions which are not specific to
any sys* and simplifies those files. rootfs now also handles sysb and
sysc.

bootstrap.cfg also gives an indication whether we are running in a
chroot to avoid attempting to kexec/mount within a chroot.
2021-08-27 14:54:08 +10:00