ed3eeeeebb
Partial revert of 24fa68c9
("avoid storing initramfs-extra twice").
Some people have (rightfully) complained that including the hash
in the filename of the initramfs-extra prevents the device from booting
whenever the boot partition gets out of sync with the boot image.
In general we should assume that those two are in sync, but there is
no need to unnecessarily break this if previously booting the outdated
extra initramfs worked just fine.
At the end, the hash is just an implementation detail for the caching
mechanism - we need it when (re-)generating the initramfs, but it does
not have to be within the filename. Instead, we can simply append the
hash to the file contents. GZIP will simply ignore the trailing garbage.
The boot partition will then look like:
$ cat /boot/initramfs-<flavor>-extra
<GZIP data>d3c7b449c6fc811d97351bbc46852b66 (the hash)
This makes the filename of initramfs-extra nice and stable again.
It also fixes a regression where the initramfs-extra would no longer
get symlinked by "pmbootstrap export" (I was going to fix that in
pmbootstrap but now this solution is more appealing...)
While we're at it: Make the script more resilient again by writing
to a temporary file first, then move it (atomically) to the real path.
29 lines
1.3 KiB
Text
29 lines
1.3 KiB
Text
pkgname=postmarketos-mkinitfs
|
|
pkgver=0.9.2
|
|
pkgrel=1
|
|
pkgdesc="Tool to generate initramfs images for postmarketOS"
|
|
url="https://postmarketos.org"
|
|
# multipath-tools: kpartx
|
|
depends="busybox-extras lddtree cryptsetup kmod multipath-tools
|
|
device-mapper parted e2fsprogs e2fsprogs-extra osk-sdl charging-sdl triggerhappy xz bzip2 lz4"
|
|
triggers="$pkgname.trigger=/etc/postmarketos-mkinitfs/hooks:/usr/share/kernel/*"
|
|
source="init.sh.in init_functions.sh mkinitfs.sh"
|
|
arch="noarch"
|
|
license="GPL2"
|
|
provides="mkinitfs=0.0.1"
|
|
options="!check"
|
|
|
|
package() {
|
|
mkdir -p "$pkgdir/usr/share/postmarketos-mkinitfs/"
|
|
for file in init.sh.in init_functions.sh; do
|
|
install -Dm644 "$srcdir/$file" \
|
|
"$pkgdir/usr/share/postmarketos-mkinitfs/$file"
|
|
done
|
|
install -Dm755 "$srcdir/mkinitfs.sh" \
|
|
"$pkgdir/sbin/mkinitfs"
|
|
mkdir -p "$pkgdir/etc/postmarketos-mkinitfs/hooks/"
|
|
}
|
|
|
|
sha512sums="1d49db8a48ad513cc548b8a0ea23cc64518e71c93863155b4e9d2271fb46090506331c03d6955d693c8568c248ecc76b218efe4a6f6bba57c41c5f6d775dc61b init.sh.in
|
|
3bcec7b35ced7e87c301f71a892e54aa40983396e2ebaa3c8cbd84c91f711b3ca0e30fbc3104b1a1018ec1af51844ba90a63d380359b51db6242562d21776ed0 init_functions.sh
|
|
7f7e32588a3658f707a483e2a14ec20396dfabd25f5e86ef2be3055e05ddafcba1285dc9b233c4cdf47424eb71f35dfdc8fd2dc92ff0c76b970981bdfc576475 mkinitfs.sh"
|