summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-29 18:50:07 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-29 18:50:07 +0100
commit2122adcdd13e5e6ab4e307421a177560b88354a3 (patch)
tree8c30f6d95fea8f1aef02c201594c68799b830d0d /pkgs/os-specific/linux/systemd
parentbce3c6db7ee42c096612945b77a400cb8fbd173b (diff)
downloadnixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.tar
nixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.tar.gz
nixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.tar.bz2
nixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.tar.lz
nixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.tar.xz
nixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.tar.zst
nixlib-2122adcdd13e5e6ab4e307421a177560b88354a3.zip
systemd: Update to 196
Main change is that systemd now has its own PCI/USB IDs database, so
it no longer depends on pciutils/usbutils.
Diffstat (limited to 'pkgs/os-specific/linux/systemd')
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix22
-rw-r--r--pkgs/os-specific/linux/systemd/listunitfiles-abort.patch20
2 files changed, 15 insertions, 27 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index bab8dfa4a89b..a207213d12d5 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,28 +1,27 @@
 { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod
-, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, usbutils, pciutils
+, xz, pam, acl, cryptsetup, libuuid, m4, utillinux
 , glib, kbd, libxslt, coreutils, libgcrypt
 }:
 
 assert stdenv.gcc.libc or null != null;
 
 stdenv.mkDerivation rec {
-  name = "systemd-195";
+  name = "systemd-196";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
-    sha256 = "00v3haymdxhjk71pqp17irw9pm5ivfvz35ibvw41v5zdhj5il179";
+    sha256 = "1gz4an5havzwzp7xsinn01prwvf51hgipb8pbciri0fxlmcadm3b";
   };
 
   patches =
     [ ./reexec.patch
       ./ignore-duplicates.patch
       ./crypt-devices-are-ready.patch
-      ./listunitfiles-abort.patch
     ];
 
   buildInputs =
     [ pkgconfig intltool gperf libcap dbus kmod xz pam acl
-      /* cryptsetup */ libuuid m4 usbutils pciutils glib libxslt libgcrypt
+      /* cryptsetup */ libuuid m4 glib libxslt libgcrypt
     ];
 
   configureFlags =
@@ -36,7 +35,6 @@ stdenv.mkDerivation rec {
       "--with-dbussystemservicedir=$(out)/share/dbus-1/system-services"
       "--with-dbussessionservicedir=$(out)/share/dbus-1/services"
       "--with-firmware-path=/root/test-firmware:/var/run/current-system/firmware"
-      "--with-pci-ids-path=${pciutils}/share/pci.ids"
       "--with-tty-gid=3" # tty in NixOS has gid 3
     ];
 
@@ -52,6 +50,9 @@ stdenv.mkDerivation rec {
           --replace /sbin/swapoff ${utillinux}/sbin/swapoff \
           --replace /sbin/fsck ${utillinux}/sbin/fsck
       done
+
+      substituteInPlace src/journal/catalog.c \
+        --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
     '';
 
   NIX_CFLAGS_COMPILE =
@@ -66,7 +67,12 @@ stdenv.mkDerivation rec {
       "-DFS_NOCOW_FL=0x00800000"
     ];
 
-  makeFlags = "CPPFLAGS=-I${stdenv.gcc.libc}/include";
+  # Use /var/lib/udev rather than /etc/udev for the generated hardware
+  # database.  Upstream doesn't want this (see commit
+  # 1e1954f53386cb773e2a152748dd31c4d36aa2d8) because using /var is
+  # forbidden in early boot, but in NixOS the initrd guarantees that
+  # /var is mounted.
+  makeFlags = "CPPFLAGS=-I${stdenv.gcc.libc}/include hwdb_bin=/var/lib/udev/hwdb.bin";
 
   installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc sysvinitdir=$(TMPDIR)/etc/init.d";
 
@@ -88,6 +94,8 @@ stdenv.mkDerivation rec {
       for i in $out/share/dbus-1/system-services/*.service; do
         substituteInPlace $i --replace /bin/false ${coreutils}/bin/false
       done
+
+      rm -rf $out/etc/rpm
     ''; # */
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch b/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch
deleted file mode 100644
index 4bbb0a9b1bea..000000000000
--- a/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
-index ed9784b..6d045cc 100644
---- a/src/core/dbus-manager.c
-+++ b/src/core/dbus-manager.c
-@@ -491,7 +491,6 @@ static DBusMessage *message_from_file_changes(
-         return reply;
- 
- oom:
--        dbus_message_unref(reply);
-         return NULL;
- }
- 
-@@ -1432,7 +1431,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
-                 r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h);
-                 if (r < 0) {
-                         unit_file_list_free(h);
--                        dbus_message_unref(reply);
-                         return bus_send_error_reply(connection, message, NULL, r);
-                 }
-