diff --git a/0001-add-support-of-gpt_sync_mbr.patch b/0001-add-support-of-gpt_sync_mbr.patch index 494c6ca320d6bd5e1309cb071998acfa2b200481..ec313037eee1e8a3b5faf13014f95ebd7c656d73 100644 --- a/0001-add-support-of-gpt_sync_mbr.patch +++ b/0001-add-support-of-gpt_sync_mbr.patch @@ -1,4 +1,4 @@ -From 22be792bfd8e4a4da7495ec60084c23dd8a43677 Mon Sep 17 00:00:00 2001 +From 7c5b213ab881dbf4a49673908092359f78bc13ce Mon Sep 17 00:00:00 2001 From: huangkaibin Date: Fri, 25 Jan 2019 19:46:52 +0000 Subject: [PATCH] add-support-of-gpt_sync_mbr @@ -13,14 +13,14 @@ This code has been refactored.'boot' is removed. So we should call ped_partition_get_flag to instead. Signed-off-by: Hongtao Zhang --- - libparted/labels/gpt.c | 246 ++++++++++++++++++++++++++++++++++++++++++++++++- + libparted/labels/gpt.c | 246 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 242 insertions(+), 4 deletions(-) diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c -index 4f922b2..b2dad71 100644 +index 780fb70..f63d414 100644 --- a/libparted/labels/gpt.c +++ b/libparted/labels/gpt.c -@@ -306,6 +306,7 @@ typedef struct _GPTPartitionData +@@ -364,6 +364,7 @@ typedef struct _GPTPartitionData } GPTPartitionData; static PedDiskType gpt_disk_type; @@ -28,7 +28,7 @@ index 4f922b2..b2dad71 100644 static inline uint32_t pth_get_size (const PedDevice *dev) -@@ -474,8 +475,54 @@ _pmbr_is_valid (const LegacyMBR_t *mbr) +@@ -530,8 +531,54 @@ _pmbr_is_valid (const LegacyMBR_t *mbr) return 0; } @@ -84,7 +84,7 @@ index 4f922b2..b2dad71 100644 { int gpt_sig_found = 0; -@@ -509,6 +556,19 @@ gpt_probe (const PedDevice *dev) +@@ -565,6 +612,19 @@ gpt_probe (const PedDevice *dev) return gpt_sig_found; } @@ -104,10 +104,11 @@ index 4f922b2..b2dad71 100644 static PedDisk * gpt_alloc (const PedDevice *dev) { -@@ -554,6 +614,36 @@ error: +@@ -609,6 +669,36 @@ error: + return NULL; } - static PedDisk * ++static PedDisk * +gpt_sync_mbr_alloc (const PedDevice *dev) +{ + PedDisk *disk; @@ -137,11 +138,10 @@ index 4f922b2..b2dad71 100644 + return NULL; +} + -+static PedDisk * + static PedDisk * gpt_duplicate (const PedDisk *disk) { - PedDisk *new_disk; -@@ -967,7 +1057,7 @@ gpt_read (PedDisk *disk) +@@ -983,7 +1073,7 @@ gpt_read (PedDisk *disk) /* motivation: let the user decide about the pmbr... during ped_disk_probe(), they probably didn't get a choice... */ @@ -150,7 +150,7 @@ index 4f922b2..b2dad71 100644 goto error; GuidPartitionTableHeader_t *gpt = NULL; -@@ -1124,11 +1214,61 @@ error: +@@ -1140,11 +1230,61 @@ error: return 0; } @@ -213,7 +213,7 @@ index 4f922b2..b2dad71 100644 /* The UEFI spec is not clear about what to do with the following elements of the Protective MBR (pmbr): BootCode (0-440B), UniqueMBRSignature (440B-444B) and Unknown (444B-446B). -@@ -1142,6 +1282,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) +@@ -1158,6 +1298,8 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) memset (pmbr->PartitionRecord, 0, sizeof pmbr->PartitionRecord); pmbr->Signature = PED_CPU_TO_LE16 (MSDOS_MBR_SIGNATURE); @@ -222,7 +222,7 @@ index 4f922b2..b2dad71 100644 pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI; pmbr->PartitionRecord[0].StartSector = 2; pmbr->PartitionRecord[0].EndHead = 0xFF; -@@ -1154,6 +1296,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) +@@ -1170,6 +1312,60 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot) pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (dev->length - 1UL); if (pmbr_boot) pmbr->PartitionRecord[0].BootIndicator = 0x80; @@ -283,7 +283,7 @@ index 4f922b2..b2dad71 100644 int write_ok = ped_device_write (dev, pmbr, GPT_PMBR_LBA, GPT_PMBR_SECTORS); -@@ -1273,7 +1469,7 @@ gpt_write (const PedDisk *disk) +@@ -1284,7 +1480,7 @@ gpt_write (const PedDisk *disk) ptes_crc = efi_crc32 (ptes, ptes_bytes); /* Write protective MBR */ @@ -292,7 +292,7 @@ index 4f922b2..b2dad71 100644 goto error_free_ptes; /* Write PTH and PTEs */ -@@ -2070,6 +2266,38 @@ static PedDiskOps gpt_disk_ops = +@@ -1916,6 +2112,38 @@ static PedDiskOps gpt_disk_ops = PT_op_function_initializers (gpt) }; @@ -331,8 +331,8 @@ index 4f922b2..b2dad71 100644 static PedDiskType gpt_disk_type = { next: NULL, -@@ -2078,16 +2306,26 @@ static PedDiskType gpt_disk_type = - features: PED_DISK_TYPE_PARTITION_NAME +@@ -1925,16 +2153,26 @@ static PedDiskType gpt_disk_type = + PED_DISK_TYPE_DISK_UUID | PED_DISK_TYPE_PARTITION_UUID }; +static PedDiskType gpt_sync_mbr_disk_type = @@ -359,5 +359,5 @@ index 4f922b2..b2dad71 100644 verify (sizeof (GuidPartitionEntryAttributes_t) == 8); -- -1.8.3.1 +2.33.0 diff --git a/parted-3.5.tar.xz b/parted-3.5.tar.xz deleted file mode 100644 index ed2c86c36fcc2d0fbadbc919a162258933ddd558..0000000000000000000000000000000000000000 Binary files a/parted-3.5.tar.xz and /dev/null differ diff --git a/parted-3.6.tar.xz b/parted-3.6.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..87f2bef57a1fbebed1ec5341bcc68185e0b428e1 Binary files /dev/null and b/parted-3.6.tar.xz differ diff --git a/parted.spec b/parted.spec index be7e8434e43ba6778989b1ea00b725c723150425..4faea50d31a55759e7fd48e623ac34a61e540f78 100644 --- a/parted.spec +++ b/parted.spec @@ -15,8 +15,8 @@ Summary: The GNU disk partition manipulation program Name: parted -Version: 3.5 -Release: 2 +Version: 3.6 +Release: 1 URL: https://www.gnu.org/software/parted/ Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz License: GPLv3+ @@ -121,6 +121,10 @@ fi %{_libdir}/pkgconfig/libparted*.pc %changelog +* Mon Feb 26 2024 wangzhiqiang - 3.6-1 +- update to 3.6 +- update version dependency + * Thu Dec 14 2023 lingsheng - 3.5-2 - remove patch which modifid cyl-size