nixpkgs/pkgs/tools/security/sudo/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

94 lines
2.3 KiB
Nix
Raw Normal View History

2021-03-15 15:06:55 +00:00
{ lib
, stdenv
, fetchurl
2022-01-02 23:39:51 +00:00
, buildPackages
2021-03-15 15:06:55 +00:00
, coreutils
, pam
, groff
, sssd
, nixosTests
, sendmailPath ? "/run/wrappers/bin/sendmail"
, withInsults ? false
, withSssd ? false
}:
stdenv.mkDerivation rec {
2020-01-02 20:37:19 +00:00
pname = "sudo";
2022-03-07 12:43:19 +00:00
version = "1.9.10";
src = fetchurl {
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
2022-03-07 12:43:19 +00:00
sha256 = "sha256-RKFGEJjnx7jmrFl0mcJPsuQ3SMDBOai0lE5X0TSaZPQ=";
};
2017-06-16 21:20:06 +00:00
prePatch = ''
2017-06-17 09:42:55 +00:00
# do not set sticky bit in nix store
2017-06-16 21:20:06 +00:00
substituteInPlace src/Makefile.in --replace 04755 0755
'';
configureFlags = [
"--with-env-editor"
2014-06-22 17:50:40 +00:00
"--with-editor=/run/current-system/sw/bin/nano"
2015-02-25 11:29:41 +00:00
"--with-rundir=/run/sudo"
"--with-vardir=/var/db/sudo"
"--with-logpath=/var/log/sudo.log"
"--with-iologdir=/var/log/sudo-io"
"--with-sendmail=${sendmailPath}"
2017-12-16 21:59:34 +00:00
"--enable-tmpfiles.d=no"
2021-01-15 09:19:50 +00:00
] ++ lib.optional withInsults [
"--with-insults"
"--with-all-insults"
2021-01-15 09:19:50 +00:00
] ++ lib.optional withSssd [
"--with-sssd"
"--with-sssd-lib=${sssd}/lib"
];
configureFlagsArray = [
2021-03-15 15:06:55 +00:00
"--with-passprompt=[sudo] password for %p: " # intentional trailing space
];
postConfigure =
''
2021-03-15 15:06:55 +00:00
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 DESTDIR=/"
'';
2022-01-02 23:39:51 +00:00
depsBuildBuild = [ buildPackages.stdenv.cc ];
2018-02-27 23:13:16 +00:00
nativeBuildInputs = [ groff ];
buildInputs = [ pam ];
enableParallelBuilding = true;
doCheck = false; # needs root
2021-03-15 15:06:55 +00:00
postInstall = ''
rm $out/share/doc/sudo/ChangeLog
'';
passthru.tests = { inherit (nixosTests) sudo; };
meta = {
description = "A command to run commands as root";
2014-12-18 11:31:34 +00:00
longDescription =
''
2021-03-15 15:06:55 +00: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.
'';
2020-03-26 01:07:07 +00:00
homepage = "https://www.sudo.ws/";
license = "https://www.sudo.ws/sudo/license.html";
2021-01-15 09:19:50 +00:00
maintainers = with lib.maintainers; [ eelco delroth ];
2021-01-15 09:19:50 +00:00
platforms = lib.platforms.linux;
};
}