nixpkgs/pkgs/tools/security/sudo/default.nix
Bjørn Forsman 89eccb7fb0 sudo: add sendmailPath option (defaults to /var/setuid-wrappers/sendmail)
It currently seems impossible to make sudo send emails. No matter how much
debugging I enable, sudo continues to be silent about sendmail. I tried setting
"Defaults mailerpath=/var/setuid-wrappers/sendmail" but that too was completely
ignored (except for logging that the variable mailerpath exists with the value
I assigned to it...).

This enables sendmail support and sets a default value that works on NixOS.
2014-09-04 13:38:03 +02:00

61 lines
1.6 KiB
Nix

{ stdenv, fetchurl, coreutils, pam, groff
, sendmailPath ? "/var/setuid-wrappers/sendmail"
}:
stdenv.mkDerivation rec {
name = "sudo-1.8.10p3";
src = fetchurl {
urls =
[ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
"ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
];
sha256 = "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf";
};
configureFlags = [
"--with-env-editor"
"--with-editor=/run/current-system/sw/bin/nano"
"--with-rundir=/var/run"
"--with-vardir=/var/db/sudo"
"--with-logpath=/var/log/sudo.log"
"--with-sendmail=${sendmailPath}"
];
postConfigure =
''
cat >> pathnames.h <<'EOF'
#undef _PATH_MV
#define _PATH_MV "${coreutils}/bin/mv"
EOF
makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy"
'';
buildInputs = [ coreutils pam groff ];
enableParallelBuilding = true;
postInstall =
''
rm -f $out/share/doc/sudo/ChangeLog
'';
meta = {
description = "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;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}