From 8323123e95d2995933aa415ae90ae387b5ca2bc6 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 12 Feb 2018 20:20:14 -0600 Subject: [PATCH] systemd: use musl-getent on musl instead of glibc.bin's getent --- pkgs/os-specific/linux/systemd/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 0a2ebb05277..f8093921e6e 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -7,11 +7,18 @@ , autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45 , ninja, meson, python3Packages, glibcLocales , patchelf +, musl-getent ? null }: assert stdenv.isLinux; -let pythonLxmlEnv = python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]); +let + pythonLxmlEnv = python3Packages.python.withPackages ( ps: with ps; [ python3Packages.lxml ]); + getent-bin = + if stdenv.hostPlatform.libc == "glibc" then stdenv.cc.libc.bin + else if stdenv.hostPlatform.isMusl then "${musl-getent}" + else throw "unsupported abi for systemd"; + getent = "${getent-bin}/bin/getent"; in @@ -107,7 +114,7 @@ in for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c src/shared/generator.c; do test -e $i substituteInPlace $i \ - --replace /usr/bin/getent ${stdenv.glibc.bin}/bin/getent \ + --replace /usr/bin/getent ${getent} \ --replace /sbin/swapon ${utillinux.bin}/sbin/swapon \ --replace /sbin/swapoff ${utillinux.bin}/sbin/swapoff \ --replace /sbin/fsck ${utillinux.bin}/sbin/fsck \