summary refs log tree commit diff
path: root/pkgs/os-specific/linux/shadow/default.nix
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-05-08 15:07:50 +0200
committerEelco Dolstra <edolstra@gmail.com>2017-05-08 15:10:50 +0200
commit7f6abddcd7dc8d9348a499043996a14ca31bda53 (patch)
tree06dfd5f1b5c2625b106c8a476f8ec129de29752a /pkgs/os-specific/linux/shadow/default.nix
parenta51663f9daba1abcfeeeb4458dc5b4282a831d9f (diff)
downloadnixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.tar
nixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.tar.gz
nixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.tar.bz2
nixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.tar.lz
nixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.tar.xz
nixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.tar.zst
nixpkgs-7f6abddcd7dc8d9348a499043996a14ca31bda53.zip
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
Diffstat (limited to 'pkgs/os-specific/linux/shadow/default.nix')
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix19
1 files changed, 14 insertions, 5 deletions
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 8c91dc43666..86220b91011 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 ";