Commit Graph

13 Commits (4a555211f58f1cc99536e433ace04f642285bd35)

Author SHA1 Message Date
Dustin 4a555211f5 Install Firefox
Attempting to cross-compile Firefox will be rather challenging.  It has
loads of dependencies, written in a variety of languages.  Some issues
are more interesting than others.  Notably, _dev-libs/nss_ needs to be
installed on the host in order to cross-compile itself, but its ebuild
does not specify this ([Bug 759127][0]).  Also the build system for
_gnome-base/librsvg_ is broken: [Gentoo Bug 835758][1], [GNOME
Issue #810][2].  Cross-compiling _dev-libs/gobject-introspection_ is
also broken ([Bug 759127][3], [850895][4]).

With all of these changes, we can get to the point where Portage starts
building Firefox, it will take hours and all of my machine's resources,
so I haven't tested if will actually build.  We shall see once Jenkins
tries it...

[0]: https://bugs.gentoo.org/759127
[1]: https://bugs.gentoo.org/835758
[2]: https://gitlab.gnome.org/GNOME/librsvg/-/issues/810
[3]: https://bugs.gentoo.org/850895
[4]: https://bugs.gentoo.org/751325
2025-01-01 10:16:57 -06:00
Dustin 43d15bdbf8 ci: Prevent concurrent builds
The `disableConcurrentBuilds` pipeline option tells Jenkins to force
subsequent builds _of the same job_ to wait in queue until the one
running has completed.  This is sufficient when there is only one
branch/project in development at a time.  In order to prevent multiple
projects from running simultaneously, we need to acquire a global lock;
all projects need to have this same option in order for it to be
effective.
2024-12-31 13:11:47 -06:00
Dustin 6258df154c ci: Add CAP_CHROOT to build container
dustin/photoframe2/pipeline/head This commit looks good Details
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
Dustin 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
Dustin 4ded67f1f4 Update Aimee OS 2024-12-30 17:57:04 -06:00
Dustin 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
Dustin 10d2d4fd7d Update aimee-os 2024-12-30 17:57:04 -06:00
Dustin 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
Dustin 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
Dustin 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
Dustin 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
Dustin adf77e301c ci: Begin Jenkins build pipeline
dustin/photoframe2/pipeline/head This commit looks good Details
2024-12-10 10:39:10 -06:00
Dustin a9fe599978 Initial commit 2024-12-10 10:39:10 -06:00