Merge pull request #3055 from chrisfarms/fix-sudo

Fix sudo installation issue #3027
This commit is contained in:
John Wiegley 2014-06-25 17:21:36 -07:00
commit 39db3547a9

View File

@ -11,34 +11,38 @@ stdenv.mkDerivation rec {
sha256 = "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"; sha256 = "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf";
}; };
postConfigure = '' configureFlags = [
cat >> pathnames.h <<EOF "--with-env-editor"
#undef _PATH_SUDO_LOGFILE "--with-editor=/run/current-system/sw/bin/nano"
#define _PATH_SUDO_LOGFILE "/var/log/sudo.log" "--with-rundir=/var/run"
#undef _PATH_SUDO_TIMEDIR "--with-vardir=/var/db/sudo"
#define _PATH_SUDO_TIMEDIR "/run/sudo" "--with-logpath=/var/log/sudo.log"
#undef _PATH_VI ];
#define _PATH_VI "/run/current-system/sw/bin/nano"
postConfigure =
''
cat >> pathnames.h <<'EOF'
#undef _PATH_MV #undef _PATH_MV
#define _PATH_MV "${coreutils}/bin/mv" #define _PATH_MV "${coreutils}/bin/mv"
EOF EOF
makeFlags="install_uid=$(id -u) install_gid=$(id -g)" makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc timedir=$TMPDIR/dummy" installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy"
''; '';
buildInputs = [ coreutils pam groff ]; buildInputs = [ coreutils pam groff ];
enableParallelBuilding = true; enableParallelBuilding = true;
postInstall = '' postInstall =
rm $out/share/doc/sudo/ChangeLog ''
rm -f $out/share/doc/sudo/ChangeLog
''; '';
meta = { meta = {
description = "A command to run commands as root"; description = "A command to run commands as root";
longDescription = '' longDescription =
''
Sudo (su "do") allows a system administrator to delegate Sudo (su "do") allows a system administrator to delegate
authority to give certain users (or groups of users) the ability authority to give certain users (or groups of users) the ability
to run some (or all) commands as root or another user while to run some (or all) commands as root or another user while