summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2016-04-11 21:03:29 +0200
committerMartin Pitt <martin.pitt@ubuntu.com>2016-04-11 21:03:29 +0200
commit3de1521427dee61000c1c124a521182b301a50de (patch)
treee89679e3f2c8968fa8e7ab4ba35b490eab635a10 /src/shared
parent2270dfb852eacd984fb49ce6bc83a38fe652a063 (diff)
Install: correctly report symlink creations
All callers of create_symlink(), such as install_info_symlink_wants(), expect that to return > 0 if it actually did something, and then return that number. unit_file_enable() uses that to determine if any action was done (carries_install_info != 0) and if not, show a "The unit files have no [Install] section" warning. Return 1 instead of 0 in the two code paths of create_symlink() when the link was created or replaced with a new value. This fixes getting a bogus "No [Install] section" warning when enabling a unit with full path, like "systemctl enable /some/path/myunit.service".
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/install.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/shared/install.c b/src/shared/install.c
index ef8f485cae..0f08137f19 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -294,7 +294,7 @@ static int create_symlink(
if (symlink(old_path, new_path) >= 0) {
unit_file_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
- return 0;
+ return 1;
}
if (errno != EEXIST)
@@ -317,7 +317,7 @@ static int create_symlink(
unit_file_changes_add(changes, n_changes, UNIT_FILE_UNLINK, new_path, NULL);
unit_file_changes_add(changes, n_changes, UNIT_FILE_SYMLINK, new_path, old_path);
- return 0;
+ return 1;
}
static int mark_symlink_for_removal(