system-update-generator: accept a dangling symlink
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 26 Jan 2015 06:34:32 +0000 (07:34 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 27 Jan 2015 00:29:02 +0000 (01:29 +0100)
The offline update mechanism is explicitly designed to work with a
separate /var. systemd-update-generator is supposed to run early,
before filesystems are mounted, so it cannot check if the
/system-update symlink actually points to anything.

The update is run *after* filesystems are mounted, so it should be
able to access the target of the symlink without trouble.

https://bugzilla.redhat.com/show_bug.cgi?id=1178978

src/system-update-generator/system-update-generator.c

index 464ee22..455a841 100644 (file)
@@ -37,7 +37,7 @@ static const char *arg_dest = "/tmp";
 static int generate_symlink(void) {
         const char *p = NULL;
 
-        if (access("/system-update", F_OK) < 0) {
+        if (laccess("/system-update", F_OK) < 0) {
                 if (errno == ENOENT)
                         return 0;