Update buildroot 2020.02.01 (#622)

* Update buildroot 2020.02.01

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>

* Fix LN

* Fix wpa

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>

* Fix lint

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>

* fix-network

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>

* Fix script

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
This commit is contained in:
Pascal Vizeli
2020-04-16 20:03:01 +02:00
committed by GitHub
parent 0c2b5aff65
commit 5a6678147e
6201 changed files with 73436 additions and 70757 deletions

View File

@@ -1,86 +0,0 @@
From e1686b25acdedb34cc357f08f0dd3ca01c559dfd Mon Sep 17 00:00:00 2001
From: Justin Chen <justinpopo6@gmail.com>
Date: Thu, 1 Nov 2018 11:10:38 -0700
Subject: [PATCH] rtcwake: use poweroff if shutdown is not found
Some systems do not have the shutdown command. Use poweroff as an
alternative.
Signed-off-by: Justin Chen <justinpopo6@gmail.com>
---
include/pathnames.h | 1 +
sys-utils/rtcwake.c | 39 +++++++++++++++++++++++++++------------
2 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/include/pathnames.h b/include/pathnames.h
index 3d5052e6f..ed8ea330d 100644
--- a/include/pathnames.h
+++ b/include/pathnames.h
@@ -53,6 +53,7 @@
# define _PATH_LOGIN "/bin/login"
#endif
#define _PATH_SHUTDOWN "/sbin/shutdown"
+#define _PATH_POWEROFF "/sbin/poweroff"
#define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d"
#define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME
diff --git a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c
index b63c64627..029f00f9b 100644
--- a/sys-utils/rtcwake.c
+++ b/sys-utils/rtcwake.c
@@ -28,6 +28,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
+#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <termios.h>
@@ -582,18 +583,32 @@ int main(int argc, char **argv)
char *arg[5];
int i = 0;
- if (ctl.verbose)
- printf(_("suspend mode: off; executing %s\n"),
- _PATH_SHUTDOWN);
- arg[i++] = _PATH_SHUTDOWN;
- arg[i++] = "-h";
- arg[i++] = "-P";
- arg[i++] = "now";
- arg[i] = NULL;
- if (!ctl.dryrun) {
- execv(arg[0], arg);
- warn(_("failed to execute %s"), _PATH_SHUTDOWN);
- rc = EXIT_FAILURE;
+ if (!access(_PATH_SHUTDOWN, X_OK)) {
+ arg[i++] = _PATH_SHUTDOWN;
+ arg[i++] = "-h";
+ arg[i++] = "-P";
+ arg[i++] = "now";
+ arg[i] = NULL;
+ } else if (!access(_PATH_POWEROFF, X_OK)) {
+ arg[i++] = _PATH_POWEROFF;
+ arg[i] = NULL;
+ } else {
+ arg[i] = NULL;
+ }
+
+ if (arg[0]) {
+ if (ctl.verbose)
+ printf(_("suspend mode: off; executing %s\n"),
+ arg[0]);
+ if (!ctl.dryrun) {
+ execv(arg[0], arg);
+ warn(_("failed to execute %s"), arg[0]);
+ rc = EX_EXEC_ENOENT;
+ }
+ } else {
+ /* Failed to find shutdown command */
+ warn(_("failed to find shutdown command"));
+ rc = EX_EXEC_ENOENT;
}
break;
}
--
2.17.1

View File

@@ -1,26 +0,0 @@
From 73c5a3cc748b853936319e6cdc94159a6974db52 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Wed, 7 Nov 2018 13:55:06 +0100
Subject: [PATCH] agetty: fix output of escaped characters
Signed-off-by: Christian Hesse <mail@eworm.de>
---
term-utils/agetty.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
index 05a269abb..b9f08728e 100644
--- a/term-utils/agetty.c
+++ b/term-utils/agetty.c
@@ -2755,7 +2755,7 @@ static void output_special_char(struct issue *ie,
break;
}
default:
- putchar(c);
+ putc(c, ie->output);
break;
}
}
--
2.17.1

View File

@@ -0,0 +1,86 @@
From 34fed3ff1740aded9c2aae6b5d67a4eb696f738e Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 9 Jan 2020 11:03:51 +0100
Subject: [PATCH] blkdiscard: use O_EXCL, add --force
Let's make it more robust and safe. O_EXCL is an elegant way how to avoid
unwanted discard on mounted device.
Addresses: https://github.com/karelzak/util-linux/issues/915
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
sys-utils/blkdiscard.8 | 5 +++++
sys-utils/blkdiscard.c | 11 ++++++++---
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/sys-utils/blkdiscard.8 b/sys-utils/blkdiscard.8
index 1f3a32be9..98c6f36a9 100644
--- a/sys-utils/blkdiscard.8
+++ b/sys-utils/blkdiscard.8
@@ -36,6 +36,11 @@ MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is
optional, e.g., "K" has the same meaning as "KiB") or the suffixes
KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.
.TP
+.BR \-f , " \-\-force"
+Disable all checking. Since v2.36 the block device is open in exclusive mode (O_EXCL)
+by default to avoid collision with mounted filesystem or another kernel subsystem.
+The force option disables the exclusive access mode.
+.TP
.BR \-o , " \-\-offset \fIoffset"
Byte offset into the device from which to start discarding. The provided value
will be aligned to the device sector size. The default value is zero.
diff --git a/sys-utils/blkdiscard.c b/sys-utils/blkdiscard.c
index f9ba5e468..589974f9c 100644
--- a/sys-utils/blkdiscard.c
+++ b/sys-utils/blkdiscard.c
@@ -88,6 +88,7 @@ static void __attribute__((__noreturn__)) usage(void)
fputs(_("Discard the content of sectors on a device.\n"), out);
fputs(USAGE_OPTIONS, out);
+ fputs(_(" -f, --force disable all checking\n"), out);
fputs(_(" -o, --offset <num> offset in bytes to discard from\n"), out);
fputs(_(" -l, --length <num> length of bytes to discard from the offset\n"), out);
fputs(_(" -p, --step <num> size of the discard iterations within the offset\n"), out);
@@ -106,7 +107,7 @@ static void __attribute__((__noreturn__)) usage(void)
int main(int argc, char **argv)
{
char *path;
- int c, fd, verbose = 0, secsize;
+ int c, fd, verbose = 0, secsize, force = 0;
uint64_t end, blksize, step, range[2], stats[2];
struct stat sb;
struct timeval now, last;
@@ -116,6 +117,7 @@ int main(int argc, char **argv)
{ "help", no_argument, NULL, 'h' },
{ "version", no_argument, NULL, 'V' },
{ "offset", required_argument, NULL, 'o' },
+ { "force", no_argument, NULL, 'f' },
{ "length", required_argument, NULL, 'l' },
{ "step", required_argument, NULL, 'p' },
{ "secure", no_argument, NULL, 's' },
@@ -133,8 +135,11 @@ int main(int argc, char **argv)
range[1] = ULLONG_MAX;
step = 0;
- while ((c = getopt_long(argc, argv, "hVsvo:l:p:z", longopts, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "hfVsvo:l:p:z", longopts, NULL)) != -1) {
switch(c) {
+ case 'f':
+ force = 1;
+ break;
case 'l':
range[1] = strtosize_or_err(optarg,
_("failed to parse length"));
@@ -176,7 +181,7 @@ int main(int argc, char **argv)
errtryhelp(EXIT_FAILURE);
}
- fd = open(path, O_WRONLY);
+ fd = open(path, O_WRONLY | (force ? 0 : O_EXCL));
if (fd < 0)
err(EXIT_FAILURE, _("cannot open %s"), path);
--
2.18.2

View File

@@ -1,84 +0,0 @@
From 3fa06e049012218d883d0e1251df86bafbc446bf Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 22 Nov 2018 11:03:35 +0100
Subject: [PATCH] setarch: fix obscure sparc32bash use-case
Reported-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Carlos Santos <casantos@datacom.com.br>
---
sys-utils/setarch.c | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c
index a733f7b3c..7c0a63fbb 100644
--- a/sys-utils/setarch.c
+++ b/sys-utils/setarch.c
@@ -268,6 +268,7 @@ int main(int argc, char *argv[])
int c;
struct arch_domain *doms, *target;
unsigned long pers_value = 0;
+ char *shell = NULL, *shell_arg = NULL;
/* Options without equivalent short options */
enum {
@@ -310,14 +311,14 @@ int main(int argc, char *argv[])
archwrapper = strcmp(program_invocation_short_name, "setarch") != 0;
if (archwrapper) {
arch = program_invocation_short_name; /* symlinks to setarch */
-#if defined(__sparc64__) || defined(__sparc__)
+
+ /* Don't use ifdef sparc here, we get "Unrecognized architecture"
+ * error message later if necessary */
if (strcmp(arch, "sparc32bash") == 0) {
- if (set_arch(arch, 0L, 0))
- err(EXIT_FAILURE, _("Failed to set personality to %s"), arch);
- execl("/bin/bash", "", NULL);
- errexec("/bin/bash");
+ shell = "/bin/bash";
+ shell_arg = "";
+ goto set_arch;
}
-#endif
} else {
if (1 < argc && *argv[1] != '-') {
arch = argv[1];
@@ -391,6 +392,7 @@ int main(int argc, char *argv[])
argc -= optind;
argv += optind;
+set_arch:
/* get execution domain (architecture) */
if (arch) {
doms = init_arch_domains();
@@ -422,17 +424,23 @@ int main(int argc, char *argv[])
if (arch)
verify_arch_domain(target, arch);
+ if (!argc) {
+ shell = "/bin/sh";
+ shell_arg = "-sh";
+ }
if (verbose) {
- printf(_("Execute command `%s'.\n"), argc ? argv[0] : "/bin/sh");
+ printf(_("Execute command `%s'.\n"), shell ? shell : argv[0]);
/* flush all output streams before exec */
fflush(NULL);
}
- if (!argc) {
- execl("/bin/sh", "-sh", NULL);
- errexec("/bin/sh");
+ /* Execute shell */
+ if (shell) {
+ execl(shell, shell_arg, NULL);
+ errexec(shell);
}
+ /* Execute on command line specified command */
execvp(argv[0], argv);
errexec(argv[0]);
}
--
2.14.5

View File

@@ -0,0 +1,195 @@
From e5f31446166de7212213c62a019945afb8e197ef Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 14 Jan 2020 11:43:24 +0100
Subject: [PATCH] libfdisk: add fdisk_set_disklabel_id_from_string()
We have fdisk_set_disklabel_id(), but it's old ask-API based function.
It's not comfortable if you want to avoid dialog or template.
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>
---
libfdisk/docs/libfdisk-sections.txt | 1 +
libfdisk/src/dos.c | 29 ++++++++++++++++++-----------
libfdisk/src/fdiskP.h | 2 +-
libfdisk/src/gpt.c | 18 ++++++++++--------
libfdisk/src/label.c | 19 ++++++++++++++++++-
libfdisk/src/libfdisk.h.in | 1 +
libfdisk/src/libfdisk.sym | 3 +++
7 files changed, 52 insertions(+), 21 deletions(-)
diff --git a/libfdisk/docs/libfdisk-sections.txt b/libfdisk/docs/libfdisk-sections.txt
index f148da527..6675c1100 100644
--- a/libfdisk/docs/libfdisk-sections.txt
+++ b/libfdisk/docs/libfdisk-sections.txt
@@ -81,6 +81,7 @@ fdisk_list_disklabel
fdisk_locate_disklabel
fdisk_reorder_partitions
fdisk_set_disklabel_id
+fdisk_set_disklabel_id_from_string
fdisk_set_partition_type
fdisk_toggle_partition_flag
fdisk_verify_disklabel
diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c
index 53713ec5f..98314dfa6 100644
--- a/libfdisk/src/dos.c
+++ b/libfdisk/src/dos.c
@@ -707,12 +707,12 @@ static int dos_create_disklabel(struct fdisk_context *cxt)
return 0;
}
-static int dos_set_disklabel_id(struct fdisk_context *cxt)
+static int dos_set_disklabel_id(struct fdisk_context *cxt, const char *str)
{
- char *end = NULL, *str = NULL;
+ char *str0 = str;
unsigned int id, old;
struct fdisk_dos_label *l;
- int rc;
+ int rc = 0;
assert(cxt);
assert(cxt->label);
@@ -722,18 +722,25 @@ static int dos_set_disklabel_id(struct fdisk_context *cxt)
l = self_label(cxt);
old = mbr_get_id(cxt->firstsector);
- rc = fdisk_ask_string(cxt,
+
+ if (!str)
+ rc = fdisk_ask_string(cxt,
_("Enter the new disk identifier"), &str);
- if (rc)
- return rc;
+ if (!rc) {
+ char *end = NULL;
- errno = 0;
- id = strtoul(str, &end, 0);
- if (errno || str == end || (end && *end)) {
- fdisk_warnx(cxt, _("Incorrect value."));
- return -EINVAL;
+ errno = 0;
+ id = strtoul(str, &end, 0);
+ if (errno || str == end || (end && *end)) {
+ fdisk_warnx(cxt, _("Incorrect value."));
+ rc = -EINVAL;
+ }
}
+ if (!str0)
+ free(str);
+ if (rc)
+ return -EINVAL;
mbr_set_id(cxt->firstsector, id);
l->non_pt_changed = 1;
diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h
index fefebae2a..0487466e3 100644
--- a/libfdisk/src/fdiskP.h
+++ b/libfdisk/src/fdiskP.h
@@ -220,7 +220,7 @@ struct fdisk_label_operations {
/* get details from label */
int (*get_item)(struct fdisk_context *cxt, struct fdisk_labelitem *item);
/* set disk label ID */
- int (*set_id)(struct fdisk_context *cxt);
+ int (*set_id)(struct fdisk_context *cxt, const char *str);
/* new partition */
diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c
index f50bb4441..9608053a2 100644
--- a/libfdisk/src/gpt.c
+++ b/libfdisk/src/gpt.c
@@ -2502,11 +2502,11 @@ done:
return rc;
}
-static int gpt_set_disklabel_id(struct fdisk_context *cxt)
+static int gpt_set_disklabel_id(struct fdisk_context *cxt, const char *str)
{
struct fdisk_gpt_label *gpt;
struct gpt_guid uuid;
- char *str, *old, *new;
+ char *old, *new;
int rc;
assert(cxt);
@@ -2514,12 +2514,14 @@ static int gpt_set_disklabel_id(struct fdisk_context *cxt)
assert(fdisk_is_label(cxt, GPT));
gpt = self_label(cxt);
- if (fdisk_ask_string(cxt,
- _("Enter new disk UUID (in 8-4-4-4-12 format)"), &str))
- return -EINVAL;
-
- rc = string_to_guid(str, &uuid);
- free(str);
+ if (!str) {
+ if (fdisk_ask_string(cxt,
+ _("Enter new disk UUID (in 8-4-4-4-12 format)"), &str))
+ return -EINVAL;
+ rc = string_to_guid(str, &uuid);
+ free(str);
+ } else
+ rc = string_to_guid(str, &uuid);
if (rc) {
fdisk_warnx(cxt, _("Failed to parse your UUID."));
diff --git a/libfdisk/src/label.c b/libfdisk/src/label.c
index a18cdeaff..fd4555de2 100644
--- a/libfdisk/src/label.c
+++ b/libfdisk/src/label.c
@@ -481,7 +481,24 @@ int fdisk_set_disklabel_id(struct fdisk_context *cxt)
return -ENOSYS;
DBG(CXT, ul_debugobj(cxt, "setting %s disk ID", cxt->label->name));
- return cxt->label->op->set_id(cxt);
+ return cxt->label->op->set_id(cxt, NULL);
+}
+
+/**
+ * fdisk_set_disklabel_id_from_string
+ * @cxt: fdisk context
+ *
+ * Returns: 0 on success, otherwise, a corresponding error.
+ */
+int fdisk_set_disklabel_id_from_string(struct fdisk_context *cxt, const char *str)
+{
+ if (!cxt || !cxt->label || !str)
+ return -EINVAL;
+ if (!cxt->label->op->set_id)
+ return -ENOSYS;
+
+ DBG(CXT, ul_debugobj(cxt, "setting %s disk ID from '%s'", cxt->label->name, str));
+ return cxt->label->op->set_id(cxt, str);
}
/**
diff --git a/libfdisk/src/libfdisk.h.in b/libfdisk/src/libfdisk.h.in
index 0669c0a7c..2ba34dc0a 100644
--- a/libfdisk/src/libfdisk.h.in
+++ b/libfdisk/src/libfdisk.h.in
@@ -399,6 +399,7 @@ extern int fdisk_get_disklabel_item(struct fdisk_context *cxt, int id, struct fd
extern int fdisk_get_disklabel_id(struct fdisk_context *cxt, char **id);
extern int fdisk_set_disklabel_id(struct fdisk_context *cxt);
+extern int fdisk_set_disklabel_id_from_string(struct fdisk_context *cxt, const char *str);
extern int fdisk_get_partition(struct fdisk_context *cxt, size_t partno, struct fdisk_partition **pa);
extern int fdisk_set_partition(struct fdisk_context *cxt, size_t partno, struct fdisk_partition *pa);
diff --git a/libfdisk/src/libfdisk.sym b/libfdisk/src/libfdisk.sym
index 96fcadd71..eee2d6bda 100644
--- a/libfdisk/src/libfdisk.sym
+++ b/libfdisk/src/libfdisk.sym
@@ -308,3 +308,6 @@ FDISK_2.35 {
fdisk_script_set_table;
fdisk_assign_device_by_fd;
} FDISK_2.33;
+FDISK_2.36 {
+ fdisk_set_disklabel_id_from_string;
+} FDISK_2.35;
--
2.18.2

View File

@@ -0,0 +1,139 @@
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

View File

@@ -0,0 +1,62 @@
From 3cfde0370d3a8949df0c5bcf447cec6692910ed2 Mon Sep 17 00:00:00 2001
From: Sami Kerola <kerolasa@iki.fi>
Date: Sat, 15 Feb 2020 21:12:50 +0000
Subject: [PATCH] kill: include sys/types.h before checking
SYS_pidfd_send_signal
Including sys/types.h must happen before SYS_pidfd_send_signal is checked,
because that header defines variable in normal conditions. When sys/types.h
does not have SYS_pidfd_send_signal then fallback is defined in config.h
that is included by default, and has therefore worked fine before and after
this change.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
include/pidfd-utils.h | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/include/pidfd-utils.h b/include/pidfd-utils.h
index 593346576..0baedd2c9 100644
--- a/include/pidfd-utils.h
+++ b/include/pidfd-utils.h
@@ -1,26 +1,28 @@
#ifndef UTIL_LINUX_PIDFD_UTILS
#define UTIL_LINUX_PIDFD_UTILS
-#if defined(__linux__) && defined(SYS_pidfd_send_signal)
-# include <sys/types.h>
+#if defined(__linux__)
# include <sys/syscall.h>
+# if defined(SYS_pidfd_send_signal)
+# include <sys/types.h>
-# ifndef HAVE_PIDFD_OPEN
+# ifndef HAVE_PIDFD_OPEN
static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
unsigned int flags)
{
return syscall(SYS_pidfd_send_signal, pidfd, sig, info, flags);
}
-# endif
+# endif
-# ifndef HAVE_PIDFD_SEND_SIGNAL
+# ifndef HAVE_PIDFD_SEND_SIGNAL
static inline int pidfd_open(pid_t pid, unsigned int flags)
{
return syscall(SYS_pidfd_open, pid, flags);
}
-# endif
+# endif
-# define UL_HAVE_PIDFD 1
+# define UL_HAVE_PIDFD 1
-#endif /* __linux__ && SYS_pidfd_send_signal */
+# endif /* SYS_pidfd_send_signal */
+#endif /* __linux__ */
#endif /* UTIL_LINUX_PIDFD_UTILS */
--
2.18.2

View File

@@ -0,0 +1,40 @@
From 0a4035ff2e4fd5b5ae0cf8f8665696c2aff53b75 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 10 Mar 2020 11:43:16 +0100
Subject: [PATCH] include: cleanup pidfd inckudes
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
include/pidfd-utils.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/pidfd-utils.h b/include/pidfd-utils.h
index 0baedd2c9..4a6c3a604 100644
--- a/include/pidfd-utils.h
+++ b/include/pidfd-utils.h
@@ -3,10 +3,10 @@
#if defined(__linux__)
# include <sys/syscall.h>
-# if defined(SYS_pidfd_send_signal)
+# if defined(SYS_pidfd_send_signal) && defined(SYS_pidfd_open)
# include <sys/types.h>
-# ifndef HAVE_PIDFD_OPEN
+# ifndef HAVE_PIDFD_SEND_SIGNAL
static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
unsigned int flags)
{
@@ -14,7 +14,7 @@ static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
}
# endif
-# ifndef HAVE_PIDFD_SEND_SIGNAL
+# ifndef HAVE_PIDFD_OPEN
static inline int pidfd_open(pid_t pid, unsigned int flags)
{
return syscall(SYS_pidfd_open, pid, flags);
--
2.18.2

View File

@@ -12,7 +12,6 @@ if BR2_PACKAGE_UTIL_LINUX
config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
bool "libblkid"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Install libblkid.
@@ -58,9 +57,9 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES
flock, fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize,
ldattach, look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie,
mkfs, mkswap, namei, prlimit, readprofile, renice, rev,
rtcwake, script, scriptreplay, setarch, setsid, sfdisk,
swaplabel, swapoff, swapon, uuidgen, uuidparse, whereis,
wipefs
rtcwake, script, scriptlive, scriptreplay, setarch, setsid,
sfdisk, swaplabel, swapoff, swapon, uuidgen, uuidparse,
whereis, wipefs
The setarch utility also installs architecture-specific
symlinks like linux32, linux64, uname26, i386 and x86_64.
@@ -135,6 +134,11 @@ config BR2_PACKAGE_UTIL_LINUX_FSCK
help
Check and repair a linux filesystem
config BR2_PACKAGE_UTIL_LINUX_HARDLINK
bool "hardlink"
help
Consolidate duplicate files via hardlinks
config BR2_PACKAGE_UTIL_LINUX_HWCLOCK
bool "hwclock"
help
@@ -213,6 +217,7 @@ config BR2_PACKAGE_UTIL_LINUX_MESG
config BR2_PACKAGE_UTIL_LINUX_MINIX
bool "minix"
depends on BR2_USE_MMU # fork()
help
Minix filesystem support
@@ -402,6 +407,18 @@ config BR2_PACKAGE_UTIL_LINUX_WALL
help
Send a message to everybody's terminal
config BR2_PACKAGE_UTIL_LINUX_WIPEFS
bool "wipefs"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
help
wipefs can erase filesystem, raid or partition-table
signatures (magic strings) from the specified device
to make the signatures invisible for libblkid. wipefs
does not erase the filesystem itself nor any other data
from the device.
config BR2_PACKAGE_UTIL_LINUX_WDCTL
bool "wdctl"
depends on BR2_USE_MMU # libsmartcols

View File

@@ -7,9 +7,9 @@ account required pam_unix.so
password required pam_unix.so nullok
# session required pam_selinux.so close
session required pam_selinux.so close
session required pam_limits.so
session required pam_env.so
session required pam_unix.so
session optional pam_lastlog.so
# session required pam_selinux.so open
session required pam_selinux.so open

View File

@@ -1,7 +1,7 @@
# From https://www.kernel.org/pub/linux/utils/util-linux/v2.33/sha256sums.asc
sha256 f261b9d73c35bfeeea04d26941ac47ee1df937bd3b0583e748217c1ea423658a util-linux-2.33.tar.xz
# From https://www.kernel.org/pub/linux/utils/util-linux/v2.35/sha256sums.asc
sha256 d9de3edd287366cd908e77677514b9387b22bc7b88f45b83e1922c3597f1d7f9 util-linux-2.35.1.tar.xz
# License files, locally calculated
sha256 4335620e8f478ee4dc4d26540448d39469091ef1d8e3fbbbb8bf753206ceac74 README.licensing
sha256 869660b5269f4f40a8a679da7f403ea3a6e71d46087aab5e14871b09bcb55955 README.licensing
sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause
sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.BSD-4-Clause-UC
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPL-2.0-or-later

View File

@@ -4,13 +4,15 @@
#
################################################################################
UTIL_LINUX_VERSION_MAJOR = 2.33
UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR)
UTIL_LINUX_VERSION_MAJOR = 2.35
UTIL_LINUX_VERSION_MINOR = 1
UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).$(UTIL_LINUX_VERSION_MINOR)
UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz
UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR)
# README.licensing claims that some files are GPL-2.0 only, but this is not true.
# Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license.
# README.licensing claims that some files are GPL-2.0 only, but this is not
# true. Some files are GPL-3.0+ but only in tests and optionally in hwclock
# (but we disable that option). rfkill uses an ISC-style license.
UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid), ISC (rfkill)
UTIL_LINUX_LICENSE_FILES = README.licensing \
Documentation/licenses/COPYING.BSD-3-Clause \
@@ -18,11 +20,13 @@ UTIL_LINUX_LICENSE_FILES = README.licensing \
Documentation/licenses/COPYING.GPL-2.0-or-later \
Documentation/licenses/COPYING.ISC \
Documentation/licenses/COPYING.LGPL-2.1-or-later
UTIL_LINUX_INSTALL_STAGING = YES
UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES)
UTIL_LINUX_CONF_OPTS += \
--disable-rpath \
--disable-makeinstall-chown
UTIL_LINUX_LIBS = $(TARGET_NLS_LIBS)
# system depends on util-linux so we enable systemd support
@@ -34,7 +38,10 @@ UTIL_LINUX_CONF_OPTS += \
HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf
# We also don't want the host-python dependency
HOST_UTIL_LINUX_CONF_OPTS = --without-python
HOST_UTIL_LINUX_CONF_OPTS = \
--without-systemd \
--with-systemdsystemunitdir=no \
--without-python
# Prevent the installation from attempting to move shared libraries from
# ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are
@@ -75,14 +82,14 @@ UTIL_LINUX_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS)"
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
UTIL_LINUX_DEPENDENCIES += libselinux
UTIL_LINUX_CONF_OPTS += --with-selinux
else
UTIL_LINUX_CONF_OPTS += --without-selinux
define UTIL_LINUX_SELINUX_PAMFILES_TWEAK
$(foreach f,su su-l,
$(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \
$(SED) '/^.*pam_selinux.so.*$$/d' \
$(TARGET_DIR)/etc/pam.d/$(f)
)
endef
else
UTIL_LINUX_CONF_OPTS += --without-selinux
endif
# Used by cramfs utils
@@ -91,6 +98,9 @@ UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_ZLIB),zlib)
# Used by login-utils
UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
# Used by hardlink
UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_PCRE2),pcre2)
# Disable/Enable utilities
UTIL_LINUX_CONF_OPTS += \
$(if $(BR2_PACKAGE_UTIL_LINUX_BINARIES),--enable-all-programs,--disable-all-programs) \
@@ -104,7 +114,8 @@ UTIL_LINUX_CONF_OPTS += \
$(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
$(if $(BR2_PACKAGE_UTIL_LINUX_FDFORMAT),--enable-fdformat,--disable-fdformat) \
$(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
$(if $(BR2_PACKAGE_UTIL_LINUX_HWCLOCK),--enable-hwclock,--disable-hwclock) \
$(if $(BR2_PACKAGE_UTIL_LINUX_HARDLINK),--enable-hardlink,--disable-hardlink) \
$(if $(BR2_PACKAGE_UTIL_LINUX_HWCLOCK),--enable-hwclock --disable-hwclock-gplv3,--disable-hwclock) \
$(if $(BR2_PACKAGE_UTIL_LINUX_IPCRM),--enable-ipcrm,--disable-ipcrm) \
$(if $(BR2_PACKAGE_UTIL_LINUX_IPCS),--enable-ipcs,--disable-ipcs) \
$(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
@@ -149,6 +160,7 @@ UTIL_LINUX_CONF_OPTS += \
$(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
$(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
$(if $(BR2_PACKAGE_UTIL_LINUX_WDCTL),--enable-wdctl,--disable-wdctl) \
$(if $(BR2_PACKAGE_UTIL_LINUX_WIPEFS),--enable-wipefs,--disable-wipefs) \
$(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write) \
$(if $(BR2_PACKAGE_UTIL_LINUX_ZRAMCTL),--enable-zramctl,--disable-zramctl)