diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2014-08-07 15:24:03 +0000 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2014-08-07 15:46:52 +0000 |
commit | 1a37c591cf48e8b4e7c0ad86faa418de376aaa24 (patch) | |
tree | 6fb3587118db3125c945ed29b08d35f61e72dbc0 | |
parent | 645936c8c2a2dbbee7c113e70302180601dee602 (diff) | |
download | void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.tar void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.tar.gz void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.tar.bz2 void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.tar.lz void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.tar.xz void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.tar.zst void-packages-1a37c591cf48e8b4e7c0ad86faa418de376aaa24.zip |
grub: fix build; fix zfs detection
-rw-r--r-- | srcpkgs/grub/patches/zfs.patch | 55 | ||||
-rw-r--r-- | srcpkgs/grub/template | 7 |
2 files changed, 61 insertions, 1 deletions
diff --git a/srcpkgs/grub/patches/zfs.patch b/srcpkgs/grub/patches/zfs.patch new file mode 100644 index 00000000000..b078b9ac7a8 --- /dev/null +++ b/srcpkgs/grub/patches/zfs.patch @@ -0,0 +1,55 @@ +--- grub-core/fs/zfs/zfs.c ++++ grub-core/fs/zfs/zfs.c +@@ -490,15 +490,11 @@ uberblock_verify (uberblock_phys_t * ub, grub_uint64_t offset, + + if (grub_zfs_to_cpu64 (uber->ub_magic, GRUB_ZFS_LITTLE_ENDIAN) + == UBERBLOCK_MAGIC +- && grub_zfs_to_cpu64 (uber->ub_version, GRUB_ZFS_LITTLE_ENDIAN) > 0 +- && grub_zfs_to_cpu64 (uber->ub_version, GRUB_ZFS_LITTLE_ENDIAN) +- <= SPA_VERSION) +- endian = GRUB_ZFS_LITTLE_ENDIAN; ++ && SPA_VERSION_IS_SUPPORTED(grub_zfs_to_cpu64 (uber->ub_version, GRUB_ZFS_LITTLE_ENDIAN))) ++ endian = GRUB_ZFS_LITTLE_ENDIAN; + + if (grub_zfs_to_cpu64 (uber->ub_magic, GRUB_ZFS_BIG_ENDIAN) == UBERBLOCK_MAGIC +- && grub_zfs_to_cpu64 (uber->ub_version, GRUB_ZFS_BIG_ENDIAN) > 0 +- && grub_zfs_to_cpu64 (uber->ub_version, GRUB_ZFS_BIG_ENDIAN) +- <= SPA_VERSION) ++ && SPA_VERSION_IS_SUPPORTED(grub_zfs_to_cpu64 (uber->ub_version, GRUB_ZFS_BIG_ENDIAN))) + endian = GRUB_ZFS_BIG_ENDIAN; + + if (endian == GRUB_ZFS_UNKNOWN_ENDIAN) +@@ -845,13 +841,13 @@ check_pool_label (struct grub_zfs_data *data, + } + grub_dprintf ("zfs", "check 8 passed\n"); + +- if (version > SPA_VERSION) ++ if (!SPA_VERSION_IS_SUPPORTED(version)) + { + grub_free (nvlist); + return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, + "too new version %llu > %llu", + (unsigned long long) version, +- (unsigned long long) SPA_VERSION); ++ (unsigned long long) SPA_VERSION_BEFORE_FEATURES); + } + grub_dprintf ("zfs", "check 9 passed\n"); + +--- include/grub/zfs/zfs.h ++++ include/grub/zfs/zfs.h +@@ -36,8 +36,13 @@ typedef enum grub_zfs_endian + /* + * On-disk version number. + */ +-#define SPA_VERSION 33ULL +- ++#define SPA_VERSION_INITIAL 1ULL ++#define SPA_VERSION_BEFORE_FEATURES 33ULL ++#define SPA_VERSION 5000ULL ++#define SPA_VERSION_FEATURES 5000ULL ++#define SPA_VERSION_IS_SUPPORTED(v) \ ++ (((v) >= SPA_VERSION_INITIAL && (v) <= SPA_VERSION_BEFORE_FEATURES) || \ ++ ((v) >= SPA_VERSION_FEATURES && (v) <= SPA_VERSION)) + /* + * The following are configuration names used in the nvlist describing a pool's + * configuration. diff --git a/srcpkgs/grub/template b/srcpkgs/grub/template index 0649c805f63..e2a6d23fbaf 100644 --- a/srcpkgs/grub/template +++ b/srcpkgs/grub/template @@ -1,7 +1,7 @@ # Template file for 'grub' pkgname=grub version=2.00 -revision=12 +revision=13 hostmakedepends="flex" makedepends="libusb-compat-devel ncurses-devel freetype-devel liblzma-devel device-mapper-devel font-unifont-bdf fuse-devel" @@ -14,8 +14,13 @@ homepage="http://www.gnu.org/software/grub/" distfiles="$GNU_SITE/grub/grub-$version.tar.xz" checksum=784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458 +post_extract() { + sed -i -e 's,freetype/ftsynth.h,freetype2/ftsynth.h,' util/grub-mkfont.c +} + do_configure() { unset CC AS LD RANLIB CPP + CFLAGS="$CFLAGS -fno-stack-protector" configure_args+=" --enable-device-mapper --enable-cache-stats --enable-nls --enable-grub-mkfont --enable-grub-mount --disable-werror " |