From 7d5a772f63660b84c7c755518fd91cb1a7c7d0c7 Mon Sep 17 00:00:00 2001 From: Malte Starostik Date: Sun, 27 Feb 2011 16:19:45 +0100 Subject: New package: gdisk This includes two separately configurable parition manipulation utilities: gdsik and sgdisk are to GPT disks what fdisk and sfdisk are in MBR land. [Peter: patch source, fix typos, fix partial build, pass correct flags] Signed-off-by: Malte Starostik Signed-off-by: Peter Korsgaard --- package/Config.in | 1 + package/gdisk/Config.in | 34 ++++++++++++++++++++++++++++ package/gdisk/gdisk-0.6.14-uuid.h.patch | 22 +++++++++++++++++++ package/gdisk/gdisk.mk | 39 +++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 package/gdisk/Config.in create mode 100644 package/gdisk/gdisk-0.6.14-uuid.h.patch create mode 100644 package/gdisk/gdisk.mk diff --git a/package/Config.in b/package/Config.in index 76b20769e..46ecbcb32 100644 --- a/package/Config.in +++ b/package/Config.in @@ -165,6 +165,7 @@ source "package/eeprog/Config.in" source "package/fconfig/Config.in" source "package/fis/Config.in" source "package/gadgetfs-test/Config.in" +source "package/gdisk/Config.in" source "package/genext2fs/Config.in" source "package/genromfs/Config.in" source "package/gpsd/Config.in" diff --git a/package/gdisk/Config.in b/package/gdisk/Config.in new file mode 100644 index 000000000..0daec5d5a --- /dev/null +++ b/package/gdisk/Config.in @@ -0,0 +1,34 @@ +config BR2_PACKAGE_GDISK + bool "gdisk" + depends on BR2_LARGEFILE && BR2_INSTALL_LIBSTDCPP + help + GPT fdisk (consisting of the gdisk and sgdisk programs) is a + text-mode partitioning tool that works on Globally Unique Identifier + (GUID) Partition Table (GPT) disks, rather than on the more common + (through 2010) Master Boot Record (MBR) partition tables. + + http://www.rodsbooks.com/gdisk/ + +config BR2_PACKAGE_GDISK_GDISK + bool "interactive gdisk" + depends on BR2_PACKAGE_GDISK + select BR2_PACKAGE_E2FSPROGS + select BR2_PACKAGE_E2FSPROGS_LIBUUID + help + Install the interactive GUID partition table (GPT) manipulator + /usr/sbin/gdisk which is modelled after and quite similar in use + to the traditional MBR based fdisk tool. + +config BR2_PACKAGE_GDISK_SGDISK + bool "command line sgdisk" + depends on BR2_PACKAGE_GDISK + select BR2_PACKAGE_E2FSPROGS + select BR2_PACKAGE_E2FSPROGS_LIBUUID + select BR2_PACKAGE_POPT + help + Install the command-line GUID partition table (GPT) manipulator + /usr/sbin/sgdisk which is named after the traditional MBR based + sfdisk tool albeit with an entirely different option syntax. + +comment "gdisk requires a toolchain with LARGEFILE and C++ support enabled" + depends on !BR2_LARGEFILE || !BR2_INSTALL_LIBSTDCPP diff --git a/package/gdisk/gdisk-0.6.14-uuid.h.patch b/package/gdisk/gdisk-0.6.14-uuid.h.patch new file mode 100644 index 000000000..ba447a1c3 --- /dev/null +++ b/package/gdisk/gdisk-0.6.14-uuid.h.patch @@ -0,0 +1,22 @@ +[PATCH] Don't hardcode uuid.h location + +Breaks cross compilation. + +Signed-off-by: Peter Korsgaard +--- + guid.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: gdisk-0.6.14/guid.h +=================================================================== +--- gdisk-0.6.14.orig/guid.h ++++ gdisk-0.6.14/guid.h +@@ -22,7 +22,7 @@ + #ifdef _WIN32 + typedef unsigned char my_uuid_t[16]; + #else +-#include ++#include + typedef uuid_t my_uuid_t; + #endif + diff --git a/package/gdisk/gdisk.mk b/package/gdisk/gdisk.mk new file mode 100644 index 000000000..ef4627d8e --- /dev/null +++ b/package/gdisk/gdisk.mk @@ -0,0 +1,39 @@ +############################################################# +# +# gdisk +# +############################################################# + +GDISK_VERSION = 0.6.14 +GDISK_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/gptfdisk +GDISK_SOURCE = gdisk-$(GDISK_VERSION).tgz + +GDISK_TARGETS_$(BR2_PACKAGE_GDISK_GDISK) += gdisk +GDISK_TARGETS_$(BR2_PACKAGE_GDISK_SGDISK) += sgdisk + +ifneq ($(GDISK_TARGETS_y),) + +GDISK_DEPENDENCIES += e2fsprogs +ifeq ($(BR2_PACKAGE_GDISK_SGDISK),y) + GDISK_DEPENDENCIES += popt +endif + + +define GDISK_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \ + -C $(@D) $(GDISK_TARGETS_y) +endef + +define GDISK_INSTALL_TARGET_CMDS + for i in $(GDISK_TARGETS_y); do \ + $(INSTALL) -D $(@D)/$$i $(TARGET_DIR)/usr/sbin/; \ + done +endef + +define GDISK_UNINSTALL_TARGET_CMDS + rm -f $(addprefix $(TARGET_DIR)/usr/sbin/,$(GDISK_TARGETS_y)) +endef + +endif + +$(eval $(call GENTARGETS,package,gdisk)) -- cgit v1.2.3