summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/systemd-machine-id-setup.xml7
-rw-r--r--src/core/machine-id-setup.c12
-rw-r--r--src/machine-id-setup/machine-id-setup-main.c4
3 files changed, 12 insertions, 11 deletions
diff --git a/man/systemd-machine-id-setup.xml b/man/systemd-machine-id-setup.xml
index b879b40b99..62630fbcab 100644
--- a/man/systemd-machine-id-setup.xml
+++ b/man/systemd-machine-id-setup.xml
@@ -97,11 +97,12 @@
<variablelist>
<varlistentry>
- <term><option>--root=ROOT</option></term>
+ <term><option>--root=<replaceable>root</replaceable></option></term>
<listitem><para>Takes a directory path
as an argument. All paths will be
- prefixed with the given alternate ROOT
- path, including config search paths.
+ prefixed with the given alternate
+ <replaceable>root</replaceable> path,
+ including config search paths.
</para></listitem>
</varlistentry>
<xi:include href="standard-options.xml" xpointer="help" />
diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
index f3b1b318e1..43720d6289 100644
--- a/src/core/machine-id-setup.c
+++ b/src/core/machine-id-setup.c
@@ -36,6 +36,7 @@
#include "log.h"
#include "virt.h"
#include "fileio.h"
+#include "path-util.h"
static int shorten_uuid(char destination[36], const char *source) {
unsigned i, j;
@@ -160,14 +161,13 @@ int machine_id_setup(const char *root) {
bool writable = false;
struct stat st;
char id[34]; /* 32 + \n + \0 */
- _cleanup_free_ char *etc_machine_id = NULL;
- _cleanup_free_ char *run_machine_id = NULL;
+ char *etc_machine_id, *run_machine_id;
- if (asprintf(&etc_machine_id, "%s/etc/machine-id", root) < 0)
- return log_oom();
+ etc_machine_id = strappenda(root, "/etc/machine-id");
+ path_kill_slashes(etc_machine_id);
- if (asprintf(&run_machine_id, "%s/run/machine-id", root) < 0)
- return log_oom();
+ run_machine_id = strappenda(root, "/run/machine-id");
+ path_kill_slashes(run_machine_id);
RUN_WITH_UMASK(0000) {
/* We create this 0444, to indicate that this isn't really
diff --git a/src/machine-id-setup/machine-id-setup-main.c b/src/machine-id-setup/machine-id-setup-main.c
index a67d436dbd..1c933ce600 100644
--- a/src/machine-id-setup/machine-id-setup-main.c
+++ b/src/machine-id-setup/machine-id-setup-main.c
@@ -37,7 +37,7 @@ static int help(void) {
"Initialize /etc/machine-id from a random source.\n\n"
" -h --help Show this help\n"
" --version Show package version\n"
- " --root Filesystem root\n",
+ " --root=ROOT Filesystem root\n",
program_invocation_short_name);
return 0;
@@ -87,7 +87,7 @@ static int parse_argv(int argc, char *argv[]) {
}
if (optind < argc) {
- help();
+ log_error("Extraneous arguments");
return -EINVAL;
}