packages: syslog-ng/syslog-ng.spec, syslog-ng/cap_syslog-vserver-workaround...
arekm
arekm at pld-linux.org
Sat Sep 10 19:28:20 CEST 2011
Author: arekm Date: Sat Sep 10 17:28:20 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- rel 3; some earlier vserver patches used the same capability number as CAP_SYSLOG uses now. syslog-ng was thus thinking it had CAP_SYSLOG while in reality it got CAP_some_vserver capability. Try to workaround this by checking kernel version.
---- Files affected:
packages/syslog-ng:
syslog-ng.spec (1.215 -> 1.216) , cap_syslog-vserver-workaround.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/syslog-ng/syslog-ng.spec
diff -u packages/syslog-ng/syslog-ng.spec:1.215 packages/syslog-ng/syslog-ng.spec:1.216
--- packages/syslog-ng/syslog-ng.spec:1.215 Sun Aug 14 02:59:20 2011
+++ packages/syslog-ng/syslog-ng.spec Sat Sep 10 19:28:15 2011
@@ -23,7 +23,7 @@
Summary(pt_BR.UTF-8): Daemon de log nova geração
Name: syslog-ng
Version: 3.2.4
-Release: 3
+Release: 4
License: GPL v2
Group: Daemons
Source0: http://www.balabit.com/downloads/files/syslog-ng/sources/%{version}/source/%{name}_%{version}.tar.gz
@@ -37,6 +37,7 @@
Source6: %{name}.upstart
Patch0: %{name}-datadir.patch
Patch1: cap_syslog.patch
+Patch2: cap_syslog-vserver-workaround.patch
URL: http://www.balabit.com/products/syslog_ng/
BuildRequires: autoconf >= 2.53
BuildRequires: automake
@@ -140,6 +141,7 @@
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
cp -a %{SOURCE4} doc
cp -a %{SOURCE5} contrib/syslog-ng.conf.simple
@@ -316,6 +318,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.216 2011/09/10 17:28:15 arekm
+- rel 3; some earlier vserver patches used the same capability number as CAP_SYSLOG uses now. syslog-ng was thus thinking it had CAP_SYSLOG while in reality it got CAP_some_vserver capability. Try to workaround this by checking kernel version.
+
Revision 1.215 2011/08/14 00:59:20 glen
- upstart: replace SERVICE_syslog=y in upstart job defs for older jobs or if left out services will not be started
================================================================
Index: packages/syslog-ng/cap_syslog-vserver-workaround.patch
diff -u /dev/null packages/syslog-ng/cap_syslog-vserver-workaround.patch:1.1
--- /dev/null Sat Sep 10 19:28:20 2011
+++ packages/syslog-ng/cap_syslog-vserver-workaround.patch Sat Sep 10 19:28:15 2011
@@ -0,0 +1,52 @@
+diff -ur syslog-ng-3.2.4.org/lib/gprocess.c syslog-ng-3.2.4/lib/gprocess.c
+--- syslog-ng-3.2.4.org/lib/gprocess.c 2011-09-10 19:11:42.848926449 +0200
++++ syslog-ng-3.2.4/lib/gprocess.c 2011-09-10 19:21:08.665586449 +0200
+@@ -305,10 +305,23 @@
+ return;
+ }
+
++#define LINUX_VERSION(x,y,z) (0x10000*(x) + 0x100*(y) + z)
++
++static int
++get_kernel_version(void) {
++ static struct utsname uts;
++ int x = 0, y = 0, z = 0;
++ if ((uname(&uts) == -1) || (sscanf(uts.release, "%u.%u.%u", &x, &y, &z) < 2)) {
++ msg_error("Unable to retrieve kernel version.", NULL);
++ return -1;
++ }
++ return LINUX_VERSION(x, y, z);
++}
++
+ gboolean
+ g_process_check_cap_syslog(void)
+ {
+- int ret;
++ int ret, kver;
+
+ if (have_capsyslog)
+ return TRUE;
+@@ -320,6 +333,10 @@
+ if (ret == -1)
+ return FALSE;
+
++ kver = get_kernel_version();
++ if (kver > 0 && kver < LINUX_VERSION(2,6,38))
++ return FALSE;
++
+ have_capsyslog = TRUE;
+ return TRUE;
+ }
+Tylko w syslog-ng-3.2.4/lib: gprocess.c~
+diff -ur syslog-ng-3.2.4.org/lib/gprocess.h syslog-ng-3.2.4/lib/gprocess.h
+--- syslog-ng-3.2.4.org/lib/gprocess.h 2011-09-10 19:11:42.848926449 +0200
++++ syslog-ng-3.2.4/lib/gprocess.h 2011-09-10 19:15:44.334619870 +0200
+@@ -28,6 +28,7 @@
+ #include "syslog-ng.h"
+
+ #include <sys/types.h>
++#include <sys/utsname.h>
+
+ #if ENABLE_LINUX_CAPS
+ # include <sys/capability.h>
+Tylko w syslog-ng-3.2.4/lib: gprocess.h~
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/syslog-ng/syslog-ng.spec?r1=1.215&r2=1.216&f=u
More information about the pld-cvs-commit
mailing list