machine-id-setup: use path_kill_slashes and modernizations

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2014-03-14 08:43:21 -04:00
parent cb44f25c12
commit fe970a8a30
3 changed files with 12 additions and 11 deletions

View file

@ -97,11 +97,12 @@
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term><option>--root=ROOT</option></term> <term><option>--root=<replaceable>root</replaceable></option></term>
<listitem><para>Takes a directory path <listitem><para>Takes a directory path
as an argument. All paths will be as an argument. All paths will be
prefixed with the given alternate ROOT prefixed with the given alternate
path, including config search paths. <replaceable>root</replaceable> path,
including config search paths.
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<xi:include href="standard-options.xml" xpointer="help" /> <xi:include href="standard-options.xml" xpointer="help" />

View file

@ -36,6 +36,7 @@
#include "log.h" #include "log.h"
#include "virt.h" #include "virt.h"
#include "fileio.h" #include "fileio.h"
#include "path-util.h"
static int shorten_uuid(char destination[36], const char *source) { static int shorten_uuid(char destination[36], const char *source) {
unsigned i, j; unsigned i, j;
@ -160,14 +161,13 @@ int machine_id_setup(const char *root) {
bool writable = false; bool writable = false;
struct stat st; struct stat st;
char id[34]; /* 32 + \n + \0 */ char id[34]; /* 32 + \n + \0 */
_cleanup_free_ char *etc_machine_id = NULL; char *etc_machine_id, *run_machine_id;
_cleanup_free_ char *run_machine_id = NULL;
if (asprintf(&etc_machine_id, "%s/etc/machine-id", root) < 0) etc_machine_id = strappenda(root, "/etc/machine-id");
return log_oom(); path_kill_slashes(etc_machine_id);
if (asprintf(&run_machine_id, "%s/run/machine-id", root) < 0) run_machine_id = strappenda(root, "/run/machine-id");
return log_oom(); path_kill_slashes(run_machine_id);
RUN_WITH_UMASK(0000) { RUN_WITH_UMASK(0000) {
/* We create this 0444, to indicate that this isn't really /* We create this 0444, to indicate that this isn't really

View file

@ -37,7 +37,7 @@ static int help(void) {
"Initialize /etc/machine-id from a random source.\n\n" "Initialize /etc/machine-id from a random source.\n\n"
" -h --help Show this help\n" " -h --help Show this help\n"
" --version Show package version\n" " --version Show package version\n"
" --root Filesystem root\n", " --root=ROOT Filesystem root\n",
program_invocation_short_name); program_invocation_short_name);
return 0; return 0;
@ -87,7 +87,7 @@ static int parse_argv(int argc, char *argv[]) {
} }
if (optind < argc) { if (optind < argc) {
help(); log_error("Extraneous arguments");
return -EINVAL; return -EINVAL;
} }