From 5f6219324746a0c9654c47e20666c5e4004086ac Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Tue, 7 Mar 2023 10:30:06 -0600 Subject: [PATCH] Use Portage config directly from src dir Instead of copying the Portage configuration files to `/etc/portage` and `/usr/${target}/etc/portage`, the build scripts now use the configuration directories from the source directory. This avoids issues with changes (especially removal of files) getting propagated to the actual configuration paths. --- .gitignore | 4 ++ Makefile | 3 -- build-host-tools.sh | 1 + build-kernel.sh | 1 + build-rootfs.sh | 4 +- build.sh | 2 + config-portage.sh | 14 ------ .../config/host/etc/portage}/env/nobuildpkg | 0 .../etc/portage}/make.conf/15-keywords.conf | 0 .../etc/portage}/make.conf/20-binpkgs.conf | 0 .../host/etc/portage}/make.conf/80-quiet.conf | 0 .../portage}/package.accept_keywords/kernel | 0 .../host/etc/portage}/package.env/kernel | 0 .../host/etc/portage}/package.use/btrfs-progs | 0 .../config/host/etc/portage}/package.use/git | 0 .../config/host/etc/portage}/package.use/grub | 0 .../host/etc/portage}/package.use/kernel | 0 .../host/etc/portage}/package.use/selinux | 0 .../etc/portage}/package.use/squashfs-tools | 0 .../host/etc/portage}/package.use/systemd | 0 ...Add-device-tree-for-Home-Assistant-Y.patch | 0 ...dd-device-tree-for-Home-Assistant-Y.patch2 | 0 ...x-add-compatible-picked-up-by-U-Boot.patch | 0 ...yellow-Mux-UART4-for-SiLabs-radio-mo.patch | 0 ...M-dts-bcm2711-yellow-Mux-debug-UART5.patch | 0 ...cm2711-yellow-Enable-I2C6-by-default.patch | 0 ...s-bcm2711-yellow-add-I2S-audio-codec.patch | 0 ...-dts-bcm2711-yellow-enable-GPIO-keys.patch | 0 ...-ARM-dts-bcm2711-yellow-add-user-LED.patch | 0 ...bcm2711-yellow-add-NXP-PCF85063A-RTC.patch | 0 ...yellow-enable-USB-host-mode-by-defau.patch | 0 ...yellow-use-generic-activity-trigger-.patch | 0 ...1-yellow-use-USB-OTG-mode-by-default.patch | 0 ...dts-bcm2711-yellow-Add-LED-overrides.patch | 0 .../target/etc/portage}/env/nobuildpkg | 0 .../etc/portage}/make.conf/10-common.conf | 0 .../etc/portage}/make.conf/20-binpkgs.conf | 0 .../portage}/make.conf/30-default-use.conf | 0 .../etc/portage}/make.conf/40-lang.conf | 0 .../etc/portage}/make.conf/80-quiet.conf | 0 .../etc/portage}/package.env/linux-firmware | 0 .../etc/portage}/package.license/firmware | 0 .../target/etc/portage}/package.use/busybox | 0 .../target/etc/portage}/package.use/firmware | 0 .../target/etc/portage}/package.use/grub | 0 .../target/etc/portage}/package.use/python | 0 .../patches/sec-policy/selinux-base-policy | 0 ...1-systemd-Fixes-for-systemd-resolved.patch | 0 .../0002-mount-Allow-mounting-on-etc_t.patch | 0 ...Mark-unlabeled_t-as-mount-point-type.patch | 0 ...emd-journald-list-cgroup-directories.patch | 0 ...-Allow-systemd-to-create-directories.patch | 0 .../etc/portage}/profile/package.provided | 0 .../etc/portage}/savedconfig/sys-apps/busybox | 0 .../savedconfig/sys-kernel/linux-firmware | 0 portage/repos/x-portage/metadata/layout.conf | 1 + portage/repos/x-portage/profiles/repo_name | 1 + prepare.sh | 43 ++++++++++--------- setup-local-repo.sh | 15 +++---- 59 files changed, 41 insertions(+), 48 deletions(-) delete mode 100755 config-portage.sh rename {host-portage => portage/config/host/etc/portage}/env/nobuildpkg (100%) rename {host-portage => portage/config/host/etc/portage}/make.conf/15-keywords.conf (100%) rename {host-portage => portage/config/host/etc/portage}/make.conf/20-binpkgs.conf (100%) rename {host-portage => portage/config/host/etc/portage}/make.conf/80-quiet.conf (100%) rename {host-portage => portage/config/host/etc/portage}/package.accept_keywords/kernel (100%) rename {host-portage => portage/config/host/etc/portage}/package.env/kernel (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/btrfs-progs (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/git (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/grub (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/kernel (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/selinux (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/squashfs-tools (100%) rename {host-portage => portage/config/host/etc/portage}/package.use/systemd (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch2 (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0002-ARM-dts-bcm2711-yellow-Mux-UART4-for-SiLabs-radio-mo.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0003-ARM-dts-bcm2711-yellow-Mux-debug-UART5.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0004-ARM-dts-bcm2711-yellow-Enable-I2C6-by-default.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0005-ARM-dts-bcm2711-yellow-add-I2S-audio-codec.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0006-ARM-dts-bcm2711-yellow-enable-GPIO-keys.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0007-ARM-dts-bcm2711-yellow-add-user-LED.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0008-ARM-dts-bcm2711-yellow-add-NXP-PCF85063A-RTC.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0009-ARM-dts-bcm2711-yellow-enable-USB-host-mode-by-defau.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0010-ARM-dts-bcm2711-yellow-use-generic-activity-trigger-.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0011-ARM-dts-bcm2711-yellow-use-USB-OTG-mode-by-default.patch (100%) rename {host-portage => portage/config/host/etc/portage}/patches/sys-kernel/raspberrypi-sources/0012-ARM-dts-bcm2711-yellow-Add-LED-overrides.patch (100%) rename portage/{ => config/target/etc/portage}/env/nobuildpkg (100%) rename portage/{ => config/target/etc/portage}/make.conf/10-common.conf (100%) rename portage/{ => config/target/etc/portage}/make.conf/20-binpkgs.conf (100%) rename portage/{ => config/target/etc/portage}/make.conf/30-default-use.conf (100%) rename portage/{ => config/target/etc/portage}/make.conf/40-lang.conf (100%) rename portage/{ => config/target/etc/portage}/make.conf/80-quiet.conf (100%) rename portage/{ => config/target/etc/portage}/package.env/linux-firmware (100%) rename portage/{ => config/target/etc/portage}/package.license/firmware (100%) rename portage/{ => config/target/etc/portage}/package.use/busybox (100%) rename portage/{ => config/target/etc/portage}/package.use/firmware (100%) rename portage/{ => config/target/etc/portage}/package.use/grub (100%) rename portage/{ => config/target/etc/portage}/package.use/python (100%) rename portage/{ => config/target/etc/portage}/patches/sec-policy/selinux-base-policy (100%) rename portage/{ => config/target/etc/portage}/patches/sec-policy/selinux-base/0001-systemd-Fixes-for-systemd-resolved.patch (100%) rename portage/{ => config/target/etc/portage}/patches/sec-policy/selinux-base/0002-mount-Allow-mounting-on-etc_t.patch (100%) rename portage/{ => config/target/etc/portage}/patches/sec-policy/selinux-base/0003-kernel-Mark-unlabeled_t-as-mount-point-type.patch (100%) rename portage/{ => config/target/etc/portage}/patches/sec-policy/selinux-base/0004-Allow-systemd-journald-list-cgroup-directories.patch (100%) rename portage/{ => config/target/etc/portage}/patches/sec-policy/selinux-base/0005-Allow-systemd-to-create-directories.patch (100%) rename portage/{ => config/target/etc/portage}/profile/package.provided (100%) rename portage/{ => config/target/etc/portage}/savedconfig/sys-apps/busybox (100%) rename portage/{ => config/target/etc/portage}/savedconfig/sys-kernel/linux-firmware (100%) create mode 100644 portage/repos/x-portage/metadata/layout.conf create mode 100644 portage/repos/x-portage/profiles/repo_name diff --git a/.gitignore b/.gitignore index 2e76102..d4332c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,10 @@ /images /linux /output +/portage/config/*/etc/portage/make.profile +/portage/config/*/etc/portage/repos.conf +/portage/config/target/etc/portage/make.conf/10-crossdev.conf +/portage/repos/x-portage /.built /.prepared /.host-tools diff --git a/Makefile b/Makefile index 3013506..95845a8 100644 --- a/Makefile +++ b/Makefile @@ -5,12 +5,9 @@ update.tar: $(IMAGESDIR)/update.tar.zstd $(O)/.prepared: \ prepare.sh \ - config-portage.sh \ setup-local-repo.sh \ - $(shell find portage host-portage -type f) \ $(shell find patches/ebuilds -type f) ./prepare.sh - ./config-portage.sh ./setup-local-repo.sh mkdir -p $(O) touch $(O)/.prepared diff --git a/build-host-tools.sh b/build-host-tools.sh index 3591364..fd46498 100755 --- a/build-host-tools.sh +++ b/build-host-tools.sh @@ -1,5 +1,6 @@ #!/bin/sh # vim: set sw=4 ts=4 sts=4 et : +PORTAGE_CONFIGROOT="${PWD}"/portage/config/host \ < host-tools.packages xargs -ro \ emerge -vnUj diff --git a/build-kernel.sh b/build-kernel.sh index cb06477..e1e928d 100755 --- a/build-kernel.sh +++ b/build-kernel.sh @@ -7,6 +7,7 @@ O="${1}" . ./config +PORTAGE_CONFIGROOT="${PWD}"/portage/config/host \ emerge -vnj ${kernel_pkg} export ARCH=arm64 CROSS_COMPILE=${target}- diff --git a/build-rootfs.sh b/build-rootfs.sh index 2316838..5703156 100755 --- a/build-rootfs.sh +++ b/build-rootfs.sh @@ -23,12 +23,12 @@ ln -snf \ cp -r portage/. /mnt/gentoo/etc/portage/ ROOT=/mnt/gentoo \ -PORTAGE_CONFIGROOT=/mnt/gentoo \ +PORTAGE_CONFIGROOT="${PWD}"/portage/config/target \ < install.packages xargs -ro \ ${target}-emerge -Kvnj ROOT=/mnt/gentoo \ -PORTAGE_CONFIGROOT=/mnt/gentoo \ +PORTAGE_CONFIGROOT="${PWD}"/portage/config/target \ < installonly.packages xargs -ro \ ${target}-emerge -vnj diff --git a/build.sh b/build.sh index 95f0f0a..3bef4bd 100755 --- a/build.sh +++ b/build.sh @@ -7,6 +7,8 @@ set -e unset MAKEFLAGS MAKEOVERRIDES MAKELEVEL +export PORTAGE_CONFIGROOT="${PWD}"/portage/config/target + ${target}-emerge -vuUDj sys-apps/util-linux cat \ diff --git a/config-portage.sh b/config-portage.sh deleted file mode 100755 index 64805f8..0000000 --- a/config-portage.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# vim: set sw=4 ts=4 sts=4 et : - -set -e - -. ./config - -cp -r host-portage/. /etc/portage/ -cp -r portage/. /usr/${target}/etc/portage/ - -# Set the Portage profile -ln -snf \ - /var/db/repos/gentoo/profiles/${profile} \ - /usr/${target}/etc/portage/make.profile diff --git a/host-portage/env/nobuildpkg b/portage/config/host/etc/portage/env/nobuildpkg similarity index 100% rename from host-portage/env/nobuildpkg rename to portage/config/host/etc/portage/env/nobuildpkg diff --git a/host-portage/make.conf/15-keywords.conf b/portage/config/host/etc/portage/make.conf/15-keywords.conf similarity index 100% rename from host-portage/make.conf/15-keywords.conf rename to portage/config/host/etc/portage/make.conf/15-keywords.conf diff --git a/host-portage/make.conf/20-binpkgs.conf b/portage/config/host/etc/portage/make.conf/20-binpkgs.conf similarity index 100% rename from host-portage/make.conf/20-binpkgs.conf rename to portage/config/host/etc/portage/make.conf/20-binpkgs.conf diff --git a/host-portage/make.conf/80-quiet.conf b/portage/config/host/etc/portage/make.conf/80-quiet.conf similarity index 100% rename from host-portage/make.conf/80-quiet.conf rename to portage/config/host/etc/portage/make.conf/80-quiet.conf diff --git a/host-portage/package.accept_keywords/kernel b/portage/config/host/etc/portage/package.accept_keywords/kernel similarity index 100% rename from host-portage/package.accept_keywords/kernel rename to portage/config/host/etc/portage/package.accept_keywords/kernel diff --git a/host-portage/package.env/kernel b/portage/config/host/etc/portage/package.env/kernel similarity index 100% rename from host-portage/package.env/kernel rename to portage/config/host/etc/portage/package.env/kernel diff --git a/host-portage/package.use/btrfs-progs b/portage/config/host/etc/portage/package.use/btrfs-progs similarity index 100% rename from host-portage/package.use/btrfs-progs rename to portage/config/host/etc/portage/package.use/btrfs-progs diff --git a/host-portage/package.use/git b/portage/config/host/etc/portage/package.use/git similarity index 100% rename from host-portage/package.use/git rename to portage/config/host/etc/portage/package.use/git diff --git a/host-portage/package.use/grub b/portage/config/host/etc/portage/package.use/grub similarity index 100% rename from host-portage/package.use/grub rename to portage/config/host/etc/portage/package.use/grub diff --git a/host-portage/package.use/kernel b/portage/config/host/etc/portage/package.use/kernel similarity index 100% rename from host-portage/package.use/kernel rename to portage/config/host/etc/portage/package.use/kernel diff --git a/host-portage/package.use/selinux b/portage/config/host/etc/portage/package.use/selinux similarity index 100% rename from host-portage/package.use/selinux rename to portage/config/host/etc/portage/package.use/selinux diff --git a/host-portage/package.use/squashfs-tools b/portage/config/host/etc/portage/package.use/squashfs-tools similarity index 100% rename from host-portage/package.use/squashfs-tools rename to portage/config/host/etc/portage/package.use/squashfs-tools diff --git a/host-portage/package.use/systemd b/portage/config/host/etc/portage/package.use/systemd similarity index 100% rename from host-portage/package.use/systemd rename to portage/config/host/etc/portage/package.use/systemd diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch2 b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch2 similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch2 rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm2711-Add-device-tree-for-Home-Assistant-Y.patch2 diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0001-ARM-dts-bcm283x-add-compatible-picked-up-by-U-Boot.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0002-ARM-dts-bcm2711-yellow-Mux-UART4-for-SiLabs-radio-mo.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0002-ARM-dts-bcm2711-yellow-Mux-UART4-for-SiLabs-radio-mo.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0002-ARM-dts-bcm2711-yellow-Mux-UART4-for-SiLabs-radio-mo.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0002-ARM-dts-bcm2711-yellow-Mux-UART4-for-SiLabs-radio-mo.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0003-ARM-dts-bcm2711-yellow-Mux-debug-UART5.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0003-ARM-dts-bcm2711-yellow-Mux-debug-UART5.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0003-ARM-dts-bcm2711-yellow-Mux-debug-UART5.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0003-ARM-dts-bcm2711-yellow-Mux-debug-UART5.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0004-ARM-dts-bcm2711-yellow-Enable-I2C6-by-default.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0004-ARM-dts-bcm2711-yellow-Enable-I2C6-by-default.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0004-ARM-dts-bcm2711-yellow-Enable-I2C6-by-default.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0004-ARM-dts-bcm2711-yellow-Enable-I2C6-by-default.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0005-ARM-dts-bcm2711-yellow-add-I2S-audio-codec.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0005-ARM-dts-bcm2711-yellow-add-I2S-audio-codec.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0005-ARM-dts-bcm2711-yellow-add-I2S-audio-codec.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0005-ARM-dts-bcm2711-yellow-add-I2S-audio-codec.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0006-ARM-dts-bcm2711-yellow-enable-GPIO-keys.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0006-ARM-dts-bcm2711-yellow-enable-GPIO-keys.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0006-ARM-dts-bcm2711-yellow-enable-GPIO-keys.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0006-ARM-dts-bcm2711-yellow-enable-GPIO-keys.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0007-ARM-dts-bcm2711-yellow-add-user-LED.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0007-ARM-dts-bcm2711-yellow-add-user-LED.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0007-ARM-dts-bcm2711-yellow-add-user-LED.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0007-ARM-dts-bcm2711-yellow-add-user-LED.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0008-ARM-dts-bcm2711-yellow-add-NXP-PCF85063A-RTC.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0008-ARM-dts-bcm2711-yellow-add-NXP-PCF85063A-RTC.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0008-ARM-dts-bcm2711-yellow-add-NXP-PCF85063A-RTC.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0008-ARM-dts-bcm2711-yellow-add-NXP-PCF85063A-RTC.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0009-ARM-dts-bcm2711-yellow-enable-USB-host-mode-by-defau.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0009-ARM-dts-bcm2711-yellow-enable-USB-host-mode-by-defau.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0009-ARM-dts-bcm2711-yellow-enable-USB-host-mode-by-defau.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0009-ARM-dts-bcm2711-yellow-enable-USB-host-mode-by-defau.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0010-ARM-dts-bcm2711-yellow-use-generic-activity-trigger-.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0010-ARM-dts-bcm2711-yellow-use-generic-activity-trigger-.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0010-ARM-dts-bcm2711-yellow-use-generic-activity-trigger-.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0010-ARM-dts-bcm2711-yellow-use-generic-activity-trigger-.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0011-ARM-dts-bcm2711-yellow-use-USB-OTG-mode-by-default.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0011-ARM-dts-bcm2711-yellow-use-USB-OTG-mode-by-default.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0011-ARM-dts-bcm2711-yellow-use-USB-OTG-mode-by-default.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0011-ARM-dts-bcm2711-yellow-use-USB-OTG-mode-by-default.patch diff --git a/host-portage/patches/sys-kernel/raspberrypi-sources/0012-ARM-dts-bcm2711-yellow-Add-LED-overrides.patch b/portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0012-ARM-dts-bcm2711-yellow-Add-LED-overrides.patch similarity index 100% rename from host-portage/patches/sys-kernel/raspberrypi-sources/0012-ARM-dts-bcm2711-yellow-Add-LED-overrides.patch rename to portage/config/host/etc/portage/patches/sys-kernel/raspberrypi-sources/0012-ARM-dts-bcm2711-yellow-Add-LED-overrides.patch diff --git a/portage/env/nobuildpkg b/portage/config/target/etc/portage/env/nobuildpkg similarity index 100% rename from portage/env/nobuildpkg rename to portage/config/target/etc/portage/env/nobuildpkg diff --git a/portage/make.conf/10-common.conf b/portage/config/target/etc/portage/make.conf/10-common.conf similarity index 100% rename from portage/make.conf/10-common.conf rename to portage/config/target/etc/portage/make.conf/10-common.conf diff --git a/portage/make.conf/20-binpkgs.conf b/portage/config/target/etc/portage/make.conf/20-binpkgs.conf similarity index 100% rename from portage/make.conf/20-binpkgs.conf rename to portage/config/target/etc/portage/make.conf/20-binpkgs.conf diff --git a/portage/make.conf/30-default-use.conf b/portage/config/target/etc/portage/make.conf/30-default-use.conf similarity index 100% rename from portage/make.conf/30-default-use.conf rename to portage/config/target/etc/portage/make.conf/30-default-use.conf diff --git a/portage/make.conf/40-lang.conf b/portage/config/target/etc/portage/make.conf/40-lang.conf similarity index 100% rename from portage/make.conf/40-lang.conf rename to portage/config/target/etc/portage/make.conf/40-lang.conf diff --git a/portage/make.conf/80-quiet.conf b/portage/config/target/etc/portage/make.conf/80-quiet.conf similarity index 100% rename from portage/make.conf/80-quiet.conf rename to portage/config/target/etc/portage/make.conf/80-quiet.conf diff --git a/portage/package.env/linux-firmware b/portage/config/target/etc/portage/package.env/linux-firmware similarity index 100% rename from portage/package.env/linux-firmware rename to portage/config/target/etc/portage/package.env/linux-firmware diff --git a/portage/package.license/firmware b/portage/config/target/etc/portage/package.license/firmware similarity index 100% rename from portage/package.license/firmware rename to portage/config/target/etc/portage/package.license/firmware diff --git a/portage/package.use/busybox b/portage/config/target/etc/portage/package.use/busybox similarity index 100% rename from portage/package.use/busybox rename to portage/config/target/etc/portage/package.use/busybox diff --git a/portage/package.use/firmware b/portage/config/target/etc/portage/package.use/firmware similarity index 100% rename from portage/package.use/firmware rename to portage/config/target/etc/portage/package.use/firmware diff --git a/portage/package.use/grub b/portage/config/target/etc/portage/package.use/grub similarity index 100% rename from portage/package.use/grub rename to portage/config/target/etc/portage/package.use/grub diff --git a/portage/package.use/python b/portage/config/target/etc/portage/package.use/python similarity index 100% rename from portage/package.use/python rename to portage/config/target/etc/portage/package.use/python diff --git a/portage/patches/sec-policy/selinux-base-policy b/portage/config/target/etc/portage/patches/sec-policy/selinux-base-policy similarity index 100% rename from portage/patches/sec-policy/selinux-base-policy rename to portage/config/target/etc/portage/patches/sec-policy/selinux-base-policy diff --git a/portage/patches/sec-policy/selinux-base/0001-systemd-Fixes-for-systemd-resolved.patch b/portage/config/target/etc/portage/patches/sec-policy/selinux-base/0001-systemd-Fixes-for-systemd-resolved.patch similarity index 100% rename from portage/patches/sec-policy/selinux-base/0001-systemd-Fixes-for-systemd-resolved.patch rename to portage/config/target/etc/portage/patches/sec-policy/selinux-base/0001-systemd-Fixes-for-systemd-resolved.patch diff --git a/portage/patches/sec-policy/selinux-base/0002-mount-Allow-mounting-on-etc_t.patch b/portage/config/target/etc/portage/patches/sec-policy/selinux-base/0002-mount-Allow-mounting-on-etc_t.patch similarity index 100% rename from portage/patches/sec-policy/selinux-base/0002-mount-Allow-mounting-on-etc_t.patch rename to portage/config/target/etc/portage/patches/sec-policy/selinux-base/0002-mount-Allow-mounting-on-etc_t.patch diff --git a/portage/patches/sec-policy/selinux-base/0003-kernel-Mark-unlabeled_t-as-mount-point-type.patch b/portage/config/target/etc/portage/patches/sec-policy/selinux-base/0003-kernel-Mark-unlabeled_t-as-mount-point-type.patch similarity index 100% rename from portage/patches/sec-policy/selinux-base/0003-kernel-Mark-unlabeled_t-as-mount-point-type.patch rename to portage/config/target/etc/portage/patches/sec-policy/selinux-base/0003-kernel-Mark-unlabeled_t-as-mount-point-type.patch diff --git a/portage/patches/sec-policy/selinux-base/0004-Allow-systemd-journald-list-cgroup-directories.patch b/portage/config/target/etc/portage/patches/sec-policy/selinux-base/0004-Allow-systemd-journald-list-cgroup-directories.patch similarity index 100% rename from portage/patches/sec-policy/selinux-base/0004-Allow-systemd-journald-list-cgroup-directories.patch rename to portage/config/target/etc/portage/patches/sec-policy/selinux-base/0004-Allow-systemd-journald-list-cgroup-directories.patch diff --git a/portage/patches/sec-policy/selinux-base/0005-Allow-systemd-to-create-directories.patch b/portage/config/target/etc/portage/patches/sec-policy/selinux-base/0005-Allow-systemd-to-create-directories.patch similarity index 100% rename from portage/patches/sec-policy/selinux-base/0005-Allow-systemd-to-create-directories.patch rename to portage/config/target/etc/portage/patches/sec-policy/selinux-base/0005-Allow-systemd-to-create-directories.patch diff --git a/portage/profile/package.provided b/portage/config/target/etc/portage/profile/package.provided similarity index 100% rename from portage/profile/package.provided rename to portage/config/target/etc/portage/profile/package.provided diff --git a/portage/savedconfig/sys-apps/busybox b/portage/config/target/etc/portage/savedconfig/sys-apps/busybox similarity index 100% rename from portage/savedconfig/sys-apps/busybox rename to portage/config/target/etc/portage/savedconfig/sys-apps/busybox diff --git a/portage/savedconfig/sys-kernel/linux-firmware b/portage/config/target/etc/portage/savedconfig/sys-kernel/linux-firmware similarity index 100% rename from portage/savedconfig/sys-kernel/linux-firmware rename to portage/config/target/etc/portage/savedconfig/sys-kernel/linux-firmware diff --git a/portage/repos/x-portage/metadata/layout.conf b/portage/repos/x-portage/metadata/layout.conf new file mode 100644 index 0000000..d43e61c --- /dev/null +++ b/portage/repos/x-portage/metadata/layout.conf @@ -0,0 +1 @@ +masters = gentoo diff --git a/portage/repos/x-portage/profiles/repo_name b/portage/repos/x-portage/profiles/repo_name new file mode 100644 index 0000000..de08db2 --- /dev/null +++ b/portage/repos/x-portage/profiles/repo_name @@ -0,0 +1 @@ +x-portage diff --git a/prepare.sh b/prepare.sh index 1c2fc73..030bd26 100755 --- a/prepare.sh +++ b/prepare.sh @@ -13,16 +13,16 @@ fi chown portage: "$(portageq envvar DISTDIR)" ARCH=$(PORTAGE_CONFIGROOT=/usr/${target} portageq envvar ARCH) +PKGDIR=$(portageq envvar PKGDIR) +FEATURES="${FEATURES} binpkg-multi-instance" -if [ -f /usr/${target}/etc/portage/make.conf ]; then - sed -i '/PKGDIR=/d' /usr/${target}/etc/portage/make.conf -fi # For some reason, libcap installs its pkg-config files in the wrong # place. More strangely, even though `PKG_CONFIG_PATH` contains that # directory, `pkg-config` does not find the `.pc` files for libcap. # We work around this by merging /usr/lib64/pkgconfig and # /usr/lib/pkgconfig. -FEATURES="${FEATURES} binpkg-multi-instance" \ +FEATURES="${FEATURES}" \ +PKGDIR="${PKGDIR}" \ ${target}-emerge -kb1vnj sys-libs/libcap if [ -d /usr/${target}/usr/lib/pkgconfig ] \ && [ ! -d /usr/${target}/usr/lib64/pkgconfig ]; then @@ -30,32 +30,35 @@ if [ -d /usr/${target}/usr/lib/pkgconfig ] \ ln -snf ../lib64/pkgconfig /usr/${target}/usr/lib/pkgconfig fi -if [ ! -d /usr/${target}/etc/portage/make.conf ]; then - mv /usr/${target}/etc/portage/make.conf \ - /usr/${target}/etc/portage/make.conf.orig - sed -ri 's: ?-pam::' /usr/${target}/etc/portage/make.conf.orig - ls -l /usr/${target}/etc/portage - mkdir /usr/${target}/etc/portage/make.conf - mv /usr/${target}/etc/portage/make.conf.orig \ - /usr/${target}/etc/portage/make.conf/10-base.conf -fi - -if [ ! -d /etc/portage/make.conf ]; then - mv /etc/portage/make.conf \ - /etc/portage/make.conf.orig - mkdir /etc/portage/make.conf - mv /etc/portage/make.conf.orig \ - /etc/portage/make.conf/10-base.conf +if [ ! -f portage/make.conf/10-crossdev.conf ]; then + sed -r \ + -e 's: ?-pam::' \ + -e '/PKGDIR=/d' \ + /usr/${target}/etc/portage/make.conf \ + > portage/config/target/etc/portage/make.conf/10-crossdev.conf fi ln -snf /var/db/repos/gentoo/profiles/default/linux/${ARCH}/17.0 \ /usr/${target}/etc/portage/make.profile +FEATURES="${FEATURES}" \ +PKGDIR="${PKGDIR}" \ ${target}-emerge -bk1nvj sys-libs/glibc +FEATURES="${FEATURES}" \ +PKGDIR=$(portageq envvar PKGDIR) \ +USE=pam \ ${target}-emerge -bknvj sys-apps/util-linux # Migrate to the merged-usr layout mkdir -p /usr/${target}/bin emerge -bknv --quiet-build=y merge-usr merge-usr --root=/usr/${target} + +# Set the Portage profile +ln -snf \ + /var/db/repos/gentoo/profiles/${profile} \ + portage/config/target/etc/portage/make.profile +ln -snf \ + $(realpath /etc/portage/make.profile) \ + portage/config/host/etc/portage/make.profile diff --git a/setup-local-repo.sh b/setup-local-repo.sh index 0914150..4bff544 100755 --- a/setup-local-repo.sh +++ b/setup-local-repo.sh @@ -5,13 +5,10 @@ set -e . ./config -mkdir -p /var/db/repos/x-portage/profiles /var/db/repos/x-portage/metadata -echo x-portage > /var/db/repos/x-portage/profiles/repo_name -echo 'masters = gentoo' > /var/db/repos/x-portage/metadata/layout.conf -mkdir -p /usr/${target}/etc/portage/repos.conf -cat > /usr/${target}/etc/portage/repos.conf/x-portage.conf < portage/config/target/etc/portage/repos.conf/x-portage.conf <