From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 14 Feb 2025 10:02:35 +0100 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tiram-002CZi-0Z for lore@lore.pengutronix.de; Fri, 14 Feb 2025 10:02:35 +0100 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1tiral-000301-7K; Fri, 14 Feb 2025 10:02:35 +0100 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tiraO-0002Zq-7n; Fri, 14 Feb 2025 10:02:12 +0100 Received: from dude05.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::54]) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tiraO-000tAF-0A; Fri, 14 Feb 2025 10:02:12 +0100 Received: from mol by dude05.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1tiraO-00Bjpo-01; Fri, 14 Feb 2025 10:02:12 +0100 From: Michael Olbrich To: ptxdist@pengutronix.de Date: Fri, 14 Feb 2025 10:02:11 +0100 Message-Id: <20250214090211.2797789-1-m.olbrich@pengutronix.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250131-gptfdisk-v2-1-c6de969b69bb@pengutronix.de> References: <20250131-gptfdisk-v2-1-c6de969b69bb@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: Re: [ptxdist] [APPLIED] gptfdisk: add new package X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Jonas Rebmann Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Thanks, applied as aaafe2aa5c115e810f0f0bd055547cb74e67bd00. Michael [sent from post-receive hook] On Fri, 14 Feb 2025 10:02:11 +0100, Jonas Rebmann wrote: > GPT fdisk is a set of tools to work with GUID partition tables: gdisk, > cgdisk, sgdisk and fixparts > > Of particular interest to embedded devices is sgdisk, the noninteractive > tool, which, amongst other functionality, allows relocating the backup > (alternative) GPT header to the end of the disk. This may be needed > after flashing a GPT disk image created for a smaller disk size e.g. to > account for fluctuation in disk size amongst hardware revisions. > > The curses based cgdisk makes use of the wide char ncurses variant. As > ptxdist currently, unlike some linux distributions, does not set up > ncursesw/ncurses.h as a symlink to ncurses.h, gptfdisk is patched to > include ncurses from the standard path. > > Signed-off-by: Jonas Rebmann > Message-Id: <20250131-gptfdisk-v2-1-c6de969b69bb@pengutronix.de> > Signed-off-by: Michael Olbrich > > diff --git a/patches/gptfdisk-1.0.10/0001-gptcurses-never-include-ncurses-from-ncursesw.patch b/patches/gptfdisk-1.0.10/0001-gptcurses-never-include-ncurses-from-ncursesw.patch > new file mode 100644 > index 000000000000..f320e8eb1802 > --- /dev/null > +++ b/patches/gptfdisk-1.0.10/0001-gptcurses-never-include-ncurses-from-ncursesw.patch > @@ -0,0 +1,24 @@ > +From: Jonas Rebmann > +Date: Fri, 24 Jan 2025 15:21:29 +0100 > +Subject: [PATCH] gptcurses: never include ncurses from ncursesw > + > +--- > + gptcurses.cc | 4 ---- > + 1 file changed, 4 deletions(-) > + > +diff --git a/gptcurses.cc b/gptcurses.cc > +index b47670094d73..476fc43d6cdb 100644 > +--- a/gptcurses.cc > ++++ b/gptcurses.cc > +@@ -23,11 +23,7 @@ > + #include > + #include > + #include > +-#if defined (__APPLE__) || (__FreeBSD__) > + #include > +-#else > +-#include > +-#endif > + #include "gptcurses.h" > + #include "support.h" > + > diff --git a/patches/gptfdisk-1.0.10/series b/patches/gptfdisk-1.0.10/series > new file mode 100644 > index 000000000000..d8006ace5377 > --- /dev/null > +++ b/patches/gptfdisk-1.0.10/series > @@ -0,0 +1,4 @@ > +# generated by git-ptx-patches > +#tag:base --start-number 1 > +0001-gptcurses-never-include-ncurses-from-ncursesw.patch > +# f271468e860c32391bf01fdd0d73b3ac - git-ptx-patches magic > diff --git a/rules/gptfdisk.in b/rules/gptfdisk.in > new file mode 100644 > index 000000000000..e02cf359c10d > --- /dev/null > +++ b/rules/gptfdisk.in > @@ -0,0 +1,49 @@ > +## SECTION=disk_and_file > + > +menuconfig GPTFDISK > + tristate > + prompt "gptfdisk " > + select LIBUUID > + select LIBPOPT if GPTFDISK_SGDISK > + select NCURSES if GPTFDISK_CGDISK > + select NCURSES_WIDE_CHAR if GPTFDISK_CGDISK > + help > + GPT fdisk is a set of text-mode partitioning tools. The gdisk, > + cgdisk, and sgdisk programs work on Globally Unique Identifier (GUID) > + Partition Table (GPT) disks, rather than on the older (and once more > + common) Master Boot Record (MBR) partition tables. > + > +if GPTFDISK > + > +comment "At least one GPTFDISK_* option must be enabled!" > + depends on \ > + !GPTFDISK_GDISK && \ > + !GPTFDISK_CGDISK && \ > + !GPTFDISK_SGDISK && \ > + !GPTFDISK_FIXPARTS > + > +config GPTFDISK_GDISK > + bool > + prompt "gdisk" > + help > + Interactive GUID partition table (GPT) manipulator > + > +config GPTFDISK_CGDISK > + bool > + prompt "cgdisk" > + help > + Curses-based GUID partition table (GPT) manipulator > + > +config GPTFDISK_SGDISK > + bool > + prompt "sgdisk" > + help > + Command-line GUID partition table (GPT) manipulator for Linux and Unix > + > +config GPTFDISK_FIXPARTS > + bool > + prompt "fixparts" > + help > + MBR partition table repair utility > + > +endif > diff --git a/rules/gptfdisk.make b/rules/gptfdisk.make > new file mode 100644 > index 000000000000..6bafcccaa02d > --- /dev/null > +++ b/rules/gptfdisk.make > @@ -0,0 +1,84 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2025 by Jonas Rebmann > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_GPTFDISK) += gptfdisk > + > +# > +# Paths and names > +# > +GPTFDISK_VERSION := 1.0.10 > +GPTFDISK_MD5 := 1970269eb7a97560e238611524b7797a > +GPTFDISK := gptfdisk-$(GPTFDISK_VERSION) > +GPTFDISK_SUFFIX := tar.gz > +GPTFDISK_URL := https://downloads.sourceforge.net/project/gptfdisk/gptfdisk/$(GPTFDISK_VERSION)/$(GPTFDISK).$(GPTFDISK_SUFFIX) > +GPTFDISK_SOURCE := $(SRCDIR)/$(GPTFDISK).$(GPTFDISK_SUFFIX) > +GPTFDISK_DIR := $(BUILDDIR)/$(GPTFDISK) > +GPTFDISK_LICENSE := GPL-2.0-only > +GPTFDISK_LICENSE_FILES := file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +GPTFDISK_TOOLS-$(PTXCONF_GPTFDISK_GDISK) += gdisk > +GPTFDISK_TOOLS-$(PTXCONF_GPTFDISK_CGDISK) += cgdisk > +GPTFDISK_TOOLS-$(PTXCONF_GPTFDISK_SGDISK) += sgdisk > +GPTFDISK_TOOLS-$(PTXCONF_GPTFDISK_FIXPARTS) += fixparts > + > +ifdef PTXCONF_GPTFDISK > +ifeq ($(strip $(GPTFDISK_TOOLS-y)),) > +$(error At least one PTXCONF_GPTFDISK_* option must be enabled) > +endif > +endif > + > +GPTFDISK_CONF_TOOL := NO > + > +GPTFDISK_MAKE_ENV := \ > + $(CROSS_ENV) \ > + PREFIX=/usr > + > +GPTFDISK_MAKE_OPT := \ > + TARGET=linux \ > + $(GPTFDISK_TOOLS-y) > + > +# ---------------------------------------------------------------------------- > +# Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/gptfdisk.install: > + @$(call targetinfo) > + @$(call world/execute, GPTFDISK, \ > + install -m755 -v \ > + $(addprefix $(GPTFDISK_DIR)/,$(GPTFDISK_TOOLS-y)) \ > + $(GPTFDISK_PKGDIR)/usr/bin/) > + @$(call touch) > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/gptfdisk.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, gptfdisk) > + @$(call install_fixup, gptfdisk,PRIORITY,optional) > + @$(call install_fixup, gptfdisk,SECTION,base) > + @$(call install_fixup, gptfdisk,AUTHOR,"Jonas Rebmann ") > + @$(call install_fixup, gptfdisk,DESCRIPTION,"GPT disk partitioning tools") > + > + @$(foreach tool,$(GPTFDISK_TOOLS-y), \ > + $(call install_copy, gptfdisk, 0, 0, 0755, -, /usr/bin/$(tool))$(ptx/nl)) > + > + @$(call install_finish, gptfdisk) > + > + @$(call touch) > + > +# vim: syntax=make