From e54480b721773a375ce6a83f450385d607902908 Mon Sep 17 00:00:00 2001 From: travankor Date: Sat, 13 Mar 2021 07:51:37 -0700 Subject: [PATCH] New package: booster-0.6 Added booster to initramfs-regenerate hook --- srcpkgs/booster/files/kernel-hook-postinst | 16 ++++++++ srcpkgs/booster/files/kernel-hook-postrm | 11 +++++ srcpkgs/booster/template | 40 +++++++++++++++++++ .../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..7313b69da6a5 --- /dev/null +++ b/srcpkgs/booster/files/kernel-hook-postinst @@ -0,0 +1,16 @@ +#!/bin/sh +# +# Kernel post-install hook for booster. +# +# Arguments passed to this script: $1 pkgname, $2 version. +# +PKGNAME="$1" +VERSION="$2" + +if [ ! -x usr/bin/booster ]; then + exit 0 +fi + +umask 0077 +usr/bin/booster -force -output boot/initramfs-${VERSION}.img -kernelVersion ${VERSION} +exit $? diff --git a/srcpkgs/booster/files/kernel-hook-postrm b/srcpkgs/booster/files/kernel-hook-postrm new file mode 100644 index 000000000000..ef13d1967a67 --- /dev/null +++ b/srcpkgs/booster/files/kernel-hook-postrm @@ -0,0 +1,11 @@ +#!/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 +exit $? diff --git a/srcpkgs/booster/template b/srcpkgs/booster/template new file mode 100644 index 000000000000..a29576408f10 --- /dev/null +++ b/srcpkgs/booster/template @@ -0,0 +1,40 @@ +# Template file for 'booster' +pkgname=booster +version=0.6 +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=9f62c77fcc625ef77d784cf45b69f6477276151670a204e62a709d508af4c176 +conf_files="/etc/booster.yaml" + +pre_build() { + export CGO_ENABLED=0 +} + +do_install() { + if [ "$CROSS_BUILD" ]; then + vbin ${GOPATH}/bin/linux_${GOARCH}/generator booster + vinstall ${GOPATH}/bin/linux_${GOARCH}/init 755 usr/lib/booster + else + vbin ${GOPATH}/bin/generator 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) ;; *)