diff --git a/parted-json-no-type-flag.patch b/parted-json-no-type-flag.patch deleted file mode 100644 index 5158666..0000000 --- a/parted-json-no-type-flag.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/parted/parted.c b/parted/parted.c -index 5c7c270..aa68d58 100644 ---- a/parted/parted.c -+++ b/parted/parted.c -@@ -956,6 +956,9 @@ partition_print_flags_json (PedPartition const *part) - for (flag = ped_partition_flag_next (0); flag; - flag = ped_partition_flag_next (flag)) - { -+ if (flag == PED_PARTITION_TYPE) -+ continue; -+ - if (ped_partition_get_flag (part, flag)) - { - if (!did_open_array) diff --git a/parted-mac.patch b/parted-mac.patch index 91ec2b4..87b92ec 100644 --- a/parted-mac.patch +++ b/parted-mac.patch @@ -152,29 +152,29 @@ Index: parted-3.3/parted/parted.c =================================================================== --- parted-3.3.orig/parted/parted.c +++ parted-3.3/parted/parted.c -@@ -929,6 +929,7 @@ static char* +@@ -946,6 +946,7 @@ + static char* partition_print_flags (PedPartition const *part) { - int xtype; -+ const char* sysname; - char *res = xstrdup (""); - if (!part) - return res; -@@ -961,6 +962,17 @@ partition_print_flags (PedPartition cons - } ++ const char* sysname; + char *res = xstrdup (""); + if (!part) + return res; +@@ -967,6 +968,17 @@ } + } -+ sysname = ped_partition_get_system_name( part ); -+ if (sysname) { -+ char tmpstr[21]; -+ snprintf(tmpstr, sizeof(tmpstr) - 1, "type=%s", sysname); -+ size_t new_len = res_buf_len + strlen(sep) + strlen(tmpstr); -+ res = xrealloc(res, new_len); -+ stpcpy (stpcpy (res + res_buf_len - 1, sep), tmpstr); -+ res_buf_len = new_len; -+ sep = ", "; -+ } ++ sysname = ped_partition_get_system_name( part ); ++ if (sysname) { ++ char tmpstr[21]; ++ snprintf(tmpstr, sizeof(tmpstr) - 1, "type=%s", sysname); ++ size_t new_len = res_buf_len + strlen(sep) + strlen(tmpstr); ++ res = xrealloc(res, new_len); ++ stpcpy (stpcpy (res + res_buf_len - 1, sep), tmpstr); ++ res_buf_len = new_len; ++ sep = ", "; ++ } + - return res; + return res; } diff --git a/parted-type-accept-hex.patch b/parted-type-accept-hex.patch deleted file mode 100644 index fb59cbd..0000000 --- a/parted-type-accept-hex.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- parted-3.3/parted/ui.c 2020/08/25 16:28:53 1.1 -+++ parted-3.3/parted/ui.c 2020/08/25 16:31:39 -@@ -926,7 +926,11 @@ - return 0; - - errno = 0; -- ret = strtol (input, (char**) NULL, 10); -+ -+ if (strstr(input, "0x") == input) -+ ret = strtol (input, (char**) NULL, 16); -+ else -+ ret = strtol (input, (char**) NULL, 10); - if (errno) - goto error; - diff --git a/parted-type.patch b/parted-type.patch deleted file mode 100644 index 15f4524..0000000 --- a/parted-type.patch +++ /dev/null @@ -1,162 +0,0 @@ -From: Petr Uzel -Subject: parted: Introduce a type flag -Patch-mainline: no, required by YaST - -YaST requires a type flag in order to check the current partition -type for msdos partition tables. ---- - include/parted/disk.in.h | 5 ++- - libparted/disk.c | 2 + - libparted/labels/dos.c | 8 ++++++ - parted/parted.c | 61 ++++++++++++++++++++++++++++++----------------- - parted/ui.c | 3 ++ - 5 files changed, 56 insertions(+), 23 deletions(-) - -Index: parted-3.3/include/parted/disk.in.h -=================================================================== ---- parted-3.3.orig/include/parted/disk.in.h -+++ parted-3.3/include/parted/disk.in.h -@@ -86,9 +86,10 @@ - PED_PARTITION_CHROMEOS_KERNEL=19, - PED_PARTITION_BLS_BOOT=20, - PED_PARTITION_LINUX_HOME=21, -+ PED_PARTITION_TYPE=22, - }; - #define PED_PARTITION_FIRST_FLAG PED_PARTITION_BOOT --#define PED_PARTITION_LAST_FLAG PED_PARTITION_LINUX_HOME -+#define PED_PARTITION_LAST_FLAG PED_PARTITION_TYPE - - enum _PedDiskTypeFeature { - PED_DISK_TYPE_EXTENDED=1, /**< supports extended partitions */ -Index: parted-3.3/libparted/disk.c -=================================================================== ---- parted-3.3.orig/libparted/disk.c -+++ parted-3.3/libparted/disk.c -@@ -2389,6 +2389,8 @@ ped_partition_flag_get_name (PedPartitio - return N_("lba"); - case PED_PARTITION_HPSERVICE: - return N_("hp-service"); -+ case PED_PARTITION_TYPE: -+ return N_("type"); - case PED_PARTITION_PALO: - return N_("palo"); - case PED_PARTITION_PREP: -Index: parted-3.3/libparted/labels/dos.c -=================================================================== ---- parted-3.3.orig/libparted/labels/dos.c -+++ parted-3.3/libparted/labels/dos.c -@@ -1565,6 +1565,10 @@ msdos_partition_set_flag (PedPartition* - disk = part->disk; - - switch (flag) { -+ case PED_PARTITION_TYPE: -+ dos_data->system = state; -+ return 1; -+ - case PED_PARTITION_HIDDEN: - if (part->type == PED_PARTITION_EXTENDED) { - ped_exception_throw ( -@@ -1690,6 +1694,9 @@ msdos_partition_get_flag (const PedParti - case PED_PARTITION_LBA: - return dos_data->lba; - -+ case PED_PARTITION_TYPE: -+ return dos_data->system; -+ - case PED_PARTITION_PALO: - return dos_data->palo; - -@@ -1728,6 +1735,7 @@ msdos_partition_is_flag_available (const - case PED_PARTITION_LVM: - case PED_PARTITION_SWAP: - case PED_PARTITION_LBA: -+ case PED_PARTITION_TYPE: - case PED_PARTITION_PALO: - case PED_PARTITION_PREP: - case PED_PARTITION_IRST: -Index: parted-3.3/parted/parted.c -=================================================================== ---- parted-3.3.orig/parted/parted.c -+++ parted-3.3/parted/parted.c -@@ -946,28 +946,40 @@ error: - static char* - partition_print_flags (PedPartition const *part) - { -- char *res = xstrdup (""); -- if (!part) -- return res; -- -- PedPartitionFlag flag; -- size_t res_buf_len = 1; -- char const *sep = ""; -- for (flag = ped_partition_flag_next (0); flag; -- flag = ped_partition_flag_next (flag)) -- { -- if (ped_partition_get_flag (part, flag)) -+ int xtype; -+ char *res = xstrdup (""); -+ if (!part) -+ return res; -+ -+ PedPartitionFlag flag; -+ size_t res_buf_len = 1; -+ char const *sep = ""; -+ for (flag = ped_partition_flag_next (0); flag; -+ flag = ped_partition_flag_next (flag)) - { -- const char *name = _(ped_partition_flag_get_name (flag)); -- size_t new_len = res_buf_len + strlen (sep) + strlen (name); -- res = xrealloc (res, new_len); -- stpcpy (stpcpy (res + res_buf_len - 1, sep), name); -- res_buf_len = new_len; -- sep = ", "; -+ if (xtype = ped_partition_get_flag (part, flag)) -+ { -+ if (flag == PED_PARTITION_TYPE) { -+ char tmpstr[21]; -+ int len = snprintf(tmpstr, sizeof(tmpstr) - 1, "type=%02x", xtype); -+ size_t new_len = res_buf_len + strlen(sep) + strlen(tmpstr); -+ res = xrealloc(res, new_len); -+ stpcpy (stpcpy (res + res_buf_len - 1, sep), tmpstr); -+ res_buf_len = new_len; -+ sep = ", "; -+ } -+ else { -+ const char *name = _(ped_partition_flag_get_name (flag)); -+ size_t new_len = res_buf_len + strlen (sep) + strlen (name); -+ res = xrealloc (res, new_len); -+ stpcpy (stpcpy (res + res_buf_len - 1, sep), name); -+ res_buf_len = new_len; -+ sep = ", "; -+ } -+ } - } -- } - -- return res; -+ return res; - } - - static void -@@ -1808,12 +1820,19 @@ do_set (PedDevice** dev, PedDisk **diskp - goto error; - if (!command_line_get_part_flag (_("Flag to Invert?"), part, &flag)) - goto error; -- state = (ped_partition_get_flag (part, flag) == 0 ? 1 : 0); -+ if( flag == PED_PARTITION_TYPE ) -+ state = ped_partition_get_flag (part, flag); -+ else -+ state = (ped_partition_get_flag (part, flag) == 0 ? 1 : 0); - -- if (!is_toggle_mode) { -+ if (!is_toggle_mode && flag != PED_PARTITION_TYPE ) { - if (!command_line_get_state (_("New state?"), &state)) - goto error; - } -+ else if( flag == PED_PARTITION_TYPE ) { -+ if (!command_line_get_integer (_("New type?"), &state)) -+ goto error; -+ } - - if (!ped_partition_set_flag (part, flag, state)) - goto error; diff --git a/parted.changes b/parted.changes index 166ca48..f136087 100644 --- a/parted.changes +++ b/parted.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Jun 23 07:34:55 CEST 2022 - aschnell@suse.com + +- drop type flag (SUSE specific) to fix bsc#1190847 + refreshed patches: + - parted-mac.patch + - tests-adapt-to-SUSE.patch + drop patches: + - parted-type.patch + - parted-type-accept-hex.patch + - parted-json-no-type-flag.patch + ------------------------------------------------------------------- Wed Jun 1 09:27:16 UTC 2022 - Dirk Müller diff --git a/parted.spec b/parted.spec index f452573..395e9fe 100644 --- a/parted.spec +++ b/parted.spec @@ -39,7 +39,6 @@ Patch12: libparted-partition-naming.patch #PATCH-FEATURE-SUSE more-reliable-informing-the-kernel.patch bnc#657360 petr.uzel@suse.cz Patch13: more-reliable-informing-the-kernel.patch Patch14: dummy-bootcode-only-for-x86.patch -Patch15: parted-type.patch Patch16: parted-mac.patch Patch17: libparted-use-BLKRRPART-for-DASD.patch.patch Patch18: libparted-make-BLKRRPART-more-robust.patch @@ -59,7 +58,6 @@ Patch31: parted-add-ignore-busy-option.patch Patch32: parted-fix-resizepart-and-rm-command.patch Patch33: libparted-use-BLKRRPART-only-when-needed.patch Patch34: libparted-canonicalize-dev-md-paths.patch -Patch35: parted-json-no-type-flag.patch # bsc#1168756 Patch36: libparted-linux-pmem-path.patch # bsc#1164260 @@ -67,7 +65,6 @@ Patch37: parted-print-max-partitions-for-yast.patch Patch38: direct-handling-of-partition-type-id-and-uuid.patch Patch39: type-command.patch # bsc#1164907 -Patch64: parted-type-accept-hex.patch # Fatresize Patch100: parted-fatresize-autoconf.patch Patch101: fatresize-fix-getting-dev-name.patch @@ -143,7 +140,6 @@ to develop applications that require these. %patch12 -p1 %patch13 -p1 %patch14 -p1 -%patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 @@ -160,12 +156,10 @@ to develop applications that require these. %patch32 -p1 %patch33 -p1 %patch34 -p1 -%patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch39 -p1 -%patch64 -p1 %patch100 -p1 %patch101 -p1 %patch156 -p1 diff --git a/tests-adapt-to-SUSE.patch b/tests-adapt-to-SUSE.patch index 0bbecea..ad99fbf 100644 --- a/tests-adapt-to-SUSE.patch +++ b/tests-adapt-to-SUSE.patch @@ -11,86 +11,6 @@ Change dm partition name from 'pN' to '-partN' Tests: t6001, t6002, t6004, t6005 For: libparted-partition-naming.patch --- -Index: parted-3.3/tests/t2200-dos-label-recog.sh -=================================================================== ---- parted-3.3.orig/tests/t2200-dos-label-recog.sh -+++ parted-3.3/tests/t2200-dos-label-recog.sh -@@ -45,7 +45,7 @@ printf FAT | dd bs=1c seek=82 count=3 of - # print the partition table - parted -m -s $dev unit s p > out || fail=1 - tail -2 out > k && mv k out || fail=1 --printf "1:2048s:4095s:2048s:::;\n2:4096s:8191s:4096s:::;\n" > exp || fail=1 -+printf "1:2048s:4095s:2048s:::type=83;\n2:4096s:8191s:4096s:::type=83;\n" > exp || fail=1 - - compare exp out || fail=1 - -Index: parted-3.3/tests/t2310-dos-extended-2-sector-min-offset.sh -=================================================================== ---- parted-3.3.orig/tests/t2310-dos-extended-2-sector-min-offset.sh -+++ parted-3.3/tests/t2310-dos-extended-2-sector-min-offset.sh -@@ -33,8 +33,8 @@ p5=${scsi_dev}5 - cat < exp || framework_failure - BYT; - $scsi_dev:$((2048*512/$ss))s:scsi:$ss:$ss:msdos:Linux scsi_debug:; --1:64s:128s:65s:::lba; --5:65s:128s:64s:::; -+1:64s:128s:65s:::lba, type=0f; -+5:65s:128s:64s:::type=83; - EOF - - # Create a DOS label with an extended partition starting at sector 64. -Index: parted-3.3/tests/t3200-resize-partition.sh -=================================================================== ---- parted-3.3.orig/tests/t3200-resize-partition.sh -+++ parted-3.3/tests/t3200-resize-partition.sh -@@ -75,7 +75,7 @@ compare /dev/null err || fail=1 - parted -m -s $dev u s p > out 2>&1 || fail=1 - - sed -n 3p out > k && mv k out || fail=1 --printf "1:$default_start:$new_end:3073s:ext2::$ms;\n" > exp || fail=1 -+printf "1:$default_start:$new_end:3073s:ext2::type=83;\n" > exp || fail=1 - compare exp out || fail=1 - - umount "${dev}1" || fail=1 -Index: parted-3.3/tests/t3300-palo-prep.sh -=================================================================== ---- parted-3.3.orig/tests/t3300-palo-prep.sh -+++ parted-3.3/tests/t3300-palo-prep.sh -@@ -20,9 +20,9 @@ - ss=$sector_size_ - - cat > exp < out 2> err || fail=1 - --grep -E '^1:2048s:4095s:2048s:ext2::lba, p...;$' out > k; mv k out -+grep -E '^1:2048s:4095s:2048s:ext2::lba, p..., type=..;$' out > k; mv k out - - compare exp out || fail=1 - -Index: parted-3.3/tests/t4100-msdos-starting-sector.sh -=================================================================== ---- parted-3.3.orig/tests/t4100-msdos-starting-sector.sh -+++ parted-3.3/tests/t4100-msdos-starting-sector.sh -@@ -56,7 +56,7 @@ cat < exp || fail=1 - BYT; - path:${N}s:file:$ss:$ss:msdos::; - 1:32s:2047s:2016s:free; --1:2048s:4095s:2048s:::; -+1:2048s:4095s:2048s:::type=83; - EOF - - # create a partition at the end of the label Index: parted-3.3/tests/t6001-psep.sh =================================================================== --- parted-3.3.orig/tests/t6001-psep.sh @@ -164,30 +84,6 @@ Index: parted-3.3/tests/t6005-dm-uuid.sh done Exit $fail -Index: parted-3.3/tests/t0283-overlap-partitions.sh -=================================================================== ---- parted-3.3.orig/tests/t0283-overlap-partitions.sh -+++ parted-3.3/tests/t0283-overlap-partitions.sh -@@ -54,8 +54,8 @@ Partition Table: msdos - Disk Flags: - - Number Start End Size Type File system Flags -- 1 1049kB 5243kB 4194kB primary -- 2 5242kB 8000kB 2758kB primary -+ 1 1049kB 5243kB 4194kB primary type=83 -+ 2 5242kB 8000kB 2758kB primary type=83 - - (parted) rm - Partition number? 2 -@@ -94,7 +94,7 @@ Partition Table: msdos - Disk Flags: - - Number Start End Size Type File system Flags -- 1 1049kB 5243kB 4194kB primary -+ 1 1049kB 5243kB 4194kB primary type=83 - - (parted) rm - Partition number? 1 Index: parted-3.3/tests/t6002-dm-busy.sh =================================================================== --- parted-3.3.orig/tests/t6002-dm-busy.sh @@ -223,56 +119,3 @@ Index: parted-3.3/tests/t6002-dm-busy.sh # Removal of unmounted partition must succeed. parted -s "$dev" rm 1 > /dev/null 2>&1 || fail=1 -@@ -84,7 +84,7 @@ sed "s,^$dev,DEV," out > k; mv k out - cat <> exp || fail=1 - BYT; - DEV:${n}s:dm:512:512:msdos:Linux device-mapper (linear):; --2:1001s:200000s:199000s:fat32::lba; -+2:1001s:200000s:199000s:fat32::lba, type=0c; - EOF - - compare exp out || fail=1 -Index: parted-3.3/tests/t9042-dos-partition-limit.sh -=================================================================== ---- parted-3.3.orig/tests/t9042-dos-partition-limit.sh -+++ parted-3.3/tests/t9042-dos-partition-limit.sh -@@ -41,7 +41,7 @@ scsi_dev=$(cat dev-name) - n=$((n_MiB * sectors_per_MiB)) - printf '%s\n' "BYT;" \ - "$scsi_dev:${n}s:scsi:$ss:$ss:msdos:Linux scsi_debug:;" \ -- "1:$((start-2))s:$((n-1))s:$((n-start+2))s:::lba;" \ -+ "1:$((start-2))s:$((n-1))s:$((n-start+2))s:::lba, type=0f;" \ - > exp || fail=1 - - parted -s -a min $scsi_dev mklabel msdos mkpart extended $((start-2))s 100% || fail=1 -@@ -51,7 +51,7 @@ i=1 - while :; do - end=$((start + partition_sectors - 2)) - parted -s -a min $scsi_dev mkpart logical ${start}s ${end}s || fail=1 -- printf "$((i+4)):${start}s:${end}s:$((end-start+1))s:::;\n" >> exp -+ printf "$((i+4)):${start}s:${end}s:$((end-start+1))s:::type=83;\n" >> exp - test $i = $((n_partitions - 1)) && break - start=$((start + partition_sectors)) - i=$((i+1)) -Index: parted-3.3/tests/t4100-msdos-partition-limits.sh -=================================================================== ---- parted-3.3.orig/tests/t4100-msdos-partition-limits.sh -+++ parted-3.3/tests/t4100-msdos-partition-limits.sh -@@ -81,7 +81,7 @@ do_mkpart $n $end || fail=1 - # print the result - parted -s $dev unit s p > out 2>&1 || fail=1 - sed -n "/^ *1 *$n/s/ */ /gp" out|sed "s/ *\$//" > k && mv k out || fail=1 --echo " 1 ${n}s ${end}s 4294967295s primary" > exp || fail=1 -+echo " 1 ${n}s ${end}s 4294967295s primary type=83" > exp || fail=1 - compare exp out || fail=1 - - # a partition length of exactly 2^32 sectors provokes failure. -@@ -121,7 +121,7 @@ Partition Table: $table_type - Disk Flags: - - Number Start End Size Type File system Flags -- 1 4294967295s 4294968294s 1000s primary -+ 1 4294967295s 4294968294s 1000s primary type=83 - - EOF -