* In NixOS chroot builds, there is no root account. So rcs' configure

should not rely on its existence in deciding whether to use
  getpwuid().  Not using getpwuid() causes rcs to fail with "ci:
  setuid not supported".

svn path=/nixpkgs/trunk/; revision=19957
This commit is contained in:
Eelco Dolstra
2010-02-12 14:27:26 +00:00
parent 0c17cced16
commit 4e0ccd63b3
2 changed files with 33 additions and 0 deletions
@@ -2,8 +2,18 @@
stdenv.mkDerivation {
name = "rcs-5.7";
src = fetchurl {
url = ftp://ftp.cs.purdue.edu/pub/RCS/rcs-5.7.tar;
md5 = "f7b3f106bf87ff6344df38490f6a02c5";
};
patches = [ ./no-root.patch ];
meta = {
homepage = http://www.cs.purdue.edu/homes/trinkle/RCS/;
description = "Revision Control System, a version management system";
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = [ stdenv.lib.platforms.all ];
};
}
@@ -0,0 +1,23 @@
In NixOS chroot builds, there is no root account. So configure should
not rely on its existence in deciding whether to use getpwuid().
diff -rc -x '*~' rcs-5.7-orig/src/conf.sh rcs-5.7/src/conf.sh
*** rcs-5.7-orig/src/conf.sh 1995-06-16 08:19:24.000000000 +0200
--- rcs-5.7/src/conf.sh 2010-02-12 15:22:37.000000000 +0100
***************
*** 821,827 ****
a= z=
cat >a.c <<EOF
#include "$A_H"
! int main() { exitmain(!getpwuid(0)); }
EOF
$PREPARE_CC || exit
if ($CL a.c $L && $aout) >&2
--- 821,827 ----
a= z=
cat >a.c <<EOF
#include "$A_H"
! int main() { exitmain(!getpwuid(getuid())); }
EOF
$PREPARE_CC || exit
if ($CL a.c $L && $aout) >&2