The cross toolchain doesn't have lib symlinks but this works because it
also doesn't install things to lib. However when this script manually
extracts the toolchain packages to BOARD_ROOT tar includes those empty
directories, replacing the symlinks that were previously there.
Longer term this really needs to go away, whatever build time is saved
by re-using the cross toolchain packages in BOARD_ROOT is not worth this
insane level of complexity it causes...
We need to install baselayout with the build use flag as the very first
package in the new board sysroot to ensure the system's directory
structure is created correctly. This should resolve surprise failures
with the bootengine ebuild.
We've moved all of the chroot configs from /etc to /etc/portage but
setup_board was still symlinking to /etc. Fix the path so no one gets
mixed up by the two copies of the same file. Remove unused script that
also used to write to old location.
reintroduce unique A/B menu.lsts to work around the kexec problems that
we have. Essentially instead of always using boot_kernel on pvgrub
systems use the A/B kernels installed at update time to the boot
partition.
As-is safe_umount is extremely dangerous. When passed multiple mount
points and any one of them fail with a "not mounted" or "doesn't exist"
error then any others that fail with a more serious error will be
silently ignored. This can cause untold sadness when running deleting a
chroot with cros_sdk if /mnt/host/source is left mounted, all your code
will be gone. To avoid this situation remove *ALL* this extra logic and
die very loudly when umount fails. Due to the way bind mounts interact
with this code "not mounted" so when unmounting a full tree we need to
still need to gracefully retry when the first umount fails.
Switching the toolchain to upstream Gentoo brought this directory back
and based on the Chromium OS history keeping this directory out of the
builds is a bit tedious. Keeping image sizes down isn't *that* important
right now so just let it be.
Already did this for catalyst builds but might as well do it for all.
With this competing builds on the same host should be a little
friendlier to each other.
This adds the boot_kernel to the build boot partiton and updates the
relevant config files. Mission accomplished.
TODO: Update the installer to not worry about moving files around
anymore
Remove the catalystrc code that updated /etc/locale.gen, it wasn't
generally effective since catalyst installs things without
CONFIG_PROTECT and therefore locale.gen always got overwritten just
before it was going to be used. Add --load-average to MAKEOPTS so
builds better manage their parallelism when multiple independent jobs
are compiling code. Disable some locking to speed up builds that use
lots of binary packages.
Sync up bootstrap_sdk with other tools by using the common upload
functions. As part of this refactor release_util a bit to provide a
truly generic upload function.