Accepting request 517037 from Base:System

- Fix s390x --wipesignatures regression caused by fate#320525
  (bsc#1047031)
  - amend: parted-implement-wipesignatures-option.patch
  - refresh: 0002-dasd-enhance-device-probing.patch

- Amend parsing of empty GPT partition names to require quoted
  empty strings '""' or "''" (bsc#1023818, boo#1032562)
  - amend: parted-mkpart-allow-empty-gpt-part-name.patch

- parted: mkpart: Allow empty string "" for the GPT partition name
  in script mode (bsc#1023818, boo#1032562)
  - add: parted-mkpart-allow-empty-gpt-part-name.patch

OBS-URL: https://build.opensuse.org/request/show/517037
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/parted?expand=0&rev=116
This commit is contained in:
Dominique Leuenberger 2017-08-23 09:53:00 +00:00 committed by Git OBS Bridge
commit ac5172b500
5 changed files with 113 additions and 28 deletions

View File

@ -141,7 +141,7 @@ Acked-by: Sebastian Parschauer <sparschauer@suse.de>
+#elif USE_BLKID
get_minimum_alignment: linux_get_minimum_alignment,
get_optimum_alignment: linux_get_optimum_alignment,
wipe_signatures: linux_wipe_signatures,
#endif
--- a/libparted/device.c
+++ b/libparted/device.c
@@ -550,16 +550,10 @@ ped_device_get_optimum_alignment(const P

View File

@ -1,13 +1,14 @@
From f5216170b98e0c28dfee717fb03b6a06bcc2a3ee Mon Sep 17 00:00:00 2001
From: Petr Uzel <petr.uzel@suse.cz>
Date: Thu, 28 Apr 2016 17:18:44 +0200
Subject: [PATCH] parted: implement --wipesignatures option
References: bsc#943623, fate#319893, bsc#980834
Patch-mainline: no, custom extension
With this option, parted uses libblkid to wipe superblock signatures
from a disk region where it is about to create a new partition.
References: bsc#943623
References: fate#319893
[sparschauer: Use own #if USE_BLKID block in linux_dev_ops (bsc#1047031)]
Signed-off-by: Sebastian Parschauer <sparschauer@suse.de>
---
doc/C/parted.8 | 4 ++++
include/parted/device.in.h | 2 ++
@ -16,10 +17,8 @@ References: fate#319893
parted/parted.c | 16 ++++++++++++++++
5 files changed, 78 insertions(+)
Index: parted-3.2/doc/C/parted.8
===================================================================
--- parted-3.2.orig/doc/C/parted.8
+++ parted-3.2/doc/C/parted.8
--- a/doc/C/parted.8
+++ b/doc/C/parted.8
@@ -30,6 +30,10 @@ never prompts for user intervention
.B -v, --version
displays the version
@ -31,10 +30,8 @@ Index: parted-3.2/doc/C/parted.8
.B -a \fIalignment-type\fP, --align \fIalignment-type\fP
Set alignment for newly created partitions, valid alignment types are:
.RS
Index: parted-3.2/include/parted/device.in.h
===================================================================
--- parted-3.2.orig/include/parted/device.in.h
+++ parted-3.2/include/parted/device.in.h
--- a/include/parted/device.in.h
+++ b/include/parted/device.in.h
@@ -119,6 +119,7 @@ struct _PedDeviceArchOps {
/* These functions are optional */
PedAlignment *(*get_minimum_alignment)(const PedDevice *dev);
@ -51,11 +48,9 @@ Index: parted-3.2/include/parted/device.in.h
/* private stuff ;-) */
Index: parted-3.2/libparted/arch/linux.c
===================================================================
--- parted-3.2.orig/libparted/arch/linux.c
+++ parted-3.2/libparted/arch/linux.c
@@ -3297,6 +3297,44 @@ linux_get_optimum_alignment(const PedDev
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -3298,6 +3298,44 @@ linux_get_optimum_alignment(const PedDev
blkid_topology_get_alignment_offset(tp) / dev->sector_size,
blkid_topology_get_optimal_io_size(tp) / dev->sector_size);
}
@ -100,18 +95,18 @@ Index: parted-3.2/libparted/arch/linux.c
#endif
static PedDeviceArchOps linux_dev_ops = {
@@ -3316,6 +3354,7 @@ static PedDeviceArchOps linux_dev_ops =
#if USE_BLKID
@@ -3318,6 +3356,9 @@ static PedDeviceArchOps linux_dev_ops =
get_minimum_alignment: linux_get_minimum_alignment,
get_optimum_alignment: linux_get_optimum_alignment,
+ wipe_signatures: linux_wipe_signatures,
#endif
+#if USE_BLKID
+ wipe_signatures: linux_wipe_signatures,
+#endif
};
Index: parted-3.2/libparted/device.c
===================================================================
--- parted-3.2.orig/libparted/device.c
+++ parted-3.2/libparted/device.c
PedDiskArchOps linux_disk_ops = {
--- a/libparted/device.c
+++ b/libparted/device.c
@@ -565,4 +565,21 @@ ped_device_get_optimum_alignment(const P
return align;
}
@ -134,10 +129,8 @@ Index: parted-3.2/libparted/device.c
+}
+
/** @} */
Index: parted-3.2/parted/parted.c
===================================================================
--- parted-3.2.orig/parted/parted.c
+++ parted-3.2/parted/parted.c
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -76,6 +76,7 @@ static int MEGABYTE_SECTORS (PedDevice*
enum
{

View File

@ -0,0 +1,68 @@
From: Sebastian Parschauer <sparschauer@suse.de>
Date: Fri, 11 Aug 2017 12:46:42 +0200
Subject: parted/ui: Count empty quoted strings as words in multi_word
mode
References: bsc#1023818, boo#1032562
Patch-mainline: submitted, 2017-08-11
In non-interactive mode, the command line arguments are appended
to a string list with command_line_push_line() in multi_word mode.
That mode does not count empty strings as a word.
For mkpart and a GPT disk label, the partition name is picked up
from that string list. The partition name is mandatory and we
cannot make it optional. So it is not possible to set an empty
partition name from command line this way.
Also setting a default name is no option as this causes duplicate
/dev/disk/by-partlabel/ symlinks and systemd errors this way.
So count empty quoted strings as words in multi_word mode to allow
the following commands to set an empty partition name.
parted -s /dev/vdb mkpart "''" 1MiB 100%
parted -s /dev/vdb mkpart '""' ext3 1MiB 100%
parted -s /dev/vdb name 1 "''"
The quoting is required as in interactive mode the command
"mkpart " (with a trailing space) would set the partition name to
an empty string already.
Signed-off-by: Sebastian Parschauer <sparschauer@suse.de>
---
parted/ui.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/parted/ui.c b/parted/ui.c
index 752860baa087..9991596a3a5a 100644
--- a/parted/ui.c
+++ b/parted/ui.c
@@ -719,6 +719,7 @@ void
command_line_push_line (const char* line, int multi_word)
{
int quoted = 0;
+ int quotes_empty = 0;
char quote_char = 0;
char this_word [256];
int i;
@@ -746,6 +747,9 @@ command_line_push_line (const char* line, int multi_word)
if (quoted && *line == quote_char) {
quoted = 0;
+ /* allow empty partition name in script mode */
+ if (!i)
+ quotes_empty = 1;
continue;
}
@@ -753,9 +757,11 @@ command_line_push_line (const char* line, int multi_word)
if (quoted && line[0] == '\\' && line[1])
line++;
+ quotes_empty = 0;
this_word [i++] = *line;
}
- if (i || !multi_word) {
+ if (i || !multi_word || quotes_empty) {
+ quotes_empty = 0;
this_word [i] = 0;
command_line_push_word (this_word);
}

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Tue Aug 15 17:21:02 CEST 2017 - sparschauer@suse.de
- Fix s390x --wipesignatures regression caused by fate#320525
(bsc#1047031)
- amend: parted-implement-wipesignatures-option.patch
- refresh: 0002-dasd-enhance-device-probing.patch
-------------------------------------------------------------------
Fri Aug 11 16:15:08 CEST 2017 - sparschauer@suse.de
- Amend parsing of empty GPT partition names to require quoted
empty strings '""' or "''" (bsc#1023818, boo#1032562)
- amend: parted-mkpart-allow-empty-gpt-part-name.patch
-------------------------------------------------------------------
Thu Aug 10 16:44:57 CEST 2017 - sparschauer@suse.de
- parted: mkpart: Allow empty string "" for the GPT partition name
in script mode (bsc#1023818, boo#1032562)
- add: parted-mkpart-allow-empty-gpt-part-name.patch
-------------------------------------------------------------------
Thu Jun 15 20:28:08 CEST 2017 - sparschauer@suse.de

View File

@ -79,6 +79,7 @@ Patch47: libparted-dasd-improve-lvm-raid-flag-handling.patch
Patch48: parted-mkpart-set-a-swap-flag-if-available.patch
Patch49: libparted-set-swap-flag-on-GPT-partitions.patch
Patch50: libparted-dasd-add-swap-flag-handling-for-DASD-CDL.patch
Patch51: parted-mkpart-allow-empty-gpt-part-name.patch
Patch100: parted-fatresize-autoconf.patch
BuildRequires: check-devel
BuildRequires: device-mapper-devel >= 1.02.33
@ -172,6 +173,7 @@ to develop applications that require these.
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch100 -p1
%build