From a4fa08b06393fab44ff6937352937a4d4404f328 Mon Sep 17 00:00:00 2001 From: Max Rees Date: Fri, 10 Jul 2020 23:49:22 -0500 Subject: system/easy-boot: new package --- system/easy-boot/APKBUILD | 45 ++++++++++++++++++++++++++++++++++++++ system/easy-boot/easy-boot.trigger | 2 ++ system/easy-boot/update-boot | 13 +++++++++++ 3 files changed, 60 insertions(+) create mode 100644 system/easy-boot/APKBUILD create mode 100644 system/easy-boot/easy-boot.trigger create mode 100644 system/easy-boot/update-boot (limited to 'system') diff --git a/system/easy-boot/APKBUILD b/system/easy-boot/APKBUILD new file mode 100644 index 000000000..e8189164c --- /dev/null +++ b/system/easy-boot/APKBUILD @@ -0,0 +1,45 @@ +# Maintainer: Max Rees +pkgname=easy-boot +pkgver=1.0 +pkgrel=0 +pkgdesc="APK trigger to automatically update boot configuration" +url="https://www.adelielinux.org/" +arch="noarch" +options="!check" # No test suite. +license="NCSA" +depends="/bin/sh" +makedepends="" +subpackages="no-boot:none" +provides="kernel-boot" +provider_priority=10 +triggers="$pkgname.trigger=/boot" +source="update-boot" + +package() { + install -Dm755 "$srcdir"/update-boot \ + "$pkgdir"/usr/sbin/update-boot + + mkdir -p "$pkgdir"/etc/easy-boot.d + cat >"$pkgdir"/etc/easy-boot.d/README <<-EOF + This directory contains hooks that will be executed when the files + in /boot are upgraded, in particular the kernel from easy-kernel. + Each hook will be executed in collation order. The current numbering + conventions are: + + 20 - initramfs generation + 50 - bootloader configuration + + To completely disable this mechanism, install the "no-boot" package. + + The hooks can be re-run manually using the "update-boot" command. + EOF +} + +none() { + pkgdesc="Disable boot configuration from automatically updating" + depends="" + provides="kernel-boot" + provider_priority=1 + mkdir -p "$subpkgdir" +} +sha512sums="7436693956df66bebeef20937f210c889d109ba85456d4cd3c115d00e4c68f3f5b51dbaa1859a729c2599b344e21d45c484fe278c43c7c59bb04a4159e9b6577 update-boot" diff --git a/system/easy-boot/easy-boot.trigger b/system/easy-boot/easy-boot.trigger new file mode 100644 index 000000000..63f7f1850 --- /dev/null +++ b/system/easy-boot/easy-boot.trigger @@ -0,0 +1,2 @@ +#!/bin/sh -e +exec update-boot diff --git a/system/easy-boot/update-boot b/system/easy-boot/update-boot new file mode 100644 index 000000000..a3e45ebf4 --- /dev/null +++ b/system/easy-boot/update-boot @@ -0,0 +1,13 @@ +#!/bin/sh -e +rc=0 + +for i in /etc/easy-boot.d/*; do + [ -x "$i" ] || continue + printf '>>> %s\n' "${i##*/}" >&2 + if ! "$i"; then + printf '>>> Kernel boot hook failed!\n' >&2 + rc="$((rc + 1))" + fi +done + +exit "$rc" -- cgit v1.2.3-70-g09d2