summaryrefslogtreecommitdiff
path: root/sys-boot/grub
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-06-30 08:49:38 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-06-30 08:49:38 +0100
commitb2be182d49eea46686b5cf2680d457df61e89dc4 (patch)
treec66442ced2011c5ca81c3114cc51041e314c6d33 /sys-boot/grub
parente23cdda4dbb0c83b9e682ab5e916085a35203da5 (diff)
gentoo resync : 30.06.2018
Diffstat (limited to 'sys-boot/grub')
-rw-r--r--sys-boot/grub/Manifest7
-rw-r--r--sys-boot/grub/files/2.02-xfs-sparse-inodes.patch60
-rw-r--r--sys-boot/grub/grub-2.02-r1.ebuild4
-rw-r--r--sys-boot/grub/grub-2.02-r2.ebuild (renamed from sys-boot/grub/grub-2.02.ebuild)42
-rw-r--r--sys-boot/grub/grub-9999.ebuild4
5 files changed, 96 insertions, 21 deletions
diff --git a/sys-boot/grub/Manifest b/sys-boot/grub/Manifest
index 306795ee0e84..821cbef6ef87 100644
--- a/sys-boot/grub/Manifest
+++ b/sys-boot/grub/Manifest
@@ -1,6 +1,7 @@
AUX 2.02-freetype-capitalise-variables.patch 6454 BLAKE2B 7a05448d42c935b6942f2b9ac98eef2ddc2e7bb7e6584516859cd6586dee57911c83c98402b38cfe9044a3c3a79d41d6a86bb0918d1ca8ccf792d5ef93bad258 SHA512 99c8061453f54af0e95361101f6beb2340baef9b5a66c4c4ba78876b978df4b5686190b642090aae41f2ed2d464e267ba598e94c0926a37df3c36d866911a40c
AUX 2.02-freetype-pkg-config.patch 7359 BLAKE2B 86ee01b2cb833354377aec3db0dcc05c9950169c9e83b9878018debef925a5238ba19b10ee0ce5124d7884deae8023ee03597e6eb56c244030f2492b5b7f0b1b SHA512 20fd57f8410073db7d6ae5c626266a310be65ca2f5cc4a2a9f2e66cb85a421c883b497e5fc7e3cd5a6ec066531f3ca4b8d837bf64007ade99418958aefd2dcf6
AUX 2.02-multiple-early-initrd.patch 6771 BLAKE2B 088d1178c51ea7526bd7620ae0f8160c10d3673afd0ae3407e35673cb438875e24e13f8455245c36792814751995df1235d975eb036e97813e677250af403a9d SHA512 41450b475fb83ade629d165ae2c30682e5beb2edbfd148c6388bb720241f0682b20aa0456bc624d5e9f5605616ea27fab32a829ede6c8c673e1c88e6b774a5a8
+AUX 2.02-xfs-sparse-inodes.patch 2548 BLAKE2B c3333b82b678bc0a2bfc6594719c89982f97b14b7a2f012814ce2f75e004cda46b8b7c2d4e668c5a52aee7814114a763c4d853d9c75b4322535096ba3c22e256 SHA512 4723c5dd9fd6e9b6c8677e32e4906c7995d695c7e85e834b1b29eb1d9a024678f8fa75846c7b929d1db9b5911b604c69c1b0379cb3b9adc98d5bb6d6719eb2c4
AUX gfxpayload.patch 1118 BLAKE2B 4104fc696535b1c3feba5876bccc64f9b2e52319ee992c59e7f17b8310cc9addf7545630fff78c73ca3f4b0dcd44e1bf69f4df5264d6f58777f7e5aeae93cbcb SHA512 00324825c369902a0383b792cd21e161853eadccbdc5abe2420f2d443bf6a74f72be6c15243107b936acd38c3547387c3771dc2cb566003c4c754c9260b4aa00
AUX grub-0.97-Add-esp-to-list-of-clobbered-registers.patch 1612 BLAKE2B a8169fc73299a2a0bf59d66f0226da436bef249d543d3509d1c45bd355b0beceab66369ea1c5c4b8e78cb8a8084fbabd6fc09da8efdc0ffac427dc67142a5773 SHA512 85241fc4f939cbf6dc9e18b0b68034835bcb4ac7162fa1dc497e169422b66f0320d59d8270bc13c827a325f45d260028276641cff3f12b4d6096e2d33a12261b
AUX grub-0.97-ncurses-pkgconfig.patch 799 BLAKE2B da34dca4e6009b6386d66e0b05264293e4095007239558712a0fa7a0b18a8f05112840f1f25355298a67cffe441621e4dbf14a4373d1fe6d91144fad4b799173 SHA512 9456c422e05e75e4221101d66bf1c1ba3efa195ef67872a75790362da825bffe1bcd74c5ff6e3f5a9ccda6b364f02c631c0d513c0de5aa19a78be9bea525c13f
@@ -16,7 +17,7 @@ DIST splash.xpm.gz 33856 BLAKE2B e8d0ee91a87ed45f47fa58b07a6476b19ddb3f98ffee41a
DIST unifont-9.0.06.pcf.gz 1360354 BLAKE2B 09b96e1711c729ef159d62e3ea7b289ca2d01dc0ea417e35a18b73dc02a23f62ce7821d9761bceee4002d9eeaabd91cfb69bbacc6fbdfdfa00445d18fe8f1d66 SHA512 dd0a1afa72f5204c62055d83f22750c74af38ffafdb8eda8e1f1cf7292e572a14969b8a9a6a2cb336d5bed4ab633f6b5a962c59117a590e4238788959cb82774
EBUILD grub-0.97-r16.ebuild 9596 BLAKE2B ff6e369d331c18300a8a5b73232d5381ffecac3364ce2c789e3db2f510f1d0ebc929994eaafa41cec4193676c39022f4bda868afd95d5ee15dfa61fadba29bf8 SHA512 26aa6178cc463e79cf3416773517e35606aca9d8721da2f6aee0d5b7db223b32e4ca812188a488734784a5725646daceff24b3ae9d8e14452becad1ce25ebff1
EBUILD grub-0.97-r18.ebuild 10141 BLAKE2B 7af15e1634c7e96930a7ddaa72d9ab7adae72a0b62729d65d52fd86262d7a7c2a27e2a59c412733463bccc83e9b30d62408d5bebb30f90c99135c05fabc140e7 SHA512 d9c481f77fa1d2f750b64de8cfa02f52be9a0d563607ca50117e4792add79b21e3fb34dc448beebbbb7a99153b9dc5cad01d447209fae154a8205864593c89d6
-EBUILD grub-2.02-r1.ebuild 7897 BLAKE2B 5d469ccd66ffcbbaa38bcb2e9d6334ed50c8d01b7e4952d0861475b908971560d28908c3a20f7d5b698b31ad368215f910bc6638edd358253b1338448a20f80f SHA512 12a8d9663ba37568da21f974f684e84e8d278ef33de8fd34e92e8d3b4c4fbec81adf69a96143f4c86ea0ad36aa5a6334235ee4e6d33d5b65dc40b836bcec55ac
-EBUILD grub-2.02.ebuild 7597 BLAKE2B 31631da1a5c9c871ecfff60f9508bc81b557ed25226b70f31b0157611db6ea237e269f44fc0789215c19c32f4633cb9e0ca1293c3af2dc86b6e6b4ffb78538ed SHA512 d3aa7a602989d0eee9c48ddd527253099cfb81887171c69add1f83fea36bac295147fc11cd9cdd2c06410670c435cf1c3f20303660675aa936668b04178cb8ba
-EBUILD grub-9999.ebuild 7755 BLAKE2B b5db9a0dc7b0fddf4320a31bd69450b26acc5e24540ddcc80e9172a0ec70b4141705a20185a2327d5c4edf5a214bbe979c10175d2cb105b45e4c7a94bed57d7e SHA512 19072f01a8e2f7f5f6ed65dd48a6e6120adb2004f49cba33b02e04ee4131cea7f077490f76d484e458f62fd3f719d488ed1d08bad793fc8c4bc4ea5bd31c7792
+EBUILD grub-2.02-r1.ebuild 7887 BLAKE2B 699241391c6c0d6b3a6f29ac8f969e001209fbda1b7f9a0ac7b52a4445356387c4e28341cf13e506cd8fb1e8c1790085f72e64f7e4074ec530dedf3d4b331fef SHA512 b592aee07225d6d4f8631f5196831b902b7d6483cc646146345339bb73c1c68697a25d4581dc2fdb3bf5764deab777cf252e541572c86accaf941d2fc7abc671
+EBUILD grub-2.02-r2.ebuild 7933 BLAKE2B 74ccf88e5255046c454e756cff3f1700e1b2f17ec5f93b98ea4a224b983141dc652f821bed59f45bf54605e1e5adb59b0c5ef64bbcb03ed9b75225b741688300 SHA512 51087b78d4463b8eeffa5ca93ba74114a113398334b4f21d746f347f175cfdb863e19a87d35c23db784062f1440704049235183adad844f451df90f08762d776
+EBUILD grub-9999.ebuild 7745 BLAKE2B 6056b651f5bda56bd64486248d86151635b63a9f2898e55958ce5e1410b6a2df14b39cd7e804cd510c7c2b961daea89a8ad77b85c060925beb8129ab208e39d2 SHA512 3f3fb69a63fb57c476a40c3f2a8c0b86b0739743d52c3da09309de27e6842c0f53c3a6062cb577db32b1d24ab2e41a3baecd89fabc861721af7ac580aa05d7ab
MISC metadata.xml 1488 BLAKE2B 3aa41f3c6c45258892bcf2800bfe09b506d11aa69a3071977e58736e496b72b71df579cfcaf1d14a3b81db695aca0bf7dbcc7a18faf1c62dd05f033bdafb00c8 SHA512 71f3e48b73c3d20f213ae928b16499131417562d98b83f2d82a5fb026c8cc06ecddf9db32565d9e1602d4258f7a2cc1796eb523c4cb98fb6b7753328a29e93ba
diff --git a/sys-boot/grub/files/2.02-xfs-sparse-inodes.patch b/sys-boot/grub/files/2.02-xfs-sparse-inodes.patch
new file mode 100644
index 000000000000..6c6a750b42f0
--- /dev/null
+++ b/sys-boot/grub/files/2.02-xfs-sparse-inodes.patch
@@ -0,0 +1,60 @@
+From cda0a857dd7a27cd5d621747464bfe71e8727fff Mon Sep 17 00:00:00 2001
+From: Daniel Kiper <daniel.kiper@oracle.com>
+Date: Tue, 29 May 2018 16:16:02 +0200
+Subject: xfs: Accept filesystem with sparse inodes
+
+The sparse inode metadata format became a mkfs.xfs default in
+xfsprogs-4.16.0, and such filesystems are now rejected by grub as
+containing an incompatible feature.
+
+In essence, this feature allows xfs to allocate inodes into fragmented
+freespace. (Without this feature, if xfs could not allocate contiguous
+space for 64 new inodes, inode creation would fail.)
+
+In practice, the disk format change is restricted to the inode btree,
+which as far as I can tell is not used by grub. If all you're doing
+today is parsing a directory, reading an inode number, and converting
+that inode number to a disk location, then ignoring this feature
+should be fine, so I've added it to XFS_SB_FEAT_INCOMPAT_SUPPORTED
+
+I did some brief testing of this patch by hacking up the regression
+tests to completely fragment freespace on the test xfs filesystem, and
+then write a large-ish number of inodes to consume any existing
+contiguous 64-inode chunk. This way any files the grub tests add and
+traverse would be in such a fragmented inode allocation. Tests passed,
+but I'm not sure how to cleanly integrate that into the test harness.
+
+Signed-off-by: Eric Sandeen <sandeen@redhat.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+Tested-by: Chris Murphy <lists@colorremedies.com>
+---
+ grub-core/fs/xfs.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
+index c6031bd..3b00c74 100644
+--- a/grub-core/fs/xfs.c
++++ b/grub-core/fs/xfs.c
+@@ -79,9 +79,18 @@ GRUB_MOD_LICENSE ("GPLv3+");
+ #define XFS_SB_FEAT_INCOMPAT_SPINODES (1 << 1) /* sparse inode chunks */
+ #define XFS_SB_FEAT_INCOMPAT_META_UUID (1 << 2) /* metadata UUID */
+
+-/* We do not currently verify metadata UUID so it is safe to read such filesystem */
++/*
++ * Directory entries with ftype are explicitly handled by GRUB code.
++ *
++ * We do not currently read the inode btrees, so it is safe to read filesystems
++ * with the XFS_SB_FEAT_INCOMPAT_SPINODES feature.
++ *
++ * We do not currently verify metadata UUID, so it is safe to read filesystems
++ * with the XFS_SB_FEAT_INCOMPAT_META_UUID feature.
++ */
+ #define XFS_SB_FEAT_INCOMPAT_SUPPORTED \
+ (XFS_SB_FEAT_INCOMPAT_FTYPE | \
++ XFS_SB_FEAT_INCOMPAT_SPINODES | \
+ XFS_SB_FEAT_INCOMPAT_META_UUID)
+
+ struct grub_xfs_sblock
+--
+cgit v1.0-41-gc330
+
diff --git a/sys-boot/grub/grub-2.02-r1.ebuild b/sys-boot/grub/grub-2.02-r1.ebuild
index c8bd4fb84d95..01ea55f70e52 100644
--- a/sys-boot/grub/grub-2.02-r1.ebuild
+++ b/sys-boot/grub/grub-2.02-r1.ebuild
@@ -16,7 +16,7 @@ if [[ -n ${GRUB_AUTORECONF} ]]; then
inherit autotools
fi
-inherit bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs versionator
+inherit bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs
if [[ ${PV} != 9999 ]]; then
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
@@ -76,7 +76,7 @@ COMMON_DEPEND="
)
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
libzfs? ( sys-fs/zfs )
- mount? ( sys-fs/fuse )
+ mount? ( sys-fs/fuse:0 )
truetype? ( media-libs/freetype:2= )
ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
diff --git a/sys-boot/grub/grub-2.02.ebuild b/sys-boot/grub/grub-2.02-r2.ebuild
index 44db1517a9f3..bc92a886e21c 100644
--- a/sys-boot/grub/grub-2.02.ebuild
+++ b/sys-boot/grub/grub-2.02-r2.ebuild
@@ -1,19 +1,22 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-if [[ ${PV} == 9999 ]]; then
- GRUB_AUTOGEN=1
-fi
+GRUB_AUTOGEN=1
+GRUB_AUTORECONF=1
if [[ -n ${GRUB_AUTOGEN} ]]; then
PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
+ inherit python-any-r1
+fi
+
+if [[ -n ${GRUB_AUTORECONF} ]]; then
WANT_LIBTOOL=none
- inherit autotools python-any-r1
+ inherit autotools
fi
-inherit autotools bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs versionator
+inherit bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs
if [[ ${PV} != 9999 ]]; then
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
@@ -25,7 +28,7 @@ if [[ ${PV} != 9999 ]]; then
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
S=${WORKDIR}/${P%_*}
fi
- KEYWORDS="amd64 ~arm64 x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
else
inherit git-r3
EGIT_REPO_URI="git://git.sv.gnu.org/grub.git
@@ -35,6 +38,10 @@ fi
PATCHES=(
"${FILESDIR}"/gfxpayload.patch
"${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch
+ "${FILESDIR}"/2.02-multiple-early-initrd.patch
+ "${FILESDIR}"/2.02-freetype-capitalise-variables.patch
+ "${FILESDIR}"/2.02-freetype-pkg-config.patch
+ "${FILESDIR}"/2.02-xfs-sparse-inodes.patch
)
DEJAVU=dejavu-sans-ttf-2.37
@@ -62,7 +69,7 @@ REQUIRED_USE="
# os-prober: Used on runtime to detect other OSes
# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
-RDEPEND="
+COMMON_DEPEND="
app-arch/xz-utils
>=sys-libs/ncurses-5.2-r5:0=
debug? (
@@ -70,19 +77,22 @@ RDEPEND="
)
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
libzfs? ( sys-fs/zfs )
- mount? ( sys-fs/fuse )
+ mount? ( sys-fs/fuse:0 )
truetype? ( media-libs/freetype:2= )
ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
"
-DEPEND="${RDEPEND}
+DEPEND="${COMMON_DEPEND}
${PYTHON_DEPS}
app-misc/pax-utils
sys-devel/flex
sys-devel/bison
sys-apps/help2man
sys-apps/texinfo
- fonts? ( media-libs/freetype:2 )
+ fonts? (
+ media-libs/freetype:2
+ virtual/pkgconfig
+ )
grub_platforms_xen? ( app-emulation/xen-tools:= )
grub_platforms_xen-32? ( app-emulation/xen-tools:= )
static? (
@@ -91,6 +101,7 @@ DEPEND="${RDEPEND}
app-arch/bzip2[static-libs(+)]
media-libs/freetype[static-libs(+)]
sys-libs/zlib[static-libs(+)]
+ virtual/pkgconfig
)
)
test? (
@@ -106,9 +117,11 @@ DEPEND="${RDEPEND}
themes? (
app-arch/unzip
media-libs/freetype:2
+ virtual/pkgconfig
)
+ truetype? ( virtual/pkgconfig )
"
-RDEPEND+="
+RDEPEND="${COMMON_DEPEND}
kernel_linux? (
grub_platforms_efi-32? ( sys-boot/efibootmgr )
grub_platforms_efi-64? ( sys-boot/efibootmgr )
@@ -117,8 +130,6 @@ RDEPEND+="
nls? ( sys-devel/gettext )
"
-DEPEND+=" !!=media-libs/freetype-2.5.4"
-
RESTRICT="strip !test? ( test )"
QA_EXECSTACK="usr/bin/grub*-emu* usr/lib/grub/*"
@@ -153,6 +164,9 @@ src_prepare() {
if [[ -n ${GRUB_AUTOGEN} ]]; then
python_setup
bash autogen.sh || die
+ fi
+
+ if [[ -n ${GRUB_AUTORECONF} ]]; then
autopoint() { :; }
eautoreconf
fi
diff --git a/sys-boot/grub/grub-9999.ebuild b/sys-boot/grub/grub-9999.ebuild
index 8c33dc3f4bbc..e540b36db349 100644
--- a/sys-boot/grub/grub-9999.ebuild
+++ b/sys-boot/grub/grub-9999.ebuild
@@ -18,7 +18,7 @@ if [[ -n ${GRUB_AUTORECONF} ]]; then
inherit autotools
fi
-inherit bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs versionator
+inherit bash-completion-r1 flag-o-matic multibuild pax-utils toolchain-funcs
if [[ ${PV} != 9999 ]]; then
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
@@ -74,7 +74,7 @@ COMMON_DEPEND="
)
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
libzfs? ( sys-fs/zfs )
- mount? ( sys-fs/fuse )
+ mount? ( sys-fs/fuse:0 )
truetype? ( media-libs/freetype:2= )
ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )