Merge pull request #179 from kinvolk/tormath1/gptfdisk-1.0.7

sys-apps/gptfdisk: sync with ::gentoo upstream
This commit is contained in:
Mathieu Tortuyaux 2021-06-25 15:06:02 +02:00 committed by GitHub
commit 8bcde7c7ed
5 changed files with 170 additions and 26 deletions

View File

@ -1,2 +1,3 @@
DIST gptfdisk-1.0.1.tar.gz 195378 BLAKE2B 50cbfe1143c1e26595757bb40a94952ee9d26caaca54d816c6e02539b652d967bb8de3138d6ffd7aa1d63c010632e4f888d6cff2e6a7b743a8816787319b67e5 SHA512 6aa2ed6213183ea38ce7dd6e7f4f23b88cc56bed5a4d078f563b9e0a3c276eacf869e28a27ccb4e473753f7bced7ecb5de4535626f9ed22b7a59a39906d0419c DIST gptfdisk-1.0.6.tar.gz 207017 BLAKE2B d00e0f00dc8dce3b6088250aa39e05f41c96bee2218eec1dca34a160e70129d1006abc4341031994c53e77068b5de510b923c69858903627ccf786f3cc848a86 SHA512 a3bf95c813f707d9d41513295c3419916301a0e88b4c6ade70ad7d9422a507d519e092e68a3868d53092428d159bdbb248817c4f40d8ac88b0175d5afbd79dbc
DIST gptfdisk-1.0.3.tar.gz 199924 BLAKE2B f664398cb58d081ad19e267a370a4a7363e1060358aac394d87cd5874efe558fbd7bea4a33da871287c144b664c60e283d3338ca88d7d494503afe9a0b652e7a SHA512 80d437bfa2365abfffbd4812ea928fcebd52c5421de321cf190d395549e32c5ebdbb2d060cc4b95f77fe13cdd719f4d2bb3d0ed5d97792b100325f92d7c852d7 DIST gptfdisk-1.0.7.tar.gz 207723 BLAKE2B cebb0375294b4ff8f8eb522a4ae23259714d07d670a7bfbf8664586c948c1c8bee2674649a181a7c5d22f9dfe177feb7a9648ca9936c388b419faf7b52e789d8 SHA512 8a2067523479e34c76392571692b36e6c9eadcd0aca979f1ba09904930ed92a709bfdcdfa3369230a5ab2b5a751682dc7fb4645fb5f7f1c361ee8d28e104214c
DIST gptfdisk-1.0.8.tar.gz 208958 BLAKE2B 03c74c43fead13e90ff6cd42405e15db726f527801a9e3f1d5f6a83d3fa58f0f8e58b35edc1b12b0b2e6c7849b657ce4493ac67204d25309e6f63fe7f57f766b SHA512 0818a238e57cf6de893da7c161e8aaf2d30ad917a47750de09967ce1d83d1ab6666fa043465abaffdc293d058acc3fa87f8bc93a4b03c7c5d9a9ceb8f5b07331

View File

@ -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

View File

@ -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(+)] )
)
"
BDEPEND="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
}

View File

@ -1,7 +1,7 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=5 EAPI=7
inherit flag-o-matic toolchain-funcs inherit flag-o-matic toolchain-funcs
@ -11,24 +11,33 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~arm-linux ~x86-linux" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="kernel_linux ncurses static" IUSE="kernel_linux ncurses static"
LIB_DEPEND=" # libuuid from util-linux is required.
dev-libs/popt[static-libs(+)] RDEPEND="!static? (
ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[static-libs(+)] ) dev-libs/popt
kernel_linux? ( sys-apps/util-linux[static-libs(+)] )" # libuuid ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode] )
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" kernel_linux? ( sys-apps/util-linux )
DEPEND="${RDEPEND} )"
static? ( ${LIB_DEPEND} ) DEPEND="
virtual/pkgconfig" ${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(+)] )
)
"
BDEPEND="virtual/pkgconfig"
src_prepare() { src_prepare() {
default
tc-export CXX PKG_CONFIG tc-export CXX PKG_CONFIG
if ! use ncurses; then if ! use ncurses ; then
sed -i \ sed -i \
-e '/^all:/s:cgdisk::' \ -e '/^all:/s: cgdisk::' \
Makefile || die Makefile || die
fi fi

View File

@ -1,7 +1,7 @@
# Copyright 1999-2017 Gentoo Foundation # Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=6 EAPI=7
inherit flag-o-matic toolchain-funcs inherit flag-o-matic toolchain-funcs
@ -11,19 +11,22 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="kernel_linux ncurses static" IUSE="kernel_linux ncurses static"
# libuuid from util-linux is required. # libuuid from util-linux is required.
LIB_DEPEND=" RDEPEND="!static? (
dev-libs/popt[static-libs(+)] dev-libs/popt
ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[static-libs(+)] ) ncurses? ( >=sys-libs/ncurses-5.7-r7:0=[unicode] )
kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) kernel_linux? ( sys-apps/util-linux )
" )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND=" DEPEND="
${RDEPEND} ${RDEPEND}
static? ( ${LIB_DEPEND} ) 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 virtual/pkgconfig
" "
@ -34,7 +37,7 @@ src_prepare() {
if ! use ncurses ; then if ! use ncurses ; then
sed -i \ sed -i \
-e '/^all:/s:cgdisk::' \ -e '/^all:/s: cgdisk::' \
Makefile || die Makefile || die
fi fi