diff --git a/sysutils/grub2-bhyve/Makefile b/sysutils/grub2-bhyve/Makefile index e0b8866ce671..9b92c08a405d 100644 --- a/sysutils/grub2-bhyve/Makefile +++ b/sysutils/grub2-bhyve/Makefile @@ -1,42 +1,42 @@ PORTNAME= grub2-bhyve DISTVERSIONPREFIX= v DISTVERSION= 0.40 -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= sysutils PATCH_SITES+= https://github.com/grehan-freebsd/grub2-bhyve/commit/ PATCHFILES+= b080876e0711ee9d7a9c86661df173d98f2d0845.diff:-p1 \ a2a1a8f716a00a8f42b36a8b91ac5b3e2328d39c.diff:-p1 \ 91f06e5daab48d0242d397f67d38c3410e173c15.diff:-p1 MAINTAINER= ports@FreeBSD.org COMMENT= Grub-emu loader for bhyve WWW= https://github.com/grehan-freebsd/grub2-bhyve LICENSE= GPLv3 BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex \ help2man:misc/help2man ONLY_FOR_ARCHS= amd64 SSP_UNSAFE= yes USE_GITHUB= yes GH_ACCOUNT= grehan-freebsd USES= bison gmake USE_GCC= yes:build PLIST_FILES= sbin/grub-bhyve PIE_UNSAFE= yes MAKE_JOBS_UNSAFE= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-platform=emu CPP="" LEX=${LOCALBASE}/bin/flex \ --enable-grub-mount=no --enable-grub-mkfont=no \ --enable-grub-emu-sdl=no --disable-nls --disable-werror post-patch: @${REINPLACE_CMD} -e "s/libintl\.h/I_do_not_want_libintl.h/g" ${WRKSRC}/configure @${REINPLACE_CMD} -e "s/-lintl//g" ${WRKSRC}/grub-core/Makefile.in do-install: ${INSTALL_PROGRAM} ${WRKSRC}/grub-core/grub-emu ${STAGEDIR}${LOCALBASE}/sbin/grub-bhyve .include diff --git a/sysutils/grub2-bhyve/files/patch-ext2.c b/sysutils/grub2-bhyve/files/patch-ext2.c new file mode 100644 index 000000000000..571791222b2d --- /dev/null +++ b/sysutils/grub2-bhyve/files/patch-ext2.c @@ -0,0 +1,42 @@ +--- grub-core/fs/ext2.c ++++ grub-core/fs/ext2.c +@@ -100,7 +100,10 @@ GRUB_MOD_LICENSE ("GPLv3+"); + #define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 + #define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040 /* Extents used */ + #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 ++#define EXT4_FEATURE_INCOMPAT_MMP 0x0100 + #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 ++#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000 ++#define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000 /* >2GB or 3 level htree */ + + /* The set of back-incompatible features this driver DOES support. Add (OR) + * flags here as the related features are implemented into the driver. */ +@@ -114,8 +117,26 @@ GRUB_MOD_LICENSE ("GPLv3+"); + * journal because they will ignore the journal, but the next + * ext3 driver to mount the volume will find the journal and + * replay it, potentially corrupting the metadata written by +- * the ext2 drivers. Safe to ignore for this RO driver. */ +-#define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER ) ++ * the ext2 drivers. Safe to ignore for this RO driver. ++ * mmp: Not really back-incompatible - was added as such to ++ * avoid multiple read-write mounts. Safe to ignore for this ++ * RO driver. ++ * checksum seed: Not really back-incompatible - was added to allow tools ++ * such as tune2fs to change the UUID on a mounted metadata ++ * checksummed filesystem. Safe to ignore for now since the ++ * driver doesn't support checksum verification. However, it ++ * has to be removed from this list if the support is added later. ++ * large_dir: Not back-incompatible given that the GRUB ext2 driver does ++ * not implement EXT2_FEATURE_COMPAT_DIR_INDEX. If the GRUB ++ * eventually supports the htree feature (aka dir_index) ++ * it should support 3 level htrees and then move ++ * EXT4_FEATURE_INCOMPAT_LARGEDIR to ++ * EXT2_DRIVER_SUPPORTED_INCOMPAT. ++ */ ++#define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \ ++ | EXT4_FEATURE_INCOMPAT_MMP \ ++ | EXT4_FEATURE_INCOMPAT_CSUM_SEED \ ++ | EXT4_FEATURE_INCOMPAT_LARGEDIR) + + + #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U