Simplify specifying packages to build/install

The Portage packages that need to be built and/or installed are now
specified in the `build.packages` and `install.packages` files,
respectively.  Similarly, packages to be installed on the host system
are specified in `host-tools.packages`.  Finally, the
`installonly.packages` file contains a list of packages that are
installed in the destination root, but not built in the sysroot
beforehand.

This allows `make` to better track when the package sets change.  It
will also make it easier to maintain different sets for different
variants in the future.
This commit is contained in:
2023-03-06 14:59:57 -06:00
parent b2aac7c74e
commit dbc02a99a1
8 changed files with 42 additions and 33 deletions

View File

@@ -19,6 +19,7 @@ prepare: $(O)/.prepared
$(O)/.host-tools: \
build-host-tools.sh \
host-tools.packages \
$(O)/.prepared
./build-host-tools.sh
touch $(O)/.host-tools
@@ -27,18 +28,27 @@ host-tools: $(O)/.host-tools
$(O)/.built: \
build.sh \
build-rootfs.sh \
$(O)/linux/arch/arm64/boot/Image.gz \
build.packages \
install.packages \
$(O)/.host-tools \
$(O)/.prepared
./build.sh
./build-rootfs.sh
touch $(O)/.built
$(O)/.ready: \
build-rootfs.sh \
install.packages \
installonly.packages \
$(O)/linux/arch/arm64/boot/Image.gz \
$(O)/.host-tools \
$(O)/.built
./build-rootfs.sh
touch $(O)/.ready
$(IMAGESDIR)/rootfs.squashfs: \
build-squashfs.sh \
squashfs.exclude \
$(O)/.built
$(O)/.ready
./build-squashfs.sh "$(IMAGESDIR)"
squashfs: $(IMAGESDIR)/rootfs.squashfs