#include "unit-name.h"
#include "path-util.h"
+/*
+ * Implements the logic described in
+ * http://freedesktop.org/wiki/Software/systemd/SystemUpdates
+ */
+
static const char *arg_dest = "/tmp";
static int generate_symlink(void) {
}
p = strappend(arg_dest, "/default.target");
- if (!p) {
- log_error("Out of memory.");
- return -ENOMEM;
- }
+ if (!p)
+ return log_oom();
if (symlink(SYSTEM_DATA_UNIT_PATH "/system-update.target", p) < 0) {
free(p);
int main(int argc, char *argv[]) {
int r;
- if (argc > 2) {
- log_error("This program takes one or no arguments.");
+ if (argc > 1 && argc != 4) {
+ log_error("This program takes three or no arguments.");
return EXIT_FAILURE;
}
if (argc > 1)
- arg_dest = argv[1];
+ arg_dest = argv[2];
- log_set_target(LOG_TARGET_AUTO);
+ log_set_target(LOG_TARGET_SAFE);
log_parse_environment();
log_open();