The boot check and, from #560, the snapshot restore check read the kernel out of the Limine UKI with objcopy. mkinitcpio pulls binutils in today, but the package calls it directly.
63 lines
3.0 KiB
Bash
63 lines
3.0 KiB
Bash
# Maintainer: Marcelo Alcantara <maralc@gmail.com>
|
|
# Recipe from maralcbr/omarchy-pkgs asahi-quattro pkgbuilds/omarchy-mac-boot
|
|
# (20260921-10 at 0a55baeddecf59687c32b4bd4e1dee743605c183); the payload now
|
|
# builds from packages/omarchy-mac/boot in omacom/omarchy-mac.
|
|
|
|
pkgname=omarchy-mac-boot
|
|
# pkgver is the UTC commit date of _commit, so it sorts above the fork's
|
|
# 20260921-N. Reset pkgrel to 1 when pkgver changes; bump it to re-pin or
|
|
# rebuild on the same day.
|
|
pkgver=20260925
|
|
pkgrel=4
|
|
pkgdesc='Apple Silicon boot support for Omarchy: initramfs, in-place encryption, first boot and Limine activation'
|
|
arch=('aarch64')
|
|
groups=('omarchy-platform-apple-silicon')
|
|
url='https://github.com/omacom/omarchy-mac'
|
|
license=('MIT')
|
|
makedepends=('git')
|
|
provides=('omarchy-apple-boot' 'omarchy-first-boot')
|
|
conflicts=('omarchy-apple-boot' 'omarchy-first-boot')
|
|
replaces=('omarchy-apple-boot' 'omarchy-first-boot')
|
|
install=omarchy-mac-boot.install
|
|
# An exact omarchy-mac commit, never a branch.
|
|
_commit=84352fdb8fd03d149682ac54466b1a1add176f84
|
|
source=("omarchy-mac::git+https://github.com/omacom/omarchy-mac.git#commit=${_commit}")
|
|
sha256sums=('06514d03eef7e8468277ae97c3258bc595f307aa0cf3356d3f71cfb6b0d14fe2')
|
|
|
|
prepare() {
|
|
# Tests and staging must not be able to read the surrounding desktop source.
|
|
rm -rf "$srcdir/boot"
|
|
cp -a "$srcdir/omarchy-mac/packages/omarchy-mac/boot" "$srcdir/boot"
|
|
[[ $(git -C "$srcdir/omarchy-mac" rev-parse HEAD) == "$_commit" ]]
|
|
[[ $(TZ=UTC0 git -C "$srcdir/omarchy-mac" show -s --format=%cd --date=format-local:%Y%m%d HEAD) == "$pkgver" ]]
|
|
}
|
|
|
|
check() {
|
|
"$srcdir/boot/test/all"
|
|
}
|
|
|
|
package() {
|
|
# Runtime-only, so the builder stages and tests the payload without the
|
|
# desktop or a boot chain. 1.39.0-2 is the first limine-mkinitcpio-hook that
|
|
# leaves a Mac's /boot to mkinitcpio until Limine is activated.
|
|
depends=('omarchy' 'limine' 'limine-mkinitcpio-hook>=1.39.0-2' 'limine-snapper-sync' 'asahi-scripts'
|
|
'bash' 'binutils' 'btrfs-progs' 'coreutils' 'cpio' 'cryptsetup' 'diffutils' 'gawk' 'gnupg' 'grep'
|
|
'gum' 'gzip' 'kbd' 'mkinitcpio' 'sed' 'systemd' 'util-linux')
|
|
|
|
"$srcdir/boot/install" "$pkgdir"
|
|
# Once the source drops its own Plymouth fragment (omacom/omarchy-mac#544),
|
|
# the Apple drop-ins build on omarchy-settings' HOOKS baseline
|
|
# (/etc/mkinitcpio.conf.d/00-omarchy-hooks.conf, omacom/omarchy-mac#536), and
|
|
# an older settings package leaves Plymouth out of the Mac initramfs. A
|
|
# settings version cannot say so (quattro candidates sort below stock
|
|
# releases, and omarchy pins its settings exactly), so the settings packages
|
|
# that ship the baseline provide it by name.
|
|
[[ -e $pkgdir/etc/mkinitcpio.conf.d/93-omarchy-mac-plymouth.conf ]] ||
|
|
depends+=('omarchy-mkinitcpio-hooks-baseline')
|
|
printf '%s\n' "$_commit" | install -Dm644 /dev/stdin "$pkgdir/usr/share/omarchy-mac/boot-source-revision"
|
|
|
|
# Administrator-editable: every /etc path and the initramfs helpers an image
|
|
# may rewrite.
|
|
mapfile -t backup < <(cd "$pkgdir" && find etc usr/lib/omarchy/initcpio -type f | sort)
|
|
}
|