From 6763d0d347d405e984696195308baa0aae9de225 Mon Sep 17 00:00:00 2001 From: m1stadev Date: Thu, 14 Dec 2023 13:38:48 -0600 Subject: [PATCH 1/2] (unfinished) gdisk makefile --- build_patch/gdisk/gpt-sig.patch | 33 ++++++++++++++++++++++++++ makefiles/gdisk.mk | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 build_patch/gdisk/gpt-sig.patch create mode 100644 makefiles/gdisk.mk diff --git a/build_patch/gdisk/gpt-sig.patch b/build_patch/gdisk/gpt-sig.patch new file mode 100644 index 0000000000..13cf9737d6 --- /dev/null +++ b/build_patch/gdisk/gpt-sig.patch @@ -0,0 +1,33 @@ +diff --git a/gpt.cc b/gpt.cc +index 24d6918..4130352 100644 +--- a/gpt.cc ++++ b/gpt.cc +@@ -506,24 +506,24 @@ int GPTData::CheckHeaderValidity(void) { + // a message is displayed in the ReversePartitionBytes() function + if ((mainHeader.signature != GPT_SIGNATURE) || (!CheckHeaderCRC(&mainHeader, 1))) { + valid -= 1; +- } else if ((mainHeader.revision != 0x00010000) && valid) { ++ } else if ((mainHeader.revision != 0x00000001) && valid) { + valid -= 1; + cout << "Unsupported GPT version in main header; read 0x"; + cout.width(8); + cout << hex << mainHeader.revision << ", should be\n0x"; + cout.width(8); +- cout << UINT32_C(0x00010000) << dec << "\n"; ++ cout << UINT32_C(0x00000001) << dec << "\n"; + } // if/else/if + + if ((secondHeader.signature != GPT_SIGNATURE) || (!CheckHeaderCRC(&secondHeader))) { + valid -= 2; +- } else if ((secondHeader.revision != 0x00010000) && valid) { ++ } else if ((secondHeader.revision != 0x00000001) && valid) { + valid -= 2; + cout << "Unsupported GPT version in backup header; read 0x"; + cout.width(8); + cout << hex << secondHeader.revision << ", should be\n0x"; + cout.width(8); +- cout << UINT32_C(0x00010000) << dec << "\n"; ++ cout << UINT32_C(0x00000001) << dec << "\n"; + } // if/else/if + + // Check for an Apple disk signature diff --git a/makefiles/gdisk.mk b/makefiles/gdisk.mk new file mode 100644 index 0000000000..8b3eaccf13 --- /dev/null +++ b/makefiles/gdisk.mk @@ -0,0 +1,42 @@ +ifneq ($(PROCURSUS),1) +$(error Use the main Makefile) +endif + +SUBPROJECTS += gdisk +GDISK_VERSION := 1.0.9 +DEB_GDISK_V ?= $(GDISK_VERSION) + +gdisk-setup: setup + $(call DOWNLOAD_FILES,$(BUILD_SOURCE),https://sourceforge.net/projects/gptfdisk/files/gptfdisk/$(GDISK_VERSION)/gptfdisk-$(GDISK_VERSION).tar.gz) + $(call EXTRACT_TAR,gptfdisk-$(GDISK_VERSION).tar.gz,gptfdisk-$(GDISK_VERSION),gdisk) + $(call DO_PATCH,gdisk,gdisk,-p1) + +ifneq ($(wildcard $(BUILD_WORK)/gdisk/.build_complete),) +gdisk: + @echo "Using previously built gdisk." +else +gdisk: gdisk-setup + # TODO: fix the makefile, it sucks ass + +$(MAKE) -C $(BUILD_WORK)/gdisk + +$(MAKE) -C $(BUILD_WORK)/gdisk install \ + DESTDIR=$(BUILD_STAGE)/gdisk + $(call AFTER_BUILD,copy) +endif + +gdisk-package: gdisk-stage + # gdisk.mk Package Structure + rm -rf $(BUILD_DIST)/gdisk + mkdir -p $(BUILD_DIST)/gdisk/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin + + # gdisk.mk Sign + # TODO: This probably needs more entitlements + $(call SIGN,gdisk,general.xml) + + # gdisk.mk Make .debs + # TODO: control file + $(call PACK,gdisk,DEB_GDISK_V) + + # gdisk.mk Build cleanup + rm -rf $(BUILD_DIST)/gdisk + +.PHONY: gdisk gdisk-package From 3e5a34f0dcd87390497f44466aa3bc586a602fb9 Mon Sep 17 00:00:00 2001 From: m1stadev Date: Thu, 14 Dec 2023 13:44:22 -0600 Subject: [PATCH 2/2] gdisk makefile doesn't actually install + copy bin to build_dist --- makefiles/gdisk.mk | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/makefiles/gdisk.mk b/makefiles/gdisk.mk index 8b3eaccf13..26e4abf22c 100644 --- a/makefiles/gdisk.mk +++ b/makefiles/gdisk.mk @@ -18,8 +18,8 @@ else gdisk: gdisk-setup # TODO: fix the makefile, it sucks ass +$(MAKE) -C $(BUILD_WORK)/gdisk - +$(MAKE) -C $(BUILD_WORK)/gdisk install \ - DESTDIR=$(BUILD_STAGE)/gdisk + mkdir -p $(BUILD_STAGE)/gdisk/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin + mv $(BUILD_WORK)/gdisk/gdisk $(BUILD_STAGE)/gdisk/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin $(call AFTER_BUILD,copy) endif @@ -28,6 +28,9 @@ gdisk-package: gdisk-stage rm -rf $(BUILD_DIST)/gdisk mkdir -p $(BUILD_DIST)/gdisk/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin + # gdisk.mk Prep gdisk + cp -a $(BUILD_STAGE)/gdisk/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin/gdisk $(BUILD_DIST)/gdisk/$(MEMO_PREFIX)$(MEMO_SUB_PREFIX)/bin + # gdisk.mk Sign # TODO: This probably needs more entitlements $(call SIGN,gdisk,general.xml)