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 _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
