summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2014-11-16 02:00:09 -0800
committerWilliam A. Kennington III <william@wkennington.com>2014-11-16 02:01:43 -0800
commit1d30b4aabdfe6c73e130ed276f86e55d4617a98c (patch)
tree5963f930fcfa7dd2148bda069e5a65f9b67b3240 /pkgs/os-specific/linux/systemd
parent11aa16d2a63645d93902e1cc5698b557070e8ab0 (diff)
downloadnixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.tar
nixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.tar.gz
nixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.tar.bz2
nixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.tar.lz
nixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.tar.xz
nixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.tar.zst
nixpkgs-1d30b4aabdfe6c73e130ed276f86e55d4617a98c.zip
systemd: Patch systemd-journald.service to be Type=notify
https://bugs.freedesktop.org/show_bug.cgi?id=85871
https://bugzilla.redhat.com/show_bug.cgi?id=1159641
Diffstat (limited to 'pkgs/os-specific/linux/systemd')
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix3
-rw-r--r--pkgs/os-specific/linux/systemd/systemd-journald-type-notify.patch35
2 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 879a6e72f53..c62907c2064 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -22,6 +22,9 @@ stdenv.mkDerivation rec {
     [ # These are all changes between upstream and
       # https://github.com/edolstra/systemd/tree/nixos-v216.
       ./fixes.patch
+      # Fixes systemd-journald so that it does not get killed
+      # by systemd-journal-flush starting too quickly
+      ./systemd-journald-type-notify.patch
     ];
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/systemd/systemd-journald-type-notify.patch b/pkgs/os-specific/linux/systemd/systemd-journald-type-notify.patch
new file mode 100644
index 00000000000..820b23fbfa2
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/systemd-journald-type-notify.patch
@@ -0,0 +1,35 @@
+From a87a38c20196a4aeb56b6ba71d688eefd0b21c30 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt@redhat.com>
+Date: Tue, 4 Nov 2014 20:28:08 +0100
+Subject: [PATCH] units: make systemd-journald.service Type=notify
+
+It already calls sd_notify(), so it looks like an oversight.
+
+Without it, its ordering to systemd-journal-flush.service is
+non-deterministic and the SIGUSR1 from flushing may kill journald before
+it has its signal handlers set up.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=85871
+https://bugzilla.redhat.com/show_bug.cgi?id=1159641
+---
+(foutrelis: dropped systemd-journald-audit.socket from Sockets= in order to
+            apply to systemd 217)
+
+ units/systemd-journald.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
+index 7ee67fd..8d380c8 100644
+--- a/units/systemd-journald.service.in
++++ b/units/systemd-journald.service.in
+@@ -14,6 +14,7 @@ After=systemd-journald.socket systemd-journald-dev-log.socket systemd-journald-a
+ Before=sysinit.target
+ 
+ [Service]
++Type=notify
+ Sockets=systemd-journald.socket systemd-journald-dev-log.socket
+ ExecStart=@rootlibexecdir@/systemd-journald
+ Restart=always
+-- 
+2.1.3
+