summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/rename.nix1
-rw-r--r--nixos/modules/services/logging/syslog-ng.nix18
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix9
3 files changed, 20 insertions, 8 deletions
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index ea7d9763ce64..073a22207652 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -131,6 +131,5 @@ in zipModules ([]
 ++ obsolete' [ "programs" "bash" "enable" ]
 ++ obsolete' [ "services" "samba" "defaultShare" ]
 ++ obsolete' [ "services" "syslog-ng" "serviceName" ]
-++ obsolete' [ "services" "syslog-ng" "listenToJournal" ]
 
 )
diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix
index 2bf6d1ff7904..f3991a411ec4 100644
--- a/nixos/modules/services/logging/syslog-ng.nix
+++ b/nixos/modules/services/logging/syslog-ng.nix
@@ -43,6 +43,15 @@ in {
           The package providing syslog-ng binaries.
         '';
       };
+      listenToJournal = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether syslog-ng should listen to the syslog socket used
+          by journald, and therefore receive all logs that journald
+          produces.
+        '';
+      };
       extraModulePaths = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -65,7 +74,7 @@ in {
       configHeader = mkOption {
         type = types.lines;
         default = ''
-          @version: 3.6
+          @version: 3.5
           @include "scl.conf"
         '';
         description = ''
@@ -77,13 +86,18 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.sockets.syslog = mkIf cfg.listenToJournal {
+      wantedBy = [ "sockets.target" ];
+      socketConfig.Service = "syslog-ng.service";
+    };
     systemd.services.syslog-ng = {
       description = "syslog-ng daemon";
       preStart = "mkdir -p /{var,run}/syslog-ng";
-      wantedBy = [ "multi-user.target" ];
+      wantedBy = optional (!cfg.listenToJournal) "multi-user.target";
       after = [ "multi-user.target" ]; # makes sure hostname etc is set
       serviceConfig = {
         Type = "notify";
+        Sockets = if cfg.listenToJournal then "syslog.socket" else null;
         StandardOutput = "null";
         Restart = "on-failure";
         ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index cec906e1f439..a62f81052bad 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,17 +1,16 @@
-{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl
-, riemann_c_client, protobufc, yacc }:
+{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl }:
 
 stdenv.mkDerivation rec {
   name = "syslog-ng-${version}";
 
-  version = "3.6.1";
+  version = "3.5.6";
 
   src = fetchurl {
     url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/${version}/source/syslog-ng_${version}.tar.gz";
-    sha256 = "1s3lsxk2pky3jkfamkw5ivpxq2kazikcvdgpmxiyn5w10dwkd0m7";
+    sha256 = "19i1idklpgn6mz0mg7194by5fjgvvh5n4v2a0rr1z0778l2038kc";
   };
 
-  buildInputs = [ eventlog pkgconfig glib python systemd perl riemann_c_client protobufc yacc ];
+  buildInputs = [ eventlog pkgconfig glib python systemd perl ];
 
   configureFlags = [
     "--enable-dynamic-linking"