Compare commits

..

9 Commits

Author SHA1 Message Date
6258df154c ci: Add CAP_CHROOT to build container
All checks were successful
dustin/photoframe2/pipeline/head This commit looks good
This is needed in order to run `passwd -R` to clear the root password
in the target filesystem.
2024-12-30 17:57:04 -06:00
735600a31f ci: Use persistent volumes for portage, binpkgs
Recompiling the entire OS for every build takes way too long for
development purposes.  Since we build binary packages anyway, let's keep
them around between builds by storing them on a Kubernetes persistent
volume.

Eventually, I want add a build parameter to wipe out the binary package
storage to force a from-scratch build.  We'll use that option for robust
periodic builds, once development has slowed down.
2024-12-30 17:57:04 -06:00
4ded67f1f4 Update Aimee OS 2024-12-30 17:57:04 -06:00
aede5cd116 ci: Clear env to run build
We don't need any of the environment variables Jenkins sets, and some of
them (like `GIT_COMMIT`) interfere with building packages.
2024-12-30 17:57:04 -06:00
10d2d4fd7d Update aimee-os 2024-12-30 17:57:04 -06:00
1faeebe66d portage: Install-mask systemd-nsresourced
I don't know what this is for; I think it has something to do with
containers, possibly for `systemd-npsawn`?  It spawns a bunch of
processes and wastes several megabytes of RAM.
2024-12-30 17:57:04 -06:00
04232e6a06 customize: Add script
Deleting the initial password for `root` so we can log in to the serial
console for debugging.

Enabling _wpa_supplicant_ to connect to WiFi automatically.
2024-12-30 17:57:04 -06:00
b7937e98a6 Add Rasperry Pi WiFi support
We need the Broadcom firmware from the _linux-firmware_ package (and
nothing else).  We also need _wpa_supplicant_, to configure the WiFi
connection.  Finally, we need to configure _systemd-networkd_ to manage
the network device.
2024-12-30 17:57:04 -06:00
588467d31c config: Set rootflags
Need to add `rootwait` because the Raspberry Pi SD card reader is really
slow and does not initialize in time for the kernel to load the root
filesystem from it.
2024-12-30 17:57:04 -06:00
11 changed files with 20 additions and 81 deletions

View File

@@ -13,6 +13,7 @@ spec:
capabilities:
add:
- CAP_SETFCAP
- CAP_SYS_CHROOT
volumeMounts:
- mountPath: /build
name: workspace-volume
@@ -21,12 +22,21 @@ spec:
name: workspace-volume
subPath: gentoo
- mountPath: /usr/aarch64-unknown-linux-gnu/var/cache/binpkgs
name: workspace-volume
subPath: binpkgs
name: binpkgs
subPath: photoframe2
- mountPath: /var/cache/binpkgs
name: workspace-volume
subPath: binpkgs
name: binpkgs
subPath: photoframe2
- mountPath: /var/cache/distfiles
name: workspace-volume
subPath: distfiles
- mountPath: /var/db/repos/gentoo
name: portage
hostUsers: false
volumes:
- name: binpkgs
persistentVolumeClaim:
claimName: binpkgs
- name: portage
persistentVolumeClaim:
claimName: portage

View File

@@ -1,2 +1 @@
net-wireless/wpa_supplicant
www-client/firefox

View File

@@ -14,9 +14,6 @@ CONFIG_PCI=y
CONFIG_PCIE_BRCMSTB=y
CONFIG_BLK_DEV_NVME=y
CONFIG_MMC_BCM2835_SDHOST=y
CONFIG_MMC_BCM2835_MMC=y
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_I2C=y

View File

@@ -1 +0,0 @@
USE="${USE} -python -readline"

View File

@@ -1,4 +0,0 @@
# Disable GObject introspection because it cannot be cross-compiled
# https://bugs.gentoo.org/850895
# https://bugs.gentoo.org/751325
USE="${USE} -introspection -vala"

View File

@@ -1 +0,0 @@
VIDEO_CARDS='v3d vc4'

View File

@@ -1 +0,0 @@
USE="${USE} -X wayland"

View File

@@ -1 +0,0 @@
dev-libs/nss ~amd64

View File

@@ -1,6 +0,0 @@
media-libs/harfbuzz -cairo
media-libs/libvpx postproc
media-libs/mesa -llvm wayland
media-video/ffmpeg openssl -gnutls
www-client/firefox -telemetry dbus wayland
x11-libs/gtk+ wayland

View File

@@ -1,48 +0,0 @@
--- a/Makefile.in 2024-12-13 12:17:08.339616211 -0600
+++ b/Makefile.in 2024-12-13 12:18:30.301517960 -0600
@@ -641,12 +641,6 @@
rsvg/src/test_utils/reference_utils.rs \
rsvg-bench/Cargo.toml \
rsvg-bench/src/main.rs \
- rsvg_convert/tests/internal_predicates/file.rs \
- rsvg_convert/tests/internal_predicates/mod.rs \
- rsvg_convert/tests/internal_predicates/pdf.rs \
- rsvg_convert/tests/internal_predicates/png.rs \
- rsvg_convert/tests/internal_predicates/svg.rs \
- rsvg_convert/tests/rsvg_convert.rs \
librsvg-c/tests/legacy_sizing.rs \
gdk-pixbuf-loader/Cargo.toml \
gdk-pixbuf-loader/src/lib.rs \
@@ -685,15 +679,6 @@
librsvgincdir = $(includedir)/librsvg-$(RSVG_API_VERSION)/librsvg
librsvginc_HEADERS = $(librsvg_public_headers)
-# Use SCRIPTS instead of PROGRAMS since we build it on our own
-bin_SCRIPTS = rsvg-convert$(EXEEXT)
-RSVG_CONVERT_BIN = $(CARGO_TARGET_DIR)/$(RUST_TARGET_SUBDIR)/rsvg-convert$(EXEEXT)
-RSVG_CONVERT_SRC = \
- rsvg_convert/Cargo.toml \
- rsvg_convert/build.rs \
- rsvg_convert/src/main.rs \
- $(NULL)
-
@HAVE_RST2MAN_TRUE@man1_MANS = rsvg-convert.1
dist_doc_DATA = \
README.md \
@@ -1643,16 +1628,6 @@
$(CARGO) --locked build $(CARGO_VERBOSE) $(CARGO_TARGET_ARGS) $(CARGO_RELEASE_ARGS) --package librsvg-c \
&& cd $(LIBRSVG_BUILD_DIR) && $(LINK) $< && cp $(RUST_LIB) .libs/librsvg_c_api.a
-$(RSVG_CONVERT_BIN): $(RSVG_CONVERT_SRC) | librsvg_c_api.la
- +cd $(top_srcdir) && \
- PKG_CONFIG_ALLOW_CROSS=1 \
- PKG_CONFIG='$(PKG_CONFIG)' \
- CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \
- $(CARGO) --locked build $(CARGO_VERBOSE) $(CARGO_TARGET_ARGS) $(CARGO_RELEASE_ARGS) --package rsvg_convert
-
-rsvg-convert$(EXEEXT): $(RSVG_CONVERT_BIN)
- cd $(LIBRSVG_BUILD_DIR) && cp $(RSVG_CONVERT_BIN) rsvg-convert$(EXEEXT)
-
rsvg-convert.1: rsvg-convert.rst
@HAVE_RST2MAN_TRUE@ $(RST2MAN) $(top_srcdir)/rsvg-convert.rst rsvg-convert.1
@HAVE_RST2MAN_FALSE@ @echo "========================================"

View File

@@ -1,13 +1,8 @@
#!/bin/sh
ls -l /etc/portage
mkdir -p /etc/portage/package.use
mkdir -p /etc/portage/make.conf
cp portage/package.use/firefox /etc/portage/package.use/
cp portage/make.conf/introspection.conf /etc/portage/make.conf/
cp portage/make.conf/wayland.conf /etc/portage/make.conf/
xargs -r emerge -vbknuUj --rebuilt-binaries=y --color=y <<EOF
dev-libs/nss
EOF
if [ ! -f /var/db/repos/gentoo/metadata/timestamp ]; then
emerge-webrsync
fi
if [ "$(find /var/db/repos/gentoo/metadata -newermt '-24 hours' | wc -l)" -eq 0 ]; then
emaint sync
fi