2021-01-15 12:19:50 +03:00
|
|
|
{ lib, stdenv, fetchurl, coreutils, pam, groff, sssd, nixosTests
|
2017-01-29 13:11:01 +03:00
|
|
|
, sendmailPath ? "/run/wrappers/bin/sendmail"
|
2015-07-30 21:03:22 +03:00
|
|
|
, withInsults ? false
|
2017-10-02 17:55:26 +03:00
|
|
|
, withSssd ? false
|
2014-09-04 15:37:03 +04:00
|
|
|
}:
|
2007-08-17 17:37:28 +04:00
|
|
|
|
2008-09-11 18:31:37 +04:00
|
|
|
stdenv.mkDerivation rec {
|
2020-01-02 23:37:19 +03:00
|
|
|
pname = "sudo";
|
2021-01-26 21:38:37 +03:00
|
|
|
version = "1.9.5p2";
|
2007-06-20 13:34:42 +04:00
|
|
|
|
|
|
|
src = fetchurl {
|
2020-03-26 07:06:42 +03:00
|
|
|
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
|
2021-01-26 21:38:37 +03:00
|
|
|
sha256 = "0y093z4f3822rc88g9asdch12nljdamp817vjxk04mca7ks2x7jk";
|
2007-06-20 13:34:42 +04:00
|
|
|
};
|
|
|
|
|
2017-06-17 00:20:06 +03:00
|
|
|
prePatch = ''
|
2017-06-17 12:42:55 +03:00
|
|
|
# do not set sticky bit in nix store
|
2017-06-17 00:20:06 +03:00
|
|
|
substituteInPlace src/Makefile.in --replace 04755 0755
|
|
|
|
'';
|
|
|
|
|
2014-06-22 21:42:32 +04:00
|
|
|
configureFlags = [
|
|
|
|
"--with-env-editor"
|
2014-06-22 21:50:40 +04:00
|
|
|
"--with-editor=/run/current-system/sw/bin/nano"
|
2015-02-25 14:29:41 +03:00
|
|
|
"--with-rundir=/run/sudo"
|
2014-06-22 21:42:32 +04:00
|
|
|
"--with-vardir=/var/db/sudo"
|
|
|
|
"--with-logpath=/var/log/sudo.log"
|
2015-12-27 23:52:24 +03:00
|
|
|
"--with-iologdir=/var/log/sudo-io"
|
2014-09-04 15:37:03 +04:00
|
|
|
"--with-sendmail=${sendmailPath}"
|
2017-12-17 00:59:34 +03:00
|
|
|
"--enable-tmpfiles.d=no"
|
2021-01-15 12:19:50 +03:00
|
|
|
] ++ lib.optional withInsults [
|
2015-07-30 21:03:22 +03:00
|
|
|
"--with-insults"
|
|
|
|
"--with-all-insults"
|
2021-01-15 12:19:50 +03:00
|
|
|
] ++ lib.optional withSssd [
|
2017-10-02 17:55:26 +03:00
|
|
|
"--with-sssd"
|
|
|
|
"--with-sssd-lib=${sssd}/lib"
|
2014-06-22 21:42:32 +04:00
|
|
|
];
|
|
|
|
|
2014-09-04 17:34:36 +04:00
|
|
|
configureFlagsArray = [
|
|
|
|
"--with-passprompt=[sudo] password for %p: " # intentional trailing space
|
|
|
|
];
|
|
|
|
|
2014-06-22 21:42:32 +04:00
|
|
|
postConfigure =
|
|
|
|
''
|
|
|
|
cat >> pathnames.h <<'EOF'
|
|
|
|
#undef _PATH_MV
|
|
|
|
#define _PATH_MV "${coreutils}/bin/mv"
|
2013-04-03 15:10:53 +04:00
|
|
|
EOF
|
|
|
|
makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
|
2020-01-02 23:37:35 +03:00
|
|
|
installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy DESTDIR=/"
|
2014-06-22 21:42:32 +04:00
|
|
|
'';
|
2007-06-20 13:34:42 +04:00
|
|
|
|
2018-02-28 02:13:16 +03:00
|
|
|
nativeBuildInputs = [ groff ];
|
|
|
|
buildInputs = [ pam ];
|
2007-06-20 13:34:42 +04:00
|
|
|
|
2013-04-03 15:10:53 +04:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2018-04-25 06:20:18 +03:00
|
|
|
doCheck = false; # needs root
|
|
|
|
|
2014-12-18 14:31:34 +03:00
|
|
|
postInstall =
|
2014-06-22 21:42:32 +04:00
|
|
|
''
|
|
|
|
rm -f $out/share/doc/sudo/ChangeLog
|
|
|
|
'';
|
2008-09-11 18:31:37 +04:00
|
|
|
|
2020-10-08 13:20:27 +03:00
|
|
|
passthru.tests = { inherit (nixosTests) sudo; };
|
|
|
|
|
2008-09-11 18:31:37 +04:00
|
|
|
meta = {
|
2013-04-03 15:10:53 +04:00
|
|
|
description = "A command to run commands as root";
|
2008-09-11 18:31:37 +04:00
|
|
|
|
2014-12-18 14:31:34 +03:00
|
|
|
longDescription =
|
2014-06-22 21:42:32 +04:00
|
|
|
''
|
2008-09-11 18:31:37 +04:00
|
|
|
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.
|
2014-06-22 21:42:32 +04:00
|
|
|
'';
|
2008-09-11 18:31:37 +04:00
|
|
|
|
2020-03-26 04:07:07 +03:00
|
|
|
homepage = "https://www.sudo.ws/";
|
2008-09-11 18:31:37 +04:00
|
|
|
|
2020-04-01 04:11:51 +03:00
|
|
|
license = "https://www.sudo.ws/sudo/license.html";
|
2013-04-03 15:10:53 +04:00
|
|
|
|
2021-01-15 12:19:50 +03:00
|
|
|
maintainers = with lib.maintainers; [ eelco delroth ];
|
2015-03-20 18:52:02 +03:00
|
|
|
|
2021-01-15 12:19:50 +03:00
|
|
|
platforms = lib.platforms.linux;
|
2008-09-11 18:31:37 +04:00
|
|
|
};
|
2007-06-20 13:34:42 +04:00
|
|
|
}
|