diff options
Diffstat (limited to 'user/grub/APKBUILD')
-rw-r--r-- | user/grub/APKBUILD | 111 |
1 files changed, 63 insertions, 48 deletions
diff --git a/user/grub/APKBUILD b/user/grub/APKBUILD index d571310e7..ecc2b60bb 100644 --- a/user/grub/APKBUILD +++ b/user/grub/APKBUILD @@ -1,59 +1,59 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=grub -pkgver=2.02 -pkgrel=8 -pkgdesc="Bootloader with support for Linux, Multiboot and more" +pkgver=2.12 +_pkgver=$(printf '%s' "$pkgver" | tr _ \~) +pkgrel=0 +pkgdesc="Boot loader with support for Linux, Multiboot and more" url="https://www.gnu.org/software/grub/" -arch="all !s390x" +arch="all" # strip handled by grub Makefiles, abuild strip breaks xen pv-grub options="!check !strip" # Cannot test boot loader. license="GPL-3.0+" depends="" -makedepends="bison flex freetype-dev linux-headers lvm2-dev python3 xz unifont - automake autoconf libtool" +makedepends="bison flex freetype-dev fuse-dev linux-headers lvm2-dev python3 + unifont xz" # [22:02] <@awilfox> [[sroracle]]: grub breaks without its locale files present # [22:02] <@awilfox> it cannot be split -subpackages="$pkgname-dev $pkgname-doc" +subpackages="$pkgname-dev $pkgname-doc $pkgname-mount" -# currently grub only builds on x86*, aarch64 and ppc* systems flavors="" case "$CARCH" in -x86 | pmmx) flavors="efi bios";; +x86|pmmx) flavors="efi bios";; x86_64) flavors="efi bios xenhost";; -aarch64|arm*) flavors="efi";; +aarch64) flavors="efi";; +arm*) flavors="efi uboot";; ppc*) flavors="ieee1275"; makedepends="$makedepends powerpc-utils" ;; -s390x) flavors="emu" ;; +sparc*) flavors="ieee1275";; +mips*) flavors="arc";; +riscv*) flavors="efi";; esac for f in $flavors; do subpackages="$subpackages $pkgname-$f" done install="$pkgname.post-upgrade" -triggers="$pkgname.trigger=/boot" -source="https://ftp.gnu.org/gnu/grub/grub-$pkgver.tar.xz - fix-gcc-no-pie-specs.patch +source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$_pkgver.tar.xz + adelie-branding.patch grub2-accept-empty-module.patch + 0002-revert-gawk.patch + 0010-fix-gcc-no-pie-specs.patch + xfs.patch grub-xen-host_grub.cfg - the-arch-everyone-uses-and-nobody-loves.patch - x86_64_asm.patch default-grub update-grub quirk-01_radeon_agpmode " - -prepare() { - default_prepare - autoreconf -vif -} +builddir="$srcdir/$pkgname-$_pkgver" _build_flavor() { - local flavor="$1" + flavor="$1" shift - local _configure="$@" + _configure="$@" + CFLAGS="${CFLAGS} -fno-reorder-functions" # Workaround for image#403 case $CTARGET_ARCH in - ppc64) export CFLAGS="-O2 -ggdb -mcpu=970 -mno-altivec";; # Workaround for http://savannah.gnu.org/bugs/?52629 + ppc64) export CFLAGS="${CFLAGS} -mno-altivec";; # Workaround for http://savannah.gnu.org/bugs/?52629 esac msg "Building grub for platform $flavor" @@ -74,7 +74,9 @@ _build_flavor() { } build() { - local f + # missing from source tarball, will cause build error + printf "depends bli part_gpt\n" > "$builddir"/grub-core/extra_deps.lst + f="" for f in $flavors; do case "$f" in bios) _build_flavor $f --with-platform=pc;; @@ -109,7 +111,7 @@ _install_xen() { } _install_flavor() { - local flavor="$1" + flavor="$1" cd "$srcdir"/build-$flavor case $flavor in xenhost) _install_xen;; @@ -134,48 +136,61 @@ package() { install -Dm755 "$i" \ "$pkgdir"/etc/grub-quirks.d/"${i##"$srcdir"/quirk-}" done + + mkdir -p "$pkgdir"/etc/easy-boot.d + ln -s ../../usr/sbin/update-grub \ + "$pkgdir"/etc/easy-boot.d/50-grub } bios() { pkgdesc="$pkgdesc (BIOS version)" depends="$pkgname" - mkdir -p $subpkgdir/usr/lib/grub - mv $pkgdir/usr/lib/grub/*-pc $subpkgdir/usr/lib/grub/ + mkdir -p "$subpkgdir"/usr/lib/grub + mv "$pkgdir"/usr/lib/grub/*-pc "$subpkgdir"/usr/lib/grub/ } efi() { pkgdesc="$pkgdesc (EFI version)" depends="$pkgname efibootmgr efivar" - mkdir -p $subpkgdir/usr/lib/grub - mv $pkgdir/usr/lib/grub/*-efi $subpkgdir/usr/lib/grub/ + mkdir -p "$subpkgdir"/usr/lib/grub + mv "$pkgdir"/usr/lib/grub/*-efi "$subpkgdir"/usr/lib/grub/ } xenhost() { - pkgdesc="$pkgdesc (XEN host version)" - mkdir -p $subpkgdir/usr/lib/grub-xen - mv $pkgdir/*-xen.bin $subpkgdir/usr/lib/grub-xen/ + pkgdesc="$pkgdesc (Xen host version)" + mkdir -p "$subpkgdir"/usr/lib/grub-xen + mv "$pkgdir"/*-xen.bin "$subpkgdir"/usr/lib/grub-xen/ } ieee1275() { - pkgdesc="$pkgdesc (IEEE1275 version)" - depends="$pkgname powerpc-utils" - mkdir -p $subpkgdir/usr/lib/grub - mv $pkgdir/usr/lib/grub/*-ieee1275 $subpkgdir/usr/lib/grub/ + pkgdesc="$pkgdesc (IEEE-1275 OpenFirmware version)" + case $CTARGET_ARCH in + ppc*) depends="$pkgname powerpc-utils" + esac + mkdir -p "$subpkgdir"/usr/lib/grub + mv "$pkgdir"/usr/lib/grub/*-ieee1275 "$subpkgdir"/usr/lib/grub/ +} + +uboot() { + pkgdesc="$pkgdesc (U-Boot version)" + mkdir -p "$subpkgdir"/usr/lib/grub + mv "$pkgdir"/usr/lib/grub/*-uboot "$subpkgdir"/usr/lib/grub/ } -emu() { - pkgdesc="$pkgdesc (EMU version)" +mount() { + pkgdesc="Utility to mount filesystems using GRUB modules" depends="$pkgname" - mkdir -p $subpkgdir/usr/lib/grub - mv $pkgdir/usr/lib/grub/*-emu $subpkgdir/usr/lib/grub/ + mkdir -p "$subpkgdir"/usr/bin/ + mv "$pkgdir"/usr/bin/grub-mount "$subpkgdir"/usr/bin/ } -sha512sums="cc6eb0a42b5c8df2f671cc128ff725afb3ff1f8832a196022e433cf0d3b75decfca2316d0aa5fabea75747d55e88f3d021dd93508563f8ca80fd7b9e7fe1f088 grub-2.02.tar.xz -f2a7d9ab6c445f4e402e790db56378cecd6631b5c367451aa6ce5c01cd95b95c83c3dd24d6d4b857f8f42601eba82c855607513eb6ce5b2af6bd6c71f046e288 fix-gcc-no-pie-specs.patch -2fefc6d5c1388dba6d368451f47c216171136f03891e87777ee392884d7ef53c70b2a2565af676237216565f203f62b79aec0d1a82979b21aa29c4ebf87ac566 grub2-accept-empty-module.patch +sha512sums="761c060a4c3da9c0e810b0ea967e3ebc66baa4ddd682a503ae3d30a83707626bccaf49359304a16b3a26fc4435fe6bea1ee90be910c84de3c2b5485a31a15be3 grub-2.12.tar.xz +4a6c909a1150b057fb0563f7a0646db33e16f84d6a8c443ef7db4003efd56c211a52f87699c5c95a6ccde65f6db46a8711a5b784f38479db804938dfe3115439 adelie-branding.patch +f1daae3015c84af94aeffce20de1068c3de272aff59f809e956a085cf289c371c61b64ad1d440765c98a4d674761ea67d2986cc4b1d0dfffcf71caaf94c6f600 grub2-accept-empty-module.patch +18502c79128d88154885a6e595bb42d4167f4e08e89e5bd9471234d4e4ba0d6a6ab7dc50a324e9c71ee8a92f3dee8f1a800942adf62ac8bc4041c6a154b19beb 0002-revert-gawk.patch +4b369af412a303464fb538f0f1d7c51dfba4481448409204290e7959397243cb544ecaa8bd9db096788e1eccae0c4c6fac1af9b7819c34f20d01a0eb6c5105ff 0010-fix-gcc-no-pie-specs.patch +60f884595a713e52052eb1741bd2a9f42110736b689c045d9fb23d08970fb8475f25bfdf056552040a7b5559817289774f987c825ef006e556d79f718935376f xfs.patch 4e7394e0fff6772c89683039ccf81099ebbfe4f498e6df408977a1488fd59389b6e19afdbf0860ec271e2b2aea0df7216243dcc8235d1ca3af0e7f4d0a9d60a4 grub-xen-host_grub.cfg -088455205f2f397d60e43eab19ed73994880ea1f442661f7975846cceaf2b112d92fd1341119d7dbfad3af2174dfd4d4721f31dead1ac35f4a3cb7c0d92f8a04 the-arch-everyone-uses-and-nobody-loves.patch -8752b5e689ec3b7e1f438c7207adc517d7acb4f7d15fda2907bc9177883a686f23994c66641bfc0c7620365415972b5d8b74f511c13dd234f5f3461dda4bb445 x86_64_asm.patch -1e6ae4a3884829864dbd789d3c3a0d43a5aa5f279c3ebb25f71775686e9236bc1c6295e5064ad32b384635987ee0814df95e9ca33bc57bc8e0aeb47bec34270e default-grub -0907a810e9ba5be92d10dae38403d1e50fb9b324799df36d2241ff59f545dace37a65f2b1c8f07367220da4fd341d8f21dd9a4fab8da6c87ae52d7ffbca3dbd7 update-grub +1cb675fa0af9a1fd8d1a868e3e9de3bfef7eada66c5df0cfef23eca33e93e676eed6e1f67c679690f3e581565b350a9f3ba01aa9b89de66c970ea61ca21bcd65 default-grub +8e5f1cf91da9fd956695438509bb26e45f38170ca90d99a996e859053d72c82b7e4b02cb8979f047fc53498036f47b5400bf54687c390793995a05ded4216d55 update-grub 78b7ec141a364994c7de181e47fedca820add9960c56c7adf4c14ee11d5249a0887fd788ecd5d24b9bdd102b7c40395181e2f7c3fe5ab795dd7c0057ba1115c5 quirk-01_radeon_agpmode" |