From c0fd88748a66c9ca38092fdbf7e97f765c8e411d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Fri, 20 Sep 2013 09:20:14 +0200 Subject: [PATCH] Making lvm2 install systemd stuff, and combine all in a single derivation. --- pkgs/os-specific/linux/lvm2/default.nix | 5 +++++ pkgs/top-level/all-packages.nix | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index a3bbfa834b1..8cdd317b7b1 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -40,6 +40,11 @@ stdenv.mkDerivation { '' substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \ --replace $out/sbin/blkid ${utillinux}/sbin/blkid + + # Systemd stuff + mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators + cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system + cp scripts/lvm2_activation_generator_systemd_red_hat $out/lib/systemd/system-generators ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21a3a3c87d0..b2066e82388 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6805,6 +6805,15 @@ let systemd = callPackage ../os-specific/linux/systemd { }; + # In nixos, you can set systemd.package = pkgs.systemd_with_lvm2 to get + # LVM2 working in systemd. + systemd_with_lvm2 = pkgs.lib.overrideDerivation pkgs.systemd (p: { + name = p.name + "-with-lvm2"; + postInstall = p.postInstall + '' + cp ${pkgs.lvm2}/lib/systemd/system-generators/* $out/lib/systemd/system-generat + ''; + }); + sysvinit = callPackage ../os-specific/linux/sysvinit { }; sysvtools = callPackage ../os-specific/linux/sysvinit {