summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2021-02-14 19:06:17 +0100
committerLars Wendler <polynomial-c@gentoo.org>2021-02-14 19:06:38 +0100
commite6c25c10b42a2e0d7c926bded8c7babe93fa320c (patch)
treeaf7d1027decdf600fedba5170fea76f8d7739000 /sys-apps
parentmedia-libs/gmmlib: fix double KEYWORDS (diff)
downloadgentoo-e6c25c10b42a2e0d7c926bded8c7babe93fa320c.tar.gz
gentoo-e6c25c10b42a2e0d7c926bded8c7babe93fa320c.tar.bz2
gentoo-e6c25c10b42a2e0d7c926bded8c7babe93fa320c.zip
sys-apps/gptfdisk: Revbump to fix spurious MBR warnings
Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch71
-rw-r--r--sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild60
2 files changed, 131 insertions, 0 deletions
diff --git a/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch b/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch
new file mode 100644
index 000000000000..e60aa9feeffb
--- /dev/null
+++ b/sys-apps/gptfdisk/files/gptfdisk-1.0.6.1-spurious_mbr_warnings.patch
@@ -0,0 +1,71 @@
+From f063fe08e424c99f133df18bf9dce49c851bcb0a Mon Sep 17 00:00:00 2001
+From: Rod Smith <rodsmith@rodsbooks.com>
+Date: Mon, 1 Feb 2021 10:19:50 -0500
+Subject: [PATCH] Fix spurious warnings of problems on MBR disks
+
+---
+ NEWS | 7 +++++++
+ gpt.cc | 18 +++++++++++++-----
+ support.h | 2 +-
+ 3 files changed, 21 insertions(+), 6 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index f74bad0..a7131aa 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,10 @@
++1.0.7 (?/??/2021):
++------------------
++
++- Fixed bug that caused spurious warnings about the partition table
++ header claiming an invalid size of partition entries when reading
++ some MBR disks.
++
+ 1.0.6 (1/13/2021):
+ ------------------
+
+diff --git a/gpt.cc b/gpt.cc
+index 1b4e10f..842dfb1 100644
+--- a/gpt.cc
++++ b/gpt.cc
+@@ -1042,11 +1042,19 @@ int GPTData::LoadHeader(struct GPTHeader *header, DiskIO & disk, uint64_t sector
+ *crcOk = CheckHeaderCRC(&tempHeader);
+
+ if (tempHeader.sizeOfPartitionEntries != sizeof(GPTPart)) {
+- cerr << "Warning: Partition table header claims that the size of partition table\n";
+- cerr << "entries is " << tempHeader.sizeOfPartitionEntries << " bytes, but this program ";
+- cerr << " supports only " << sizeof(GPTPart) << "-byte entries.\n";
+- cerr << "Adjusting accordingly, but partition table may be garbage.\n";
+- tempHeader.sizeOfPartitionEntries = sizeof(GPTPart);
++ // Print the below warning only if the CRC is OK -- but correct the
++ // problem either way. The warning is printed only on a valid CRC
++ // because otherwise this warning will display inappropriately when
++ // reading MBR disks. If the CRC is invalid, then a warning about
++ // that will be shown later, so the user will still know that
++ // something is wrong.
++ if (*crcOk) {
++ cerr << "Warning: Partition table header claims that the size of partition table\n";
++ cerr << "entries is " << tempHeader.sizeOfPartitionEntries << " bytes, but this program ";
++ cerr << " supports only " << sizeof(GPTPart) << "-byte entries.\n";
++ cerr << "Adjusting accordingly, but partition table may be garbage.\n";
++ }
++ tempHeader.sizeOfPartitionEntries = sizeof(GPTPart);
+ }
+
+ if (allOK && (numParts != tempHeader.numParts) && *crcOk) {
+diff --git a/support.h b/support.h
+index d87fe9a..e3e1e12 100644
+--- a/support.h
++++ b/support.h
+@@ -8,7 +8,7 @@
+ #include <stdlib.h>
+ #include <string>
+
+-#define GPTFDISK_VERSION "1.0.6"
++#define GPTFDISK_VERSION "1.0.6.1"
+
+ #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__)
+ // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64
+--
+2.30.1
+
diff --git a/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild b/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild
new file mode 100644
index 000000000000..ee9f1782ded8
--- /dev/null
+++ b/sys-apps/gptfdisk/gptfdisk-1.0.6-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="GPT partition table manipulator for Linux"
+HOMEPAGE="https://www.rodsbooks.com/gdisk/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="kernel_linux ncurses static"
+
+# libuuid from util-linux is required.
+RDEPEND="!static? (
+ dev-libs/popt
+ ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode] )
+ kernel_linux? ( sys-apps/util-linux )
+ )"
+DEPEND="
+ ${RDEPEND}
+ static? (
+ dev-libs/popt[static-libs(+)]
+ ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode,static-libs(+)] )
+ kernel_linux? ( sys-apps/util-linux[static-libs(+)] )
+ )
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}.1-spurious_mbr_warnings.patch"
+)
+
+src_prepare() {
+ default
+
+ tc-export CXX PKG_CONFIG
+
+ if ! use ncurses ; then
+ sed -i \
+ -e '/^all:/s: cgdisk::' \
+ Makefile || die
+ fi
+
+ sed \
+ -e '/g++/s:=:?=:g' \
+ -e 's:-lncursesw:$(shell $(PKG_CONFIG) --libs ncursesw):g' \
+ -i Makefile || die
+
+ use static && append-ldflags -static
+}
+
+src_install() {
+ dosbin gdisk sgdisk $(usex ncurses cgdisk '') fixparts
+ doman *.8
+ dodoc NEWS README
+}