Commit Graph

2203 Commits

Author SHA1 Message Date
Michael Tremer
63faf35972 make.sh: Fix checksum generation of the toolchain once again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
b1cf1d9cfb make.sh: Join compression arguments as a string
Otherwise, the array gets split and tar cannot identify which option
belongs to where.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a8e1086954 make.sh: Use the print_line function for correct padding
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
2c33bdf0e5 make.sh: Don't be verbose when creating the packages dir
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
56312598b3 make.sh: Erase the line when resizing the screen
This should leave less clutter, but there is still some.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
9bdc9a5b80 make.sh: Remove the PWD variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
0de9b40351 make.sh: Refactor the terminal output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
1ab2481875 make.sh: Enable the timer for the toolchain, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a3bd0672b3 make.sh: Always create /root in the chroot environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
75493bbcb3 make.sh: Fix mounting the QEMU helper binary
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
1090b297aa make.sh: Set PATH before entering the chroot environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
54d59f56c2 make.sh: Fix toolchain checksum validation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
c08841bb49 make.sh: Export BUILD_DIR and LOG_DIR
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
829f2b465e make.sh: Create the /tools symlink to the right place
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a28226714b make.sh: Pass extra options in lfsmake1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
64192acb7f make.sh: Use less aggressive compression for Zstandard
Otherwise this takes way too long.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
d4ad987a5d make.sh: Drop stripping
This will massively improve the build process because we will only strip
the files that we need. The build system will remain as is.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
8f1c5b617d make.sh: Correctly pass ZSTD_OPT
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
cd89b58820 make.sh: Use --long for Zstandard compression
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
36fb6a6605 make.sh: Create Core Update packages, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
f43ebebce4 make.sh: Create loop devices as block devices
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
eba9f280f8 make.sh: Don't drop into the lfs/ directory when entering a shell
This is not a very useful place to be.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
20e4920621 make.sh: Refactor building packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
27d0a2c477 make.sh: Simplify the initial configuration a little bit more
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
ba844d1dc8 make.sh: Change execute() so that it can be used outside the namespaces, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
560b9ecc81 make.sh: Use the new package function to download sources
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
abbcbd1a97 make.sh: tail on the preparation log file, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
dd813c6bc8 make.sh: Explicitely download packages when building the toolchain
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
761e95ad0c make.sh: Don't revalidate the images all the time
Calling b2 causes make to verify all source which creates a lot of IO.

This is not really necessary because install will do the same and the
build would fail if the source checksums didn't match.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
449f2879af make.sh: Refactor the execute function
The first version was a little bit messy with all the checks in all
sorts of places. We now create one large array and update it whenever
the configuration changes.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
9fc24981fa make.sh: Create a large unified function to run commands
This now includes the toolchain for which we need to set up the same
environment, except slightly differently.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
e9fcb8c36d cdrom+flash-images: Write images to the images directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
28fa687731 make.sh: Split environment and make variables
This got very messed up in the past and I think we would benefit greatly
from splitting this again for a less cluttered environment in the build
chroot and reusability of the make commands for the different stages.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
878f864c1a make.sh: Call the correct target for checksum check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
5db99637ae make.sh: Bind-mount the QEMU helper instead of copying the binary
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
92a2ed67be make.sh: Install the QEMU helper only once
This needs to be done only once when we initialize the environment.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
3a272cfe40 make.sh: Pass variables before the commands
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
7a6c3fb0d0 make.sh: Correctly pass the command return code in run_command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
68fea175f5 make.sh: Create and mount and images directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
90e508839f make.sh: Add a tail command to stream any logs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
a061f9a535 make.sh: Pass on individual build arguments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
6b4cb7d793 make.sh: Don't generate any documentation in the source directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
6a7053fd82 make.sh: Kill all child processes if unshare terminates
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
6e6cb04630 make.sh: Update the runtime after the interrupt
This is a lot better because this puts the code where it is being
executed and allows us to run run_command in a subshell, too.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
513814ab98 make.sh: Build the entire distribution in one go
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
ce2cea174f make.sh: Fix indentation
No functional changes.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
8af25b83a3 make.sh: Move a comment to where it should be
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
37d4fcc9b3 make.sh: Launch the timer only when we need it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
b55434ff46 make.sh: Have the background timer update the process runtime
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00
Michael Tremer
9d9c7cef74 make.sh: Create a timer co-process
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:19 +00:00