1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-03-17 17:42:45 +00:00

* 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

View file

@ -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 ];
};
}

View file

@ -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