Browse Source

* 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
nixos-19.03
Eelco Dolstra 12 years ago
parent
commit
4e0ccd63b3
  1. 10
      pkgs/applications/version-management/rcs/default.nix
  2. 23
      pkgs/applications/version-management/rcs/no-root.patch

10
pkgs/applications/version-management/rcs/default.nix

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

23
pkgs/applications/version-management/rcs/no-root.patch

@ -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
Loading…
Cancel
Save