From dc462ec29f53734d41cb2c77d00575eb184ba300 Mon Sep 17 00:00:00 2001 From: travankor Date: Sat, 13 Mar 2021 07:51:37 -0700 Subject: [PATCH] New package: booster-0.7 Added booster to initramfs-regenerate hook --- srcpkgs/booster/files/kernel-hook-postinst | 13 ++++++ srcpkgs/booster/files/kernel-hook-postrm | 10 +++++ srcpkgs/booster/template | 44 +++++++++++++++++++ .../xbps-triggers/files/initramfs-regenerate | 15 ++++++- 4 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/booster/files/kernel-hook-postinst create mode 100644 srcpkgs/booster/files/kernel-hook-postrm create mode 100644 srcpkgs/booster/template diff --git a/srcpkgs/booster/files/kernel-hook-postinst b/srcpkgs/booster/files/kernel-hook-postinst new file mode 100644 index 000000000000..5c145c315095 --- /dev/null +++ b/srcpkgs/booster/files/kernel-hook-postinst @@ -0,0 +1,13 @@ +#!/bin/sh +# +# Kernel post-install hook for booster. +# +# Arguments passed to this script: $1 pkgname, $2 version. +# +PKGNAME="$1" +VERSION="$2" + +[ -x usr/bin/booster ] || exit 0 + +umask 0077 +usr/bin/booster -force -output boot/initramfs-${VERSION}.img -kernelVersion ${VERSION} diff --git a/srcpkgs/booster/files/kernel-hook-postrm b/srcpkgs/booster/files/kernel-hook-postrm new file mode 100644 index 000000000000..253c8d2d45f4 --- /dev/null +++ b/srcpkgs/booster/files/kernel-hook-postrm @@ -0,0 +1,10 @@ +#!/bin/sh +# +# Kernel post-remove hook for booster. +# +# Arguments passed to this script: $1 pkgname, $2 version. +# +PKGNAME="$1" +VERSION="$2" + +rm -f boot/initramfs-${VERSION}.img diff --git a/srcpkgs/booster/template b/srcpkgs/booster/template new file mode 100644 index 000000000000..b2df8cc6de48 --- /dev/null +++ b/srcpkgs/booster/template @@ -0,0 +1,44 @@ +# Template file for 'booster' +pkgname=booster +version=0.7 +revision=1 +build_style=go +go_import_path=github.com/anatol/booster +go_package="${go_import_path}/generator ${go_import_path}/init" +hostmakedepends="git ruby-ronn" +depends="busybox-static" +short_desc="Fast and secure initramfs generator" +maintainer="travankor " +license="MIT" +homepage="https://github.com/anatol/booster" +distfiles="https://github.com/anatol/booster/archive/${version}.tar.gz" +checksum=70cf535865e8f528a233fd4ca04eb178b11a897f1283877f63e9056392475f3a +conf_files="/etc/booster.yaml" + +do_build() { + cd generator + go install -p "$XBPS_MAKEJOBS" -mod=readonly -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" + + cd ../init + CGO_ENABLED=0 go install -p "$XBPS_MAKEJOBS" -mod=readonly -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" +} + +do_install() { + if [ "$CROSS_BUILD" ]; then + vbin ${GOPATH}/bin/linux_${GOARCH}/booster + vinstall ${GOPATH}/bin/linux_${GOARCH}/init 755 usr/lib/booster + else + vbin ${GOPATH}/bin/booster + vinstall ${GOPATH}/bin/init 755 usr/lib/booster + fi + ronn docs/manpage.md + vman docs/manpage.1 booster.1 + echo "busybox: true" > booster.yaml +} + +post_install() { + vconf booster.yaml + vinstall ${FILESDIR}/kernel-hook-postinst 755 etc/kernel.d/post-install 20-booster + vinstall ${FILESDIR}/kernel-hook-postrm 755 etc/kernel.d/post-remove 20-booster + vlicense LICENSE +} diff --git a/srcpkgs/xbps-triggers/files/initramfs-regenerate b/srcpkgs/xbps-triggers/files/initramfs-regenerate index 780c3580829f..62c3db859e15 100755 --- a/srcpkgs/xbps-triggers/files/initramfs-regenerate +++ b/srcpkgs/xbps-triggers/files/initramfs-regenerate @@ -8,8 +8,8 @@ # # INITRAMFS_GENERATOR= # -# where is one of "dracut", "mkinitcpio" or "none". By default, a -# value of "dracut" is assumed. +# where is one of "dracut", "mkinitcpio", "booster" or "none". +# By default, a value of "dracut" is assumed. # # Arguments: $ACTION = [run/targets] # $TARGET = [post-install/post-remove] @@ -61,6 +61,17 @@ case "${INITRAMFS_GENERATOR:-dracut}" in done fi ;; + booster) + if command -v booster >dev/null 2>&1; then + echo "Regenerating initramfs with booster" + # Regenerate images for every kernel version with modules + for kdir in usr/lib/modules/*; do + [ -d "${kdir}/kernel" ] || continue + kver="${kdir##*/}" + booster -force -output "boot/initramfs-${kver}.img" -kernelVersion "${kver}" + done + fi + ;; none) ;; *)