pmaports/main/postmarketos-mkinitfs/APKBUILD
alikates e38db6e4de
main/postmarketos-mkinitfs: don't use uevent helper (MR 3351)
Instead of using the uevent helper binary, mdev daemon listens for kernel
events using the netlink interface. Then the requirement of enabling
UEVENT_HELPER for pmOS kernels can be dropped, as it's use is discouraged.

From CONFIG_UEVENT_HELPER kernel config help:

> This should not be used today, because usual systems create many events
> at bootup or device discovery in a very short time frame. One forked
> process per event can create so many processes that it creates a high
> system load, or on smaller systems it is known to create out-of-memory
> situations during bootup.

Support for running mdev as a daemon was added in 2019 with commit [1].

From that same commit:

> Adds the -d option to run mdev in daemon mode handling hotplug events
> from the kernel like udev. If the system generates many hotplug events
> this mode of operation will consume less resources than registering
> mdev as hotplug helper or using the uevent applet.

[1] https://git.busybox.net/busybox/commit/?id=498cec202adbf69a7a72af5e204260682d614183
[ci:skip-build]: already built successfully in CI
2022-11-11 08:11:19 +01:00

72 lines
2.1 KiB
Text

# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-mkinitfs
pkgver=1.5.1
pkgrel=1
pkgdesc="Tool to generate initramfs images for postmarketOS"
url="https://postmarketos.org"
depends="
boot-deploy
busybox-extras
btrfs-progs
bzip2
cryptsetup
device-mapper
e2fsprogs
e2fsprogs-extra
f2fs-tools
lz4
multipath-tools
parted
postmarketos-fde-unlocker
unudhcpd
xz
"
makedepends="go"
replaces="mkinitfs"
triggers="$pkgname.trigger=/etc/postmarketos-mkinitfs/hooks:/usr/share/kernel/*:/usr/share/postmarketos-mkinitfs-triggers"
source="
https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/archive/$pkgver/postmarketos-mkinitfs-$pkgver.tar.gz
00-default.modules
init.sh
init_functions.sh
"
install="$pkgname.post-upgrade"
arch="all"
license="GPL-2.0-or-later"
provider_priority=999 # higher priority than Alpine's mkinitfs
provides="initramfs-generator"
export GOPATH="$srcdir"
export CGO_ENABLED=0
build() {
unset LDFLAGS # passed to Go as linker flags, which are invalid
make
}
package() {
install -Dm644 "$srcdir/init_functions.sh" \
"$pkgdir/usr/share/postmarketos-mkinitfs/init_functions.sh"
install -Dm755 "$srcdir/init.sh" \
"$pkgdir/usr/share/postmarketos-mkinitfs/init.sh"
install -Dm644 "$srcdir/00-default.modules" \
"$pkgdir/etc/postmarketos-mkinitfs/modules/00-default.modules"
mkdir -p "$pkgdir/etc/postmarketos-mkinitfs/hooks/"
make PREFIX=/usr DESTDIR="$pkgdir" install
}
check() {
go test ./...
}
sha512sums="
d28802b17d7912a58d23c02fbdddfdb6f74489e712d61a59472f7f000a4429786f69ba2fca59d321c55c277ff79edb6f47c939a9e973b31f694aeca0167354ff postmarketos-mkinitfs-1.5.1.tar.gz
20f110337113e8de8999cf2a064a93fea36821d5c216bfa4ba46ec1f83825638262b92fd7be29eee0a85a54a108b7315a96cbe30da8ae4419f54c2ed53bb08c7 00-default.modules
ccdceaa710d97d6f57d8d66bfcbec448486d08083341712303f62123039f729229b88528308e411a308a2b90b81b60de89fe91143a6facbb11cbc9b4055eeaec init.sh
260f7be8a199d5a3b64975441f7a3c62908b2e36b406341d858f90efd5d713e5559df1ecf465d7d61f5ebd009f61c34ba28e5db81f184ec8d857ceebffc985d9 init_functions.sh
"