forked from mirrors/nixpkgs
a8c3cbdf0b
This fixes `sudo' so that it can actually remember your password across invocations. svn path=/nixpkgs/trunk/; revision=14548
45 lines
1.5 KiB
Nix
45 lines
1.5 KiB
Nix
{stdenv, fetchurl, coreutils, pam}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "sudo-1.7.0";
|
|
|
|
src = fetchurl {
|
|
url = "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz";
|
|
sha256 = "0y0r74vvcn1q4c220ha0azs8d4kyjr3x3bl6ilxqp77khx1fjzaz";
|
|
};
|
|
|
|
# `--with-stow' allows /etc/sudoers to be a symlink. Only it
|
|
# doesn't really help because the target still has to have mode 0440,
|
|
# while files in the Nix store all have mode 0444.
|
|
#configureFlags = "--with-stow";
|
|
|
|
postConfigure = "
|
|
sed -e '/_PATH_MV/d; /_PATH_VI/d' -i config.h
|
|
echo '#define _PATH_SUDO_LOGFILE \"/var/log/sudo.log\"' >> config.h
|
|
echo '#define _PATH_SUDO_TIMEDIR \"/var/run/sudo\"' >> config.h
|
|
echo '#define _PATH_MV \"/var/run/current-system/sw/bin/mv\"' >> config.h
|
|
echo '#define _PATH_VI \"/var/run/current-system/sw/bin/nano\"' >> config.h
|
|
echo '#define EDITOR _PATH_VI' >>config.h
|
|
|
|
makeFlags=\"install_uid=$(id -u) install_gid=$(id -g)\"
|
|
installFlags=\"sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc\"
|
|
";
|
|
|
|
buildInputs = [coreutils pam];
|
|
|
|
meta = {
|
|
description = "sudo, a command to run commands as root";
|
|
|
|
longDescription = ''
|
|
Sudo (su "do") allows a system administrator to delegate
|
|
authority to give certain users (or groups of users) the ability
|
|
to run some (or all) commands as root or another user while
|
|
providing an audit trail of the commands and their arguments.
|
|
'';
|
|
|
|
homepage = http://www.sudo.ws/;
|
|
|
|
license = http://www.sudo.ws/sudo/license.html;
|
|
};
|
|
}
|