Commit graph

1270 commits

Author SHA1 Message Date
Eduardo Sánchez Muñoz
5610998a4d Update curl to 8.5.0 2024-01-01 22:39:24 +01:00
Andrius Štikonas
43df581f68
Merge pull request #383 from fosslinux/ca-certificates-3.95
Update ca-certificates to 3.95
2024-01-01 20:09:51 +00:00
fosslinux
fbb3e97149 Update ca-certificates to 3.95 2023-12-29 12:14:27 +11:00
fosslinux
b59170519f
Merge pull request #371 from eduardosm/sysabc-refs
Update `parts.rst` to remove remaining references to sysa/sysb/sysc
2023-12-28 22:27:51 +00:00
fosslinux
c1a1ef64e7
Merge pull request #378 from Googulator/message-fix
Fix "Bootstrapping" message being printed too late in bwrap runs
2023-12-28 22:26:36 +00:00
fosslinux
813ec9498a
Merge pull request #380 from eduardosm/patch-1
Change "tmp/" to "target/" in .gitignore
2023-12-28 22:25:51 +00:00
Eduardo Sánchez Muñoz
c42dd53634 Update parts.rst to remove remaining references to sysa/sysb/sysc 2023-12-28 20:04:37 +01:00
Eduardo Sánchez Muñoz
18919e03f4
Change "tmp/" to "target/" in .gitignore 2023-12-28 12:57:06 +01:00
Gábor Stefanik
bb067d2856 Fix "Bootstrapping" message being printed too late in bwrap runs
This should be printed at the beginning, but instead is only shown
at the end, due to output buffering - force an explicit flush.
2023-12-28 07:25:35 +01:00
fosslinux
9afe93298c
Merge pull request #373 from eduardosm/avoid-double-slash
Avoid double slash (`//`) in generated scripts
2023-12-27 23:10:54 +00:00
fosslinux
f4c1b488d6
Merge pull request #372 from Googulator/automake-fix
Fix intermittent failure to build automake-1.15.1 in bwrap (#365)
2023-12-27 22:59:48 +00:00
fosslinux
51fe3f9991
Merge pull request #368 from Googulator/always-preserve
Rename tmpdir to target and always preserve it, dropping --preserve
2023-12-27 22:59:23 +00:00
fosslinux
ca0e701ee8
Merge pull request #360 from eduardosm/fixes
Avoid deleting sources that will be needed in future builds and fix updating checksums with `--update-checksums`
2023-12-27 22:59:11 +00:00
Eduardo Sánchez Muñoz
45b635ef97 Do update checksums when building with --update-checksums 2023-12-27 12:36:46 +01:00
Eduardo Sánchez Muñoz
9042539165 Avoid deleting sources that will be needed in future builds 2023-12-27 12:36:46 +01:00
Eduardo Sánchez Muñoz
fc6aee0c5f Avoid double slash (//) in generated scripts
e.g., put `bash /steps/1.sh` instead of `bash /steps//1.sh`
2023-12-27 12:32:55 +01:00
Gábor Stefanik
c8837203c8 Fix intermittent failure to build automake-1.15.1 in bwrap (#365) 2023-12-27 08:06:51 +01:00
Gábor Stefanik
81e3123262 Rename tmpdir to target and always preserve it, dropping --preserve
There is nothing temporary about our "tmpdir" - its sole purpose is to
contain the final product of the bootstrap process. Thus, removing it
at the end of bootstrap amounts to doing the entire process for nothing.

To remedy this, --tmpdir is renamed --target, keeping the -t short form,
and defaulting to "target" instead of "tmp" to make its purpose clearer.
The --preserve option is removed, as the target is now always preserved.
2023-12-26 16:34:04 +01:00
fosslinux
9179f4bd01 Binutils 2.41 fix gprofng in pass2
A fix i forgot to include in the original PR
2023-12-26 22:50:18 +11:00
fosslinux
81790a3271
Merge pull request #361 from Googulator/fix-bwrap
Fix bubblewrap support & CI workflows after simplify
2023-12-26 05:22:30 +00:00
Gábor Stefanik
fe9cb1222f Change pass2 -> pass3 transition to the same mechanism as pass1 -> pass2
Fixes pass3 prematurely reporting success and quitting, having built nothing.
2023-12-26 13:01:24 +11:00
Gábor Stefanik
f67c7d1144 Tolerate externals/distfiles already existing (needed for CI) 2023-12-26 13:01:24 +11:00
Gábor Stefanik
896c618bd1 Re-copy distfiles on generator.reuse() 2023-12-26 13:01:24 +11:00
Gábor Stefanik
30fb367e7a Simplify bwrap setup code and support more than 3 passes 2023-12-26 13:01:24 +11:00
Gábor Stefanik
63c0a52067 Fix external & distfiles directory paths for CI 2023-12-26 13:01:24 +11:00
Gábor Stefanik
591959924f Re-acquire missing sources before each CI pass 2023-12-26 13:01:24 +11:00
Gábor Stefanik
2c6ac94974 Replace --clearenv with env - to support older bwrap
This makes bwrap work on Debian 10.
2023-12-26 13:01:24 +11:00
Gábor Stefanik
97f31072ce Add license information to break.sh
Not that it's exactly copyrightable, being just "exit 0", but linter complains about it.
2023-12-26 13:01:24 +11:00
Gábor Stefanik
2823e16325 Update CI workflows to match changes from simplify 2023-12-26 13:01:24 +11:00
Gábor Stefanik
e9787b55c8 Add breakpoints between passes for INTERNAL_CI
These are implemented as dummy jumps with a script that just exits
with success. Since this script will be sourced, rather than called,
this causes the bootstrap process to exit at that point.
The breakpoints are conditional on INTERNAL_CI (we check for "pass1"
because that's the only pass when script-generator runs, but the
resulting effect is that each pass only bootstraps its own part of
the manifest).
2023-12-26 13:01:24 +11:00
Gábor Stefanik
f66f9efa2c Update bwrap bootstrap code to match the simplify refactor 2023-12-26 13:01:24 +11:00
Gábor Stefanik
1481ad0d20 Do not try to create /dev nodes under chroot/bwrap 2023-12-26 13:01:24 +11:00
Gábor Stefanik
9ed4ae9a59 Support reusing existing directory for multipass bootstrapping 2023-12-26 13:01:24 +11:00
fosslinux
3fd101e70a
Merge pull request #359 from fosslinux/binutils-2.41
Update binutils to 2.41
2023-12-26 01:53:39 +00:00
fosslinux
6905852107
Merge pull request #354 from Googulator/script-fixes
Python script fixes and improvements
2023-12-26 00:59:34 +00:00
fosslinux
7d0e1c0e75
Merge pull request #366 from Googulator/reproducible-linux
Fix non-reproducible Linux kernel build due to timestamps
2023-12-26 00:22:32 +00:00
Gábor Stefanik
47711cfea9 Fix non-reproducible Linux kernel build due to timestamps
Linux's KBUILD doesn't follow SOURCE_DATE_EPOCH, but rather it
uses its own variable, KBUILD_BUILD_TIMESTAMP.

While we are at it, also update kexec-linux's checksum, which
didn't match either. (This one was reproducible, it was just
out of date.)
2023-12-25 10:16:17 +01:00
Gábor Stefanik
529ea4cae1 Explain significance of build-bash and improve-network directives 2023-12-22 13:12:40 +01:00
Gábor Stefanik
ab9455f918 Fix warnings in existing code revealed by newer pylint 2023-12-22 13:08:23 +01:00
Gábor Stefanik
be1333ee8b Make tmpdir a method parameter of prepare()
Fixes pylint errors.
2023-12-22 13:08:20 +01:00
Gábor Stefanik
b45e1f81ae Fix failure with --external-sources 2023-12-22 13:07:45 +01:00
Gábor Stefanik
32dc4c702b More verbose error message on HTTP errors 2023-12-22 13:07:45 +01:00
Gábor Stefanik
55d3c36e09 Move kernel-bootstrap source image out of the directory it's generated from
This way, an incomplete version of the image itself won't get included
in srcfs anymore.
2023-12-22 13:07:45 +01:00
Gábor Stefanik
3305f2a41b Use manifest to deduce pre-network sources list
No need to maintain a separate pre-network-sources file anymore,
the list is instead derived from the bootstrap manifest via the
source manifest.
2023-12-22 13:07:04 +01:00
Gábor Stefanik
a68ae62f9e Download distfiles only when needed, based on manifest
Unless --external-sources is given, only download distfiles that
need to be included in srcfs. The rest will be downloaded anyway
by the bootstrap system once it gets network access.

To accomplish this, instead of searching steps for sources files,
we now parse steps/manifest. As a side effect, source_manifest.py
now outputs source files in the order they appear in the manifest.
2023-12-22 13:07:04 +01:00
Gábor Stefanik
8d193df823 Fix printed image paths for bare-metal bootstrap 2023-12-22 13:06:59 +01:00
Gábor Stefanik
faad907fba Fix source_manifest.py in light of the recent refactor
There's no sysa or sysc anymore.
2023-12-22 13:06:19 +01:00
Gábor Stefanik
c188185ad4 Remove residual references to sysa/sysb/sysc from rootfs.py 2023-12-22 13:06:19 +01:00
Gábor Stefanik
b4d9c5e7cb Disk creation improvements
* Support specifying the size of the target disk image for qemu
* For bare metal, only pad the image to the next megabyte
* Use truncate() to extend images, instead of writing zeros (faster)
* Return None from get_disk() with nonexistent name
* Leave 1MiB on non-boot disks, or 1GiB on boot disks, unpartitioned
  (for proper 4K alignment and to help preserve the srcfs or boot
  partition creation)
* Fix qemu invocation when an external.img is not used
* Make -qr work with kernel bootstrap (will need kexec-fiwix fix)
2023-12-22 13:06:19 +01:00
Gábor Stefanik
dc62d8242c Create external.img only when needed 2023-12-22 12:10:09 +01:00