diff --git a/sys-boot/zfsbootmenu/Manifest b/sys-boot/zfsbootmenu/Manifest new file mode 100644 index 0000000..53008d7 --- /dev/null +++ b/sys-boot/zfsbootmenu/Manifest @@ -0,0 +1,5 @@ +DIST zfsbootmenu-1.12.0.tar.gz 1688946 BLAKE2B 291dcc813767def653bc4983cb9ff4c5b1d9f191cb8fee6e9a58cd6826fe0204606aa095339e9eeb6e4dd3201f5f9ad1b4cc3a26712960bf057198225f4b65f9 SHA512 5af3d258eee3ade3e9e11e084f4de0d251acc952348fdc4d3656b32f8fec7460c2d59fa883e06f482bd2f59e1055d6b908cf43c29aee47059d369231197a6645 +DIST zfsbootmenu-2.2.2.tar.gz 1830178 BLAKE2B e2191e26215214ce2ed803bf0659aea9ba629fcb35acb75e6398731b5edcee4bc2820203844c80998e39fd4c6eb904244fce6a37126038cd816156466976100a SHA512 895491305bf97147252a63a28d378823068e83417146a949d018b49b6e6d3274af434e8047082dad08494f6db44429a9948531321750b88b0eaf282710356914 +DIST zfsbootmenu-2.3.0.tar.gz 1891010 BLAKE2B 2e84204994008c85ba0ad7231fe442bd02cbb45d57b3dfd707b86d1484b155dc8309958cd66d90336897e9841596aa74d6ffa4a969bca0e65679806ac8233e94 SHA512 9b8e2d5ea258a32cd09a9382faaa21beea54f2ed825fa747f10ffe0b9f191c257b023019ec76dc882e649e8ea6fcd8e310632bba6c783228c594e3d0fee2c9c8 +DIST zfsbootmenu-3.0.1.tar.gz 1905474 BLAKE2B 879eb533c333eb95eba7d6d003e3a5ec9446aa7a6443dc28f5c7002c20bfea229601cddb670a24b0638aa94ad14b038822d389488b5028c47484ffc39f7d1633 SHA512 8176ba9325a0d7f06ce9007a2a46cbb1a66f876987ef281f2fac0e0584dfd206ef55211de4af3aa9ae23d64788060119b070c9083e33928a85542efd07c08c95 +DIST zfsbootmenu-3.1.0.tar.gz 1912653 BLAKE2B 37a209dd50ce1da74f4f1d4e20f051cdac121efb71066c944cac43ff3a7d3186e7756c6fe65a393bc50d90cd03f84c7204dd1eb42728fa70dccb1246b5135142 SHA512 79d2134e827e27dbcc170f47b7c8f465f64d70a1bb6ddb2f05553a0515ccdc75e857e5378fd4fb9d61f3b07d3b0be8e163bde755dd09e0f7e599ebf14c575810 diff --git a/sys-boot/zfsbootmenu/files/zfsbootmenu-branding.patch b/sys-boot/zfsbootmenu/files/zfsbootmenu-branding.patch new file mode 100644 index 0000000..95e2e13 --- /dev/null +++ b/sys-boot/zfsbootmenu/files/zfsbootmenu-branding.patch @@ -0,0 +1,20 @@ +--- a/etc/zfsbootmenu/config.yaml ++++ b/etc/zfsbootmenu/config.yaml +@@ -3,14 +3,15 @@ Global: + BootMountPoint: /boot/efi + DracutConfDir: /etc/zfsbootmenu/dracut.conf.d + Components: +- ImageDir: /boot/efi/EFI/void ++ ImageDir: /boot/efi/EFI/gentoo + Versions: 3 + Enabled: true + syslinux: + Config: /boot/syslinux/syslinux.cfg + Enabled: false + EFI: +- ImageDir: /boot/efi/EFI/void ++ ImageDir: /boot/efi/EFI/gentoo ++ Stub: /usr/lib/systemd/boot/efi/linuxx64.elf.stub + Versions: false + Enabled: false + Kernel: diff --git a/sys-boot/zfsbootmenu/files/zfsbootmenu-stub-location.patch b/sys-boot/zfsbootmenu/files/zfsbootmenu-stub-location.patch new file mode 100644 index 0000000..d3daec1 --- /dev/null +++ b/sys-boot/zfsbootmenu/files/zfsbootmenu-stub-location.patch @@ -0,0 +1,13 @@ +diff --git a/etc/zfsbootmenu/config.yaml b/etc/zfsbootmenu/config.yaml +index e8b196c..38b2812 100644 +--- a/etc/zfsbootmenu/config.yaml ++++ b/etc/zfsbootmenu/config.yaml +@@ -14,6 +14,7 @@ Components: + Enabled: false + EFI: + ImageDir: /boot/efi/EFI/zbm ++ Stub: /usr/lib/systemd/boot/efi/linuxx64.elf.stub + Versions: false + Enabled: false + Kernel: + diff --git a/sys-boot/zfsbootmenu/metadata.xml b/sys-boot/zfsbootmenu/metadata.xml new file mode 100644 index 0000000..e2bc151 --- /dev/null +++ b/sys-boot/zfsbootmenu/metadata.xml @@ -0,0 +1,15 @@ + + + + + artemis@artemis.sh + Artemis Everfree + + + c@cgps.ch + Chaquen Beliakov Amaya + + + zbm-dev/zfsbootmenu + + diff --git a/sys-boot/zfsbootmenu/zfsbootmenu-1.12.0.ebuild b/sys-boot/zfsbootmenu/zfsbootmenu-1.12.0.ebuild new file mode 100644 index 0000000..ab76025 --- /dev/null +++ b/sys-boot/zfsbootmenu/zfsbootmenu-1.12.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="ZFS bootloader for root-on-ZFS systems" +HOMEPAGE="https://zfsbootmenu.org" +SRC_URI="https://github.com/zbm-dev/zfsbootmenu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +PATCHES=( + "${FILESDIR}"/${PN}-branding.patch +) + +RDEPEND=" +app-shells/fzf +sys-apps/kexec-tools +sys-block/mbuffer +dev-perl/Sort-Versions +dev-perl/Config-IniFiles +dev-perl/YAML-PP +dev-perl/boolean +sys-fs/zfs +sys-kernel/dracut" + +pkg_postinst () { + elog "Please consult upstream doumentation to install the bootloader + https://github.com/zbm-dev/zfsbootmenu" +} diff --git a/sys-boot/zfsbootmenu/zfsbootmenu-2.2.2.ebuild b/sys-boot/zfsbootmenu/zfsbootmenu-2.2.2.ebuild new file mode 100644 index 0000000..655734a --- /dev/null +++ b/sys-boot/zfsbootmenu/zfsbootmenu-2.2.2.ebuild @@ -0,0 +1,44 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="ZFS bootloader for root-on-ZFS systems" +HOMEPAGE="https://zfsbootmenu.org" +SRC_URI="https://github.com/zbm-dev/zfsbootmenu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +PATCHES=( + "${FILESDIR}"/${PN}-stub-location.patch +) + +RDEPEND=" +app-shells/fzf +dev-lang/perl +dev-perl/boolean +dev-perl/Config-IniFiles +dev-perl/Sort-Versions +dev-perl/YAML-PP +sys-apps/kexec-tools +sys-block/mbuffer +sys-fs/zfs +sys-kernel/dracut +" + +src_compile() { + # There's a makefile in the source repo but it's only for install. There's + # nothing to compile since zfsbootmenu is all scripts. + true +} + +src_install() { + emake DESTDIR="${D}" install +} + +pkg_postinst () { + elog "Please consult upstream doumentation to install the bootloader + https://github.com/zbm-dev/zfsbootmenu" +} diff --git a/sys-boot/zfsbootmenu/zfsbootmenu-2.3.0.ebuild b/sys-boot/zfsbootmenu/zfsbootmenu-2.3.0.ebuild new file mode 100644 index 0000000..655734a --- /dev/null +++ b/sys-boot/zfsbootmenu/zfsbootmenu-2.3.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="ZFS bootloader for root-on-ZFS systems" +HOMEPAGE="https://zfsbootmenu.org" +SRC_URI="https://github.com/zbm-dev/zfsbootmenu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +PATCHES=( + "${FILESDIR}"/${PN}-stub-location.patch +) + +RDEPEND=" +app-shells/fzf +dev-lang/perl +dev-perl/boolean +dev-perl/Config-IniFiles +dev-perl/Sort-Versions +dev-perl/YAML-PP +sys-apps/kexec-tools +sys-block/mbuffer +sys-fs/zfs +sys-kernel/dracut +" + +src_compile() { + # There's a makefile in the source repo but it's only for install. There's + # nothing to compile since zfsbootmenu is all scripts. + true +} + +src_install() { + emake DESTDIR="${D}" install +} + +pkg_postinst () { + elog "Please consult upstream doumentation to install the bootloader + https://github.com/zbm-dev/zfsbootmenu" +} diff --git a/sys-boot/zfsbootmenu/zfsbootmenu-3.0.1.ebuild b/sys-boot/zfsbootmenu/zfsbootmenu-3.0.1.ebuild new file mode 100644 index 0000000..16eac75 --- /dev/null +++ b/sys-boot/zfsbootmenu/zfsbootmenu-3.0.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit prefix + +DESCRIPTION="ZFS bootloader for root-on-ZFS systems" +HOMEPAGE="https://zfsbootmenu.org" +SRC_URI="https://github.com/zbm-dev/zfsbootmenu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +PATCHES=( + "${FILESDIR}"/${PN}-stub-location.patch +) + +RDEPEND=" +app-shells/fzf +dev-lang/perl +dev-perl/boolean +dev-perl/Config-IniFiles +dev-perl/Sort-Versions +dev-perl/YAML-PP +sys-apps/kexec-tools +sys-block/mbuffer +sys-fs/zfs +sys-kernel/dracut +" + +src_prepare() { + default + hprefixify bin/* + if [[ -n ${BROOT} ]]; then + sed -e "s,#!/bin/sh,#!${BROOT}/bin/sh," \ + -i install-tree.sh releng/version.sh || die + fi +} + +src_compile() { + # There's a makefile in the source repo but it's only for install. There's + # nothing to compile since zfsbootmenu is all scripts. + true +} + +src_install() { + emake DESTDIR="${ED}" EXAMPLES="/usr/share/doc/${PF}" install +} + +pkg_postinst () { + elog "Please consult Gentoo wiki to configure the bootloader + https://wiki.gentoo.org/wiki/ZFS/rootfs#ZFSBootMenu" +} diff --git a/sys-boot/zfsbootmenu/zfsbootmenu-3.1.0.ebuild b/sys-boot/zfsbootmenu/zfsbootmenu-3.1.0.ebuild new file mode 100644 index 0000000..e50e7aa --- /dev/null +++ b/sys-boot/zfsbootmenu/zfsbootmenu-3.1.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit prefix + +DESCRIPTION="ZFS bootloader for root-on-ZFS systems" +HOMEPAGE="https://zfsbootmenu.org" +SRC_URI="https://github.com/zbm-dev/zfsbootmenu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +PATCHES=( + "${FILESDIR}"/${PN}-stub-location.patch +) + +RDEPEND=" +app-shells/fzf +dev-lang/perl +dev-perl/boolean +dev-perl/Config-IniFiles +dev-perl/Sort-Versions +dev-perl/YAML-PP +sys-apps/kexec-tools +sys-block/mbuffer +sys-fs/zfs +sys-kernel/dracut +" + +src_prepare() { + default + hprefixify bin/* + if [[ -n ${BROOT} ]]; then + sed -e "s,#!/bin/sh,#!${BROOT}/bin/sh," \ + -i install-tree.sh releng/version.sh || die + fi +} + +src_compile() { + # There's a makefile in the source repo but it's only for install. There's + # nothing to compile since zfsbootmenu is all scripts. + true +} + +src_install() { + emake DESTDIR="${ED}" EXAMPLES="/usr/share/doc/${PF}" install +} + +pkg_postinst () { + elog "Please consult Gentoo wiki to configure the bootloader + https://wiki.gentoo.org/wiki/ZFS/rootfs#ZFSBootMenu" +}