diff --git a/0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch b/0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch new file mode 100644 index 0000000..7145b60 --- /dev/null +++ b/0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch @@ -0,0 +1,49 @@ +From 954d8ba95e49e499edc6a04889310897ac2ac970 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] 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 --git a/libenv/sysinfo.c b/libenv/sysinfo.c +index 6f2a05fc4cdd..8e0df350d670 100644 +--- a/libenv/sysinfo.c ++++ b/libenv/sysinfo.c +@@ -530,8 +530,7 @@ static void GetNameInfo3(EvalContext *ctx) + 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"); +@@ -575,7 +574,7 @@ static void GetNameInfo3(EvalContext *ctx) + 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; +@@ -598,7 +597,7 @@ static void GetNameInfo3(EvalContext *ctx) + 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 + diff --git a/cfengine.changes b/cfengine.changes index 0f0949f..f5318a6 100644 --- a/cfengine.changes +++ b/cfengine.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri May 2 11:52:01 UTC 2014 - kkaempf@suse.com + +- Set sys.bindir to /usr/sbin, expect cf-* components there + Add 0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch + ------------------------------------------------------------------- Fri Apr 11 07:32:08 UTC 2014 - kkaempf@suse.com diff --git a/cfengine.spec b/cfengine.spec index f3a34bb..c3c5d28 100644 --- a/cfengine.spec +++ b/cfengine.spec @@ -72,8 +72,14 @@ Patch3: drop-revision.patch # PATCH-FIX-UPSTREAM add 'suse' class for consistency with other vendor classes # PATCH-FEATURE-UPSTREAM better /etc/SuSE-release parsing, upstream #5423 +# kkaempf@suse.de Patch5: 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch +# PATCH-FIX-SUSE +# set cfengine's notion of bindir to /usr/sbin instead of /var/cfengine/bin +# kkaempf@suse.de +Patch6: 0001-Set-sys.bindir-to-usr-sbin-expect-cf-components-ther.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bison BuildRequires: db-devel @@ -186,6 +192,7 @@ Lots of examples promises for CFEngine. %endif %patch3 -p1 %patch5 -p1 +%patch6 -p1 ##### rpmlint #### wrong-file-end-of-line-encoding