forked from pool/parted
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:
commit
ac5172b500
@ -141,7 +141,7 @@ Acked-by: Sebastian Parschauer <sparschauer@suse.de>
|
|||||||
+#elif USE_BLKID
|
+#elif USE_BLKID
|
||||||
get_minimum_alignment: linux_get_minimum_alignment,
|
get_minimum_alignment: linux_get_minimum_alignment,
|
||||||
get_optimum_alignment: linux_get_optimum_alignment,
|
get_optimum_alignment: linux_get_optimum_alignment,
|
||||||
wipe_signatures: linux_wipe_signatures,
|
#endif
|
||||||
--- a/libparted/device.c
|
--- a/libparted/device.c
|
||||||
+++ b/libparted/device.c
|
+++ b/libparted/device.c
|
||||||
@@ -550,16 +550,10 @@ ped_device_get_optimum_alignment(const P
|
@@ -550,16 +550,10 @@ ped_device_get_optimum_alignment(const P
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
From f5216170b98e0c28dfee717fb03b6a06bcc2a3ee Mon Sep 17 00:00:00 2001
|
|
||||||
From: Petr Uzel <petr.uzel@suse.cz>
|
From: Petr Uzel <petr.uzel@suse.cz>
|
||||||
Date: Thu, 28 Apr 2016 17:18:44 +0200
|
Date: Thu, 28 Apr 2016 17:18:44 +0200
|
||||||
Subject: [PATCH] parted: implement --wipesignatures option
|
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
|
With this option, parted uses libblkid to wipe superblock signatures
|
||||||
from a disk region where it is about to create a new partition.
|
from a disk region where it is about to create a new partition.
|
||||||
|
|
||||||
References: bsc#943623
|
[sparschauer: Use own #if USE_BLKID block in linux_dev_ops (bsc#1047031)]
|
||||||
References: fate#319893
|
Signed-off-by: Sebastian Parschauer <sparschauer@suse.de>
|
||||||
---
|
---
|
||||||
doc/C/parted.8 | 4 ++++
|
doc/C/parted.8 | 4 ++++
|
||||||
include/parted/device.in.h | 2 ++
|
include/parted/device.in.h | 2 ++
|
||||||
@ -16,10 +17,8 @@ References: fate#319893
|
|||||||
parted/parted.c | 16 ++++++++++++++++
|
parted/parted.c | 16 ++++++++++++++++
|
||||||
5 files changed, 78 insertions(+)
|
5 files changed, 78 insertions(+)
|
||||||
|
|
||||||
Index: parted-3.2/doc/C/parted.8
|
--- a/doc/C/parted.8
|
||||||
===================================================================
|
+++ b/doc/C/parted.8
|
||||||
--- parted-3.2.orig/doc/C/parted.8
|
|
||||||
+++ parted-3.2/doc/C/parted.8
|
|
||||||
@@ -30,6 +30,10 @@ never prompts for user intervention
|
@@ -30,6 +30,10 @@ never prompts for user intervention
|
||||||
.B -v, --version
|
.B -v, --version
|
||||||
displays the 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
|
.B -a \fIalignment-type\fP, --align \fIalignment-type\fP
|
||||||
Set alignment for newly created partitions, valid alignment types are:
|
Set alignment for newly created partitions, valid alignment types are:
|
||||||
.RS
|
.RS
|
||||||
Index: parted-3.2/include/parted/device.in.h
|
--- a/include/parted/device.in.h
|
||||||
===================================================================
|
+++ b/include/parted/device.in.h
|
||||||
--- parted-3.2.orig/include/parted/device.in.h
|
|
||||||
+++ parted-3.2/include/parted/device.in.h
|
|
||||||
@@ -119,6 +119,7 @@ struct _PedDeviceArchOps {
|
@@ -119,6 +119,7 @@ struct _PedDeviceArchOps {
|
||||||
/* These functions are optional */
|
/* These functions are optional */
|
||||||
PedAlignment *(*get_minimum_alignment)(const PedDevice *dev);
|
PedAlignment *(*get_minimum_alignment)(const PedDevice *dev);
|
||||||
@ -51,11 +48,9 @@ Index: parted-3.2/include/parted/device.in.h
|
|||||||
|
|
||||||
/* private stuff ;-) */
|
/* private stuff ;-) */
|
||||||
|
|
||||||
Index: parted-3.2/libparted/arch/linux.c
|
--- a/libparted/arch/linux.c
|
||||||
===================================================================
|
+++ b/libparted/arch/linux.c
|
||||||
--- parted-3.2.orig/libparted/arch/linux.c
|
@@ -3298,6 +3298,44 @@ linux_get_optimum_alignment(const PedDev
|
||||||
+++ parted-3.2/libparted/arch/linux.c
|
|
||||||
@@ -3297,6 +3297,44 @@ linux_get_optimum_alignment(const PedDev
|
|
||||||
blkid_topology_get_alignment_offset(tp) / dev->sector_size,
|
blkid_topology_get_alignment_offset(tp) / dev->sector_size,
|
||||||
blkid_topology_get_optimal_io_size(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
|
#endif
|
||||||
|
|
||||||
static PedDeviceArchOps linux_dev_ops = {
|
static PedDeviceArchOps linux_dev_ops = {
|
||||||
@@ -3316,6 +3354,7 @@ static PedDeviceArchOps linux_dev_ops =
|
@@ -3318,6 +3356,9 @@ static PedDeviceArchOps linux_dev_ops =
|
||||||
#if USE_BLKID
|
|
||||||
get_minimum_alignment: linux_get_minimum_alignment,
|
get_minimum_alignment: linux_get_minimum_alignment,
|
||||||
get_optimum_alignment: linux_get_optimum_alignment,
|
get_optimum_alignment: linux_get_optimum_alignment,
|
||||||
+ wipe_signatures: linux_wipe_signatures,
|
|
||||||
#endif
|
#endif
|
||||||
|
+#if USE_BLKID
|
||||||
|
+ wipe_signatures: linux_wipe_signatures,
|
||||||
|
+#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
Index: parted-3.2/libparted/device.c
|
PedDiskArchOps linux_disk_ops = {
|
||||||
===================================================================
|
--- a/libparted/device.c
|
||||||
--- parted-3.2.orig/libparted/device.c
|
+++ b/libparted/device.c
|
||||||
+++ parted-3.2/libparted/device.c
|
|
||||||
@@ -565,4 +565,21 @@ ped_device_get_optimum_alignment(const P
|
@@ -565,4 +565,21 @@ ped_device_get_optimum_alignment(const P
|
||||||
return align;
|
return align;
|
||||||
}
|
}
|
||||||
@ -134,10 +129,8 @@ Index: parted-3.2/libparted/device.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
/** @} */
|
/** @} */
|
||||||
Index: parted-3.2/parted/parted.c
|
--- a/parted/parted.c
|
||||||
===================================================================
|
+++ b/parted/parted.c
|
||||||
--- parted-3.2.orig/parted/parted.c
|
|
||||||
+++ parted-3.2/parted/parted.c
|
|
||||||
@@ -76,6 +76,7 @@ static int MEGABYTE_SECTORS (PedDevice*
|
@@ -76,6 +76,7 @@ static int MEGABYTE_SECTORS (PedDevice*
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
68
parted-mkpart-allow-empty-gpt-part-name.patch
Normal file
68
parted-mkpart-allow-empty-gpt-part-name.patch
Normal 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);
|
||||||
|
}
|
@ -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
|
Thu Jun 15 20:28:08 CEST 2017 - sparschauer@suse.de
|
||||||
|
|
||||||
|
@ -79,6 +79,7 @@ Patch47: libparted-dasd-improve-lvm-raid-flag-handling.patch
|
|||||||
Patch48: parted-mkpart-set-a-swap-flag-if-available.patch
|
Patch48: parted-mkpart-set-a-swap-flag-if-available.patch
|
||||||
Patch49: libparted-set-swap-flag-on-GPT-partitions.patch
|
Patch49: libparted-set-swap-flag-on-GPT-partitions.patch
|
||||||
Patch50: libparted-dasd-add-swap-flag-handling-for-DASD-CDL.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
|
Patch100: parted-fatresize-autoconf.patch
|
||||||
BuildRequires: check-devel
|
BuildRequires: check-devel
|
||||||
BuildRequires: device-mapper-devel >= 1.02.33
|
BuildRequires: device-mapper-devel >= 1.02.33
|
||||||
@ -172,6 +173,7 @@ to develop applications that require these.
|
|||||||
%patch48 -p1
|
%patch48 -p1
|
||||||
%patch49 -p1
|
%patch49 -p1
|
||||||
%patch50 -p1
|
%patch50 -p1
|
||||||
|
%patch51 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
x
Reference in New Issue
Block a user