aboutsummaryrefslogtreecommitdiff
path: root/package/util-linux/0003-sfdisk-add-disk-id-to-change-disk-UUID-ID.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/util-linux/0003-sfdisk-add-disk-id-to-change-disk-UUID-ID.patch')
-rw-r--r--package/util-linux/0003-sfdisk-add-disk-id-to-change-disk-UUID-ID.patch139
1 files changed, 0 insertions, 139 deletions
diff --git a/package/util-linux/0003-sfdisk-add-disk-id-to-change-disk-UUID-ID.patch b/package/util-linux/0003-sfdisk-add-disk-id-to-change-disk-UUID-ID.patch
deleted file mode 100644
index fe435018f2..0000000000
--- a/package/util-linux/0003-sfdisk-add-disk-id-to-change-disk-UUID-ID.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 65e27d545cb54ac63536a8b6e7d5def180ddb5b7 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Tue, 14 Jan 2020 11:50:46 +0100
-Subject: [PATCH] sfdisk: add --disk-id to change disk UUID/ID
-
-Addresses: https://github.com/karelzak/util-linux/issues/916
-Signed-off-by: Karel Zak <kzak@redhat.com>
-Signed-off-by: Carlos Santos <unixmania@gmail.com>
----
- disk-utils/sfdisk.8 | 5 +++++
- disk-utils/sfdisk.c | 54 +++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 59 insertions(+)
-
-diff --git a/disk-utils/sfdisk.8 b/disk-utils/sfdisk.8
-index 3ff5dd4e6..9ee71e81a 100644
---- a/disk-utils/sfdisk.8
-+++ b/disk-utils/sfdisk.8
-@@ -152,6 +152,11 @@ or a GUID for GPT. For backward compatibility the options \fB\-c\fR and
- Change the GPT partition UUID. If \fIuuid\fR is not specified,
- then print the current partition UUID.
- .TP
-+.BR "\-\-disk\-id \fIdevice " [ \fIid ]
-+Change the disk identifier. If \fIid\fR is not specified,
-+then print the current identifier. The identifier is UUID for GPT
-+or unsigned integer for MBR.
-+.TP
- .BR \-r , " \-\-reorder " \fIdevice
- Renumber the partitions, ordering them by their start offset.
- .TP
-diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
-index bb6e1c6df..0db797b2d 100644
---- a/disk-utils/sfdisk.c
-+++ b/disk-utils/sfdisk.c
-@@ -86,6 +86,7 @@ enum {
- ACT_PARTUUID,
- ACT_PARTLABEL,
- ACT_PARTATTRS,
-+ ACT_DISKID,
- ACT_DELETE
- };
-
-@@ -1327,6 +1328,46 @@ static int command_partattrs(struct sfdisk *sf, int argc, char **argv)
- return write_changes(sf);
- }
-
-+/*
-+ * sfdisk --disk-id <device> [<str>]
-+ */
-+static int command_diskid(struct sfdisk *sf, int argc, char **argv)
-+{
-+ const char *devname = NULL;
-+ char *str = NULL;
-+
-+ if (!argc)
-+ errx(EXIT_FAILURE, _("no disk device specified"));
-+ devname = argv[0];
-+
-+ if (argc == 2)
-+ str = argv[1];
-+ else if (argc > 2)
-+ errx(EXIT_FAILURE, _("unexpected arguments"));
-+
-+ if (fdisk_assign_device(sf->cxt, devname, !str) != 0)
-+ err(EXIT_FAILURE, _("cannot open %s"), devname);
-+
-+ /* print */
-+ if (!str) {
-+ fdisk_get_disklabel_id(sf->cxt, &str);
-+ if (str)
-+ printf("%s\n", str);
-+ free(str);
-+ fdisk_deassign_device(sf->cxt, 1);
-+ return 0;
-+ }
-+
-+ /* change */
-+ if (sf->backup)
-+ backup_partition_table(sf, devname);
-+
-+ if (fdisk_set_disklabel_id_from_string(sf->cxt, str) != 0)
-+ errx(EXIT_FAILURE, _("%s: failed to set disklabel ID"), devname);
-+
-+ return write_changes(sf);
-+}
-+
- static void sfdisk_print_partition(struct sfdisk *sf, size_t n)
- {
- struct fdisk_partition *pa = NULL;
-@@ -1941,6 +1982,9 @@ static void __attribute__((__noreturn__)) usage(void)
- fputs(_(" --part-uuid <dev> <part> [<uuid>] print or change partition uuid\n"), out);
- fputs(_(" --part-attrs <dev> <part> [<str>] print or change partition attributes\n"), out);
-
-+ fputs(USAGE_SEPARATOR, out);
-+ fputs(_(" --disk-id <dev> [<str>] print or change disk label ID (UUID)\n"), out);
-+
- fputs(USAGE_SEPARATOR, out);
- fputs(_(" <dev> device (usually disk) path\n"), out);
- fputs(_(" <part> partition number\n"), out);
-@@ -2007,6 +2051,7 @@ int main(int argc, char *argv[])
- OPT_PARTLABEL,
- OPT_PARTTYPE,
- OPT_PARTATTRS,
-+ OPT_DISKID,
- OPT_BYTES,
- OPT_COLOR,
- OPT_MOVEDATA,
-@@ -2052,6 +2097,8 @@ int main(int argc, char *argv[])
- { "part-type", no_argument, NULL, OPT_PARTTYPE },
- { "part-attrs", no_argument, NULL, OPT_PARTATTRS },
-
-+ { "disk-id", no_argument, NULL, OPT_DISKID },
-+
- { "show-pt-geometry", no_argument, NULL, 'G' }, /* deprecated */
- { "unit", required_argument, NULL, 'u' }, /* deprecated */
- { "Linux", no_argument, NULL, 'L' }, /* deprecated */
-@@ -2192,6 +2239,9 @@ int main(int argc, char *argv[])
- case OPT_PARTATTRS:
- sf->act = ACT_PARTATTRS;
- break;
-+ case OPT_DISKID:
-+ sf->act = ACT_DISKID;
-+ break;
- case OPT_NOREREAD:
- sf->noreread = 1;
- break;
-@@ -2296,6 +2346,10 @@ int main(int argc, char *argv[])
- rc = command_partattrs(sf, argc - optind, argv + optind);
- break;
-
-+ case ACT_DISKID:
-+ rc = command_diskid(sf, argc - optind, argv + optind);
-+ break;
-+
- case ACT_REORDER:
- rc = command_reorder(sf, argc - optind, argv + optind);
- break;
---
-2.18.2
-