From 7b0a005250c0398b86ea5adf93c16b5c8735a343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= Date: Fri, 2 May 2014 12:47:37 +0200 Subject: [PATCH 2/2] Set sys.bindir to /usr/sbin, expect cf-* components there That's where the /var/cfengine/bin/* symlinks point to and where the systemd .service files expect the daemons. This path is used in 'processes' of masterfiles/update/update_processes.cf:enable_cfengine_agents --- libenv/sysinfo.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs ../orig-core-3.6.3rc-build1/libenv/sysinfo.c ./libenv/sysinfo.c --- ../orig-core-3.6.3rc-build1/libenv/sysinfo.c 2014-11-27 20:17:34.000000000 +0100 +++ ./libenv/sysinfo.c 2014-11-28 10:18:49.023646654 +0100 @@ -567,8 +567,7 @@ EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "masterdir", GetMasterDir(), CF_DATA_TYPE_STRING, "source=agent"); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "inputdir", GetInputDir(), CF_DATA_TYPE_STRING, "source=agent"); - snprintf(workbuf, CF_BUFSIZE, "%s%cbin", CFWORKDIR, FILE_SEPARATOR); - EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "bindir", workbuf, CF_DATA_TYPE_STRING, "source=agent"); + EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "bindir", "/usr/sbin", CF_DATA_TYPE_STRING, "source=agent"); snprintf(workbuf, CF_BUFSIZE, "%s%cfailsafe.cf", GetInputDir(), FILE_SEPARATOR); EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_SYS, "failsafe_policy_path", workbuf, CF_DATA_TYPE_STRING, "source=agent"); @@ -613,7 +612,7 @@ components[i]); } #else - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, components[i]); + snprintf(name, CF_MAXVARSIZE - 1, "/usr/sbin/%s", components[i]); #endif have_component[i] = false; @@ -636,7 +635,7 @@ snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s.exe", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, components[1]); #else - snprintf(name, CF_MAXVARSIZE - 1, "%s%cbin%c%s", CFWORKDIR, FILE_SEPARATOR, FILE_SEPARATOR, components[1]); + snprintf(name, CF_MAXVARSIZE - 1, "/usr/sbin/%s", components[1]); #endif if (stat(name, &sb) != -1) -- 1.8.4.5