summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-05-08 09:36:00 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2018-05-08 09:36:00 -0500
commit6748534d83fa05cc6dee0f11bce543f7672b351f (patch)
treea0d303182dd9e0c8ae149316270b732715e9ae64 /pkgs/os-specific/linux/systemd
parent4f7cdd35d58e3d32ba576e218316b3c835bc508c (diff)
parent3510b983c41196fce90729289c8c300ada1ccaea (diff)
downloadnixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.tar
nixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.tar.gz
nixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.tar.bz2
nixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.tar.lz
nixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.tar.xz
nixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.tar.zst
nixlib-6748534d83fa05cc6dee0f11bce543f7672b351f.zip
Merge remote-tracking branch 'upstream/master' into staging
Diffstat (limited to 'pkgs/os-specific/linux/systemd')
-rw-r--r--pkgs/os-specific/linux/systemd/cryptsetup-generator.nix11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
index d02a531f67fc..c89a8ff91479 100644
--- a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
+++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
@@ -11,6 +11,17 @@ stdenv.lib.overrideDerivation systemd (p: {
     ninja systemd-cryptsetup systemd-cryptsetup-generator
   '';
 
+  # As ninja install is not used here, the rpath needs to be manually fixed.
+  # Otherwise the resulting binary doesn't properly link against systemd-shared.so
+  postFixup = ''
+    sharedLib=libsystemd-shared-${p.version}.so
+    for prog in `find $out -type f -executable`; do
+      (patchelf --print-needed $prog | grep $sharedLib > /dev/null) && (
+        patchelf --set-rpath `patchelf --print-rpath $prog`:"$out/lib/systemd" $prog
+      ) || true
+    done
+  '';
+
   installPhase = ''
     mkdir -p $out/lib/systemd/
     cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup