<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" />
#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;
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
"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;
}
if (optind < argc) {
- help();
+ log_error("Extraneous arguments");
return -EINVAL;
}