The snapshot restore hooks under /etc/boot/hooks are symlinks, which the backup list leaves out. omarchy-drive-password needs luks-slots only for the system disk.
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 file and the initramfs helpers an image
|
|
# may rewrite.
|
|
mapfile -t backup < <(cd "$pkgdir" && find etc usr/lib/omarchy/initcpio -type f | sort)
|
|
}
|