diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2025-02-09 03:40:06 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2025-02-09 03:40:06 +0000 |
commit | 891000e056fa707781d605bf47af2f31262cdbd3 (patch) | |
tree | ed8c9b2af42a0c4ac70d66a9d66dd8ff8356a95e | |
parent | a09b35aea49994e85aebcffce515e4d2efc874d2 (diff) |
sysutils/grub2-efi: the port had been improved (+)
- Revert previous naive -fpermissive "fix" and #include
<grub/env.h> to obtain the grub_env_set() prototype
- Replace RUN_DEPENDS manipulation with USE_GCC=yes:build
and hand-rolled `do-install' target with INSTALL_WRKSRC
- While here, adjust LICENSE and wrap overly long lines
Fixes: 9bc25ee236c4
PR: 284483
-rw-r--r-- | sysutils/grub2-efi/Makefile | 21 | ||||
-rw-r--r-- | sysutils/grub2-efi/files/patch-grub-core_disk_geli.c | 16 |
2 files changed, 20 insertions, 17 deletions
diff --git a/sysutils/grub2-efi/Makefile b/sysutils/grub2-efi/Makefile index 6adabb040567..3f15a3329f5c 100644 --- a/sysutils/grub2-efi/Makefile +++ b/sysutils/grub2-efi/Makefile @@ -9,7 +9,7 @@ MAINTAINER= ports@FreeBSD.org COMMENT= Multiboot EFI boot loader WWW= https://www.gnu.org/software/grub/ -LICENSE= GPLv3 +LICENSE= GPLv3+ RUN_DEPENDS= ${LOCALBASE}/bin/mformat:filesystems/mtools \ ${LOCALBASE}/bin/grub-mkrescue:sysutils/grub2-pcbsd @@ -21,20 +21,19 @@ ONLY_FOR_ARCHS= amd64 USES= autoreconf:build bison cpe gettext gmake python tar:xz WRKSRC= ${WRKDIR}/grub-${PORTVERSION} +INSTALL_WRKSRC= ${WRKSRC}/grub-core SSP_UNSAFE= yes -USE_GCC= yes +USE_GCC= yes:build GNU_CONFIGURE= yes MAKE_JOBS_UNSAFE= yes CPE_PRODUCT= grub CPE_VENDOR= gnu -CONFIGURE_ARGS= --with-platform=efi --disable-werror --localedir=${PREFIX}/share/locale +CONFIGURE_ARGS= --with-platform=efi --disable-werror \ + --localedir=${PREFIX}/share/locale CONFIGURE_ENV= CPP="${CC} -E" \ LEX=${LOCALBASE}/bin/flex -CFLAGS+= -fpermissive - -.include <bsd.port.pre.mk> post-patch: @${LN} -s ${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf ${WRKSRC} @@ -45,11 +44,7 @@ pre-configure: cd ${WRKSRC} && ./autogen.sh post-configure: - @${LN} -sfh /usr/include/machine /usr/include/sys /usr/include/x86 ${WRKSRC}/grub-core - -do-install: - @cd ${WRKSRC}/grub-core && ${GMAKE} install DESTDIR=${STAGEDIR} - -RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*} + @${LN} -sfh /usr/include/machine /usr/include/sys /usr/include/x86 \ + ${WRKSRC}/grub-core -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c b/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c index f8d1f9bed333..318610292ea0 100644 --- a/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c +++ b/sysutils/grub2-efi/files/patch-grub-core_disk_geli.c @@ -1,12 +1,20 @@ --- grub-core/disk/geli.c.orig 2015-01-30 16:34:55 UTC +++ grub-core/disk/geli.c -@@ -445,6 +445,9 @@ recover_key (grub_disk_t source, grub_cr +@@ -50,6 +50,7 @@ + #include <grub/misc.h> + #include <grub/mm.h> + #include <grub/dl.h> ++#include <grub/env.h> + #include <grub/err.h> + #include <grub/disk.h> + #include <grub/crypto.h> +@@ -444,6 +445,9 @@ recover_key (grub_disk_t source, grub_cryptodisk_t dev + grub_free (tmp); if (!grub_password_get (passphrase, MAX_PASSPHRASE)) return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied"); - ++ + /* Set the GELI passphrase to GRUB env, for passing to FreeBSD kernel */ + grub_env_set ("gelipassphrase", passphrase); -+ + /* Calculate the PBKDF2 of the user supplied passphrase. */ if (grub_le_to_cpu32 (header.niter) != 0) - { |