From 7f6abddcd7dc8d9348a499043996a14ca31bda53 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 8 May 2017 15:07:50 +0200 Subject: shadow: Fix using default shell in useradd This caused "useradd xyzzy" to produce a user with no shell: xyzzy:x:1002:100::/home/xyzzy: https://github.com/shadow-maint/shadow/pull/33 --- pkgs/os-specific/linux/shadow/default.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'pkgs/os-specific/linux') diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index 8c91dc43666d..86220b910119 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, libxslt, libxml2 +{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2 , docbook_xml_dtd_412, docbook_xsl, gnome_doc_utils, flex, bison , pam ? null, glibcCross ? null }: @@ -9,7 +9,7 @@ let then glibcCross else assert stdenv ? glibc; stdenv.glibc; - dots_in_usernames = fetchurl { + dots_in_usernames = fetchpatch { url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/shadow/files/shadow-4.1.3-dots-in-usernames.patch; sha256 = "1fj3rg6x3jppm5jvi9y7fhd2djbi4nc5pgwisw00xlh4qapgz692"; }; @@ -28,21 +28,30 @@ stdenv.mkDerivation rec { }; buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam; - nativeBuildInputs = [autoreconfHook libxslt libxml2 + nativeBuildInputs = [autoreconfHook libxslt libxml2 docbook_xml_dtd_412 docbook_xsl gnome_doc_utils flex bison ]; - patches = [ ./keep-path.patch dots_in_usernames ]; + patches = + [ ./keep-path.patch + dots_in_usernames + (fetchpatch { + url = https://github.com/shadow-maint/shadow/commit/507f96cdeb54079fb636c7ce21e371f7a16a520e.patch; + sha256 = "0q20s0kil0n0wlj14fg646nhym4qn9sn34g8c78nk7fpknwpjmiw"; + }) + ]; outputs = [ "out" "su" "man" ]; + enableParallelBuilding = true; + # Assume System V `setpgrp (void)', which is the default on GNU variants # (`AC_FUNC_SETPGRP' is not cross-compilation capable.) preConfigure = '' export ac_cv_func_setpgrp_void=yes export shadow_cv_logdir=/var/log ( - head -n -1 "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml" + head -n -1 "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml" tail -n +3 "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml" ) > xmlcatalog configureFlags="$configureFlags --with-xml-catalog=$PWD/xmlcatalog "; -- cgit 1.4.1