Commit Graph

37 Commits

Author SHA1 Message Date
Andrius Štikonas ef0030bbf3 Reinstall system from packages during sysa->sysc and sysb->sysc transitions. 2022-05-09 22:53:46 +01: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 7366647595 Update stage0-posix, help2man fix, refactor
- stage0-posix update to correctly exist on fail.
- help2man reproducibility fix for month.
- refactor some bits into functions.
2022-04-05 20:25:40 +10: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 e7c39af4b9 Final reproducibility fixes 2022-03-07 19:02:12 +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 a343dcf6ed Add new tarball-based checksums to all packages 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 f4d43e2113 Make tar installable under packaging 2022-03-07 19:02:12 +11:00
fosslinux 0b7bd2a46d Fix gcc-4.7.4 mis-versioning error occuring under packaging 2022-03-07 19:02:12 +11:00
fosslinux c64367f608 Merge /usr/sbin and /usr/bin
Required for some stupid build system (and is also better for us).
2022-03-07 19:02:12 +11:00
fosslinux b8ef19150c Fix various things to use ${DESTDIR} 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 94069328ec Fix libdir of bison and flex. 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
Dor Askayo 7ecad37d87 Avoid the creation of some dev nodes in chroot mode
In rootless boostrap, dev nodes must be mounted before starting the
bootstrap process. However, some of these aren't necessarily mounted,
such as when relying upon BuildStream's sandbox.

Since these are not actually required for either a rootless or
chroot-based bootstrap, simply avoid them.
2022-01-17 14:19:30 +02:00
Dor Askayo b03f3e11c0 Use rm -f to avoid interactive prompts
This is required when not running as root to avoid prompts when
removing read-only files.
2022-01-17 14:09:29 +02: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
fosslinux b0f9c00ef3 Make guile build work on chroot 2021-10-14 21:30:33 +11:00
fosslinux 622b4de875 Fix guile.
- The date reproducibility issue was not actually set to any date, which
  could cause issues in the fiture, fix that sed.
- Fix a reproducibility issue (under QEMU), where the ordering of files
  within libguile can be random. This also affects guile binary so we
  need to rebuild that.
- Some change in kernel versions means that guile binary is
  significantly different in newer kernel versions. Because we cannot
  know the version of the host under chroot mode we must disable guile
  checksum entirely.
- Update checksums accordingly.
2021-10-13 17:57:50 +01:00
Andrius Štikonas afa162397c Add autoconf 2.71. 2021-10-10 22:55:41 +01:00
Andrius Štikonas c6c8a1eb7f Move chroot transition script inside bootstrap. 2021-10-10 16:38:52 +01:00
Andrius Štikonas 097cb2d72f Remove pre-built java file. 2021-10-09 01:13:25 +01:00
Andrius Štikonas e3d0191949 Update stage0-posix. 2021-10-08 20:55:06 +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 b93a931a53 Move to /usr prefix.
- This is much more standard and replaces /image in sysa and is the
  standard in sysc (avoids many issues).
- GCC needs to have a file created for some unknown reason.
- Checksums updated.
2021-08-27 14:54: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