forked from mirrors/nixpkgs
7b30d6a8cb
The feature Nix neither needs nor deserves. Requires the "insults" to be explicitly enabled in sudoers. This adds 1.6 MB to your sudo as some kind of cruel meta-joke.
72 lines
1.8 KiB
Nix
72 lines
1.8 KiB
Nix
{ stdenv, fetchurl, coreutils, pam, groff
|
|
, sendmailPath ? "/var/setuid-wrappers/sendmail"
|
|
, withInsults ? false
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "sudo-1.8.14p3";
|
|
|
|
src = fetchurl {
|
|
urls =
|
|
[ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
|
|
"ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
|
|
];
|
|
sha256 = "0dqj1bq2jr4jxqfrd5yg0i42a6268scd0l28jic9118kn75rg9m8";
|
|
};
|
|
|
|
configureFlags = [
|
|
"--with-env-editor"
|
|
"--with-editor=/run/current-system/sw/bin/nano"
|
|
"--with-rundir=/run/sudo"
|
|
"--with-vardir=/var/db/sudo"
|
|
"--with-logpath=/var/log/sudo.log"
|
|
"--with-sendmail=${sendmailPath}"
|
|
] ++ stdenv.lib.optional withInsults [
|
|
"--with-insults"
|
|
"--with-all-insults"
|
|
];
|
|
|
|
configureFlagsArray = [
|
|
"--with-passprompt=[sudo] password for %p: " # intentional trailing space
|
|
];
|
|
|
|
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 ];
|
|
|
|
platforms = stdenv.lib.platforms.linux;
|
|
};
|
|
}
|