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.
This commit is contained in:
Eelco Dolstra 2012-11-29 18:50:07 +01:00
parent bce3c6db7e
commit 2122adcdd1
2 changed files with 15 additions and 27 deletions

View File

@ -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;

View File

@ -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);
}