diff options
author | Marek Szuba <marecki@gentoo.org> | 2022-09-22 01:21:53 +0100 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2022-09-22 01:32:39 +0100 |
commit | 2dc57d72ada009425ab74d4ff46064a17d477782 (patch) | |
tree | 4b2032d3ebf422c9fc8677d108cfaeea045489cf /sys-apps | |
parent | media-libs/mesa: Drop old versions (diff) | |
download | gentoo-2dc57d72ada009425ab74d4ff46064a17d477782.tar.gz gentoo-2dc57d72ada009425ab74d4ff46064a17d477782.tar.bz2 gentoo-2dc57d72ada009425ab74d4ff46064a17d477782.zip |
sys-apps/gptfdisk: fix dev-libs/popt-1.19 incompatibility
Without this, starting gdisk linked against popt-1.19 fails with
Problem opening (garbage) for reading! Error is 2.
The specified file does not exist!
(assuming gptfdisk has been emerged without tests; otherwise this
does get caught by the test suite)
Closes: https://bugs.gentoo.org/872131
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch | 22 | ||||
-rw-r--r-- | sys-apps/gptfdisk/gptfdisk-1.0.9-r2.ebuild | 61 |
2 files changed, 83 insertions, 0 deletions
diff --git a/sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch b/sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch new file mode 100644 index 000000000000..470defd33cf6 --- /dev/null +++ b/sys-apps/gptfdisk/files/gptfdisk-1.0.9-popt_segv.patch @@ -0,0 +1,22 @@ +--- a/gptcl.cc ++++ b/gptcl.cc +@@ -156,9 +156,10 @@ + + // Assume first non-option argument is the device filename.... + device = (char*) poptGetArg(poptCon); +- poptResetContext(poptCon); + + if (device != NULL) { ++ device = strdup(device); ++ poptResetContext(poptCon); + JustLooking(); // reset as necessary + BeQuiet(); // Tell called functions to be less verbose & interactive + if (LoadPartitions((string) device)) { +@@ -498,6 +499,7 @@ + cerr << "Error encountered; not saving changes.\n"; + retval = 4; + } // if ++ free(device); + } // if (device != NULL) + poptFreeContext(poptCon); + return retval; diff --git a/sys-apps/gptfdisk/gptfdisk-1.0.9-r2.ebuild b/sys-apps/gptfdisk/gptfdisk-1.0.9-r2.ebuild new file mode 100644 index 000000000000..5ccaa186a5da --- /dev/null +++ b/sys-apps/gptfdisk/gptfdisk-1.0.9-r2.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="GPT partition table manipulator for Linux" +HOMEPAGE="https://www.rodsbooks.com/gdisk/" +SRC_URI="mirror://sourceforge/${PN}/${PN}/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="ncurses static" + +# libuuid from util-linux is required. +RDEPEND="!static? ( + dev-libs/popt + ncurses? ( sys-libs/ncurses:=[unicode(+)] ) + kernel_linux? ( sys-apps/util-linux ) + )" +DEPEND=" + ${RDEPEND} + static? ( + dev-libs/popt[static-libs(+)] + ncurses? ( sys-libs/ncurses:=[unicode(+),static-libs(+)] ) + kernel_linux? ( sys-apps/util-linux[static-libs(+)] ) + ) + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.9-libuuid.patch" #844073 + "${FILESDIR}/${PN}-1.0.9-popt_segv.patch" #872131 +) + +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 +} |