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:
18
Makefile
18
Makefile
@@ -19,6 +19,7 @@ prepare: $(O)/.prepared
|
|||||||
|
|
||||||
$(O)/.host-tools: \
|
$(O)/.host-tools: \
|
||||||
build-host-tools.sh \
|
build-host-tools.sh \
|
||||||
|
host-tools.packages \
|
||||||
$(O)/.prepared
|
$(O)/.prepared
|
||||||
./build-host-tools.sh
|
./build-host-tools.sh
|
||||||
touch $(O)/.host-tools
|
touch $(O)/.host-tools
|
||||||
@@ -27,18 +28,27 @@ host-tools: $(O)/.host-tools
|
|||||||
|
|
||||||
$(O)/.built: \
|
$(O)/.built: \
|
||||||
build.sh \
|
build.sh \
|
||||||
build-rootfs.sh \
|
build.packages \
|
||||||
$(O)/linux/arch/arm64/boot/Image.gz \
|
install.packages \
|
||||||
$(O)/.host-tools \
|
$(O)/.host-tools \
|
||||||
$(O)/.prepared
|
$(O)/.prepared
|
||||||
./build.sh
|
./build.sh
|
||||||
./build-rootfs.sh
|
|
||||||
touch $(O)/.built
|
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: \
|
$(IMAGESDIR)/rootfs.squashfs: \
|
||||||
build-squashfs.sh \
|
build-squashfs.sh \
|
||||||
squashfs.exclude \
|
squashfs.exclude \
|
||||||
$(O)/.built
|
$(O)/.ready
|
||||||
./build-squashfs.sh "$(IMAGESDIR)"
|
./build-squashfs.sh "$(IMAGESDIR)"
|
||||||
|
|
||||||
squashfs: $(IMAGESDIR)/rootfs.squashfs
|
squashfs: $(IMAGESDIR)/rootfs.squashfs
|
||||||
|
|||||||
@@ -1,12 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# vim: set sw=4 ts=4 sts=4 et :
|
# vim: set sw=4 ts=4 sts=4 et :
|
||||||
|
|
||||||
emerge -vnUj \
|
< host-tools.packages xargs -ro \
|
||||||
sys-apps/systemd \
|
emerge -vnUj
|
||||||
sys-boot/grub \
|
|
||||||
sys-fs/btrfs-progs \
|
|
||||||
sys-fs/dosfstools \
|
|
||||||
sys-fs/genimage \
|
|
||||||
sys-fs/mtools \
|
|
||||||
sys-fs/squashfs-tools \
|
|
||||||
|| exit
|
|
||||||
|
|||||||
@@ -24,19 +24,13 @@ cp -r portage/. /mnt/gentoo/etc/portage/
|
|||||||
|
|
||||||
ROOT=/mnt/gentoo \
|
ROOT=/mnt/gentoo \
|
||||||
PORTAGE_CONFIGROOT=/mnt/gentoo \
|
PORTAGE_CONFIGROOT=/mnt/gentoo \
|
||||||
${target}-emerge -Kvnj \
|
< install.packages xargs -ro \
|
||||||
sys-apps/busybox \
|
${target}-emerge -Kvnj
|
||||||
sys-apps/systemd \
|
|
||||||
net-misc/openssh \
|
|
||||||
net-misc/wget \
|
|
||||||
sys-fs/btrfs-progs \
|
|
||||||
--
|
|
||||||
ROOT=/mnt/gentoo \
|
ROOT=/mnt/gentoo \
|
||||||
PORTAGE_CONFIGROOT=/mnt/gentoo \
|
PORTAGE_CONFIGROOT=/mnt/gentoo \
|
||||||
${target}-emerge -vnj \
|
< installonly.packages xargs -ro \
|
||||||
net-wireless/wireless-regdb \
|
${target}-emerge -vnj
|
||||||
sys-kernel/linux-firmware \
|
|
||||||
--
|
|
||||||
|
|
||||||
ROOT=/mnt/gentoo \
|
ROOT=/mnt/gentoo \
|
||||||
locale-gen
|
locale-gen
|
||||||
|
|||||||
2
build.packages
Normal file
2
build.packages
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
sys-boot/grub
|
||||||
|
sys-boot/raspberrypi-firmware
|
||||||
14
build.sh
14
build.sh
@@ -9,13 +9,9 @@ unset MAKEFLAGS MAKEOVERRIDES MAKELEVEL
|
|||||||
|
|
||||||
${target}-emerge -vuUDj sys-apps/util-linux
|
${target}-emerge -vuUDj sys-apps/util-linux
|
||||||
|
|
||||||
${target}-emerge -vnuUDj \
|
cat \
|
||||||
net-misc/openssh \
|
build.packages \
|
||||||
net-misc/wget \
|
install.packages \
|
||||||
sys-apps/busybox \
|
| xargs -ro \
|
||||||
sys-apps/systemd \
|
${target}-emerge -vnuUDj
|
||||||
sys-boot/grub \
|
|
||||||
sys-boot/raspberrypi-firmware \
|
|
||||||
sys-fs/btrfs-progs \
|
|
||||||
--
|
|
||||||
${target}-emerge -v @preserved-rebuild
|
${target}-emerge -v @preserved-rebuild
|
||||||
|
|||||||
7
host-tools.packages
Normal file
7
host-tools.packages
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
sys-apps/systemd
|
||||||
|
sys-boot/grub
|
||||||
|
sys-fs/btrfs-progs
|
||||||
|
sys-fs/dosfstools
|
||||||
|
sys-fs/genimage
|
||||||
|
sys-fs/mtools
|
||||||
|
sys-fs/squashfs-tools
|
||||||
5
install.packages
Normal file
5
install.packages
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
net-misc/openssh
|
||||||
|
net-misc/wget
|
||||||
|
sys-apps/busybox
|
||||||
|
sys-apps/systemd
|
||||||
|
sys-fs/btrfs-progs
|
||||||
2
installonly.packages
Normal file
2
installonly.packages
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
net-wireless/wireless-regdb
|
||||||
|
sys-kernel/linux-firmware
|
||||||
Reference in New Issue
Block a user