summaryrefslogtreecommitdiff
path: root/app-admin/sudo
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/sudo')
-rw-r--r--app-admin/sudo/Manifest6
-rw-r--r--app-admin/sudo/sudo-1.9.4_p1.ebuild (renamed from app-admin/sudo/sudo-1.9.4.ebuild)4
-rw-r--r--app-admin/sudo/sudo-1.9.4_p2.ebuild261
3 files changed, 265 insertions, 6 deletions
diff --git a/app-admin/sudo/Manifest b/app-admin/sudo/Manifest
index e720713c4cae..10077a62c4c3 100644
--- a/app-admin/sudo/Manifest
+++ b/app-admin/sudo/Manifest
@@ -1,7 +1,9 @@
AUX sudo-1.9.4-without-sendmail_build_fix.patch 1470 BLAKE2B fbffefb687a42cfac19cc1ede970729e17c1771421ff93a9d9c4df96046688b92e838cf48891e67e0ee8ce40b84a19c707a844c83bba2af5eae52caeca334573 SHA512 18d8ef507ce7c4c2ee8d5aed08199d527675a7757e9b1aff819380d156e4427a8c632b8a5cc1eee0698e6d20f2ec569e14d6ba957bb8dec788e75a82b706063a
DIST sudo-1.9.3p1.tar.gz 3958071 BLAKE2B b681c120faa5dc7f25e27c1be423d68cea70f63dcdfea2183fd386a34dec0376555453399d3f8886c66c6507343648d40b59a058710432154061b210df2a704c SHA512 3ad13fd03e5b371fd6bf7909731ffc11431d2182a744b654f7e5d4b810e47955d49bc78f551afe13ec56acbce694139c33a15bc022cea41b17af5496b8b7f89f
-DIST sudo-1.9.4.tar.gz 3992062 BLAKE2B 65eb8f78eb34ca7009ea0752a1acbfcb4e06ddd7083301736ac1bac7019c1a45cf2c34f69ac5b86fa4ac01310e209f236840712ad4998b692ddf774b9d1bf60d SHA512 682b4d303147193149509b734b64f8541e00ccc1c41468928dff307f9d52f2b1aae005deee1ef5ac389cd3dc506368dba8a78c0392ea1434dd78cf7ef8a08408
+DIST sudo-1.9.4p1.tar.gz 3993946 BLAKE2B 171af5befe05e393846886077d0c210664ff86191ae1a093148d85ca80d4a8c6cd8c41ef91451207831f574267d32d4c621e47ecfa1d3b37ee8c498af6729369 SHA512 5d247c9ad68cd2c3ea504dc0a49db041f68c1575775b4bb3a5fb62abadc23295a42658d33430d6391152c7b44f66d9f165f77a91abb355edc2d2d8787d41cd91
+DIST sudo-1.9.4p2.tar.gz 3994184 BLAKE2B 110562792fa3d6f3f30fb0f07eefca975f062d41743fb84a34c27bf4c72296aa5f581de1f74895deedd6b47cb235399c52b9d3d818d274c6cdc61c741a0a287e SHA512 5258531d3dca0e812df5f4f8f26665f643c036d42534e3b98f5dd463624e9df0bba2a92c15da0c9958bda7e68f6f10b7b34875792ac9c205d1e70a12bc4f98a4
EBUILD sudo-1.9.3_p1.ebuild 6892 BLAKE2B 3ad32318e45533045e40e7d4ad282b5a218c9531d98dda7a6d92bc0568ee874e020f4497811e7e2dad677d8d14962d2e5aadb014d5d1e01a4559fda16867e39f SHA512 34803aae1dd4a8aaa696b7b4c72d69d9dbe08a25072aac9b8a2a3f9e47eed84a9273c2cc6f1c496477a88b8df74e5587cf8761906970d574ea140fd0a41ca639
-EBUILD sudo-1.9.4.ebuild 6975 BLAKE2B 9d5c62ddbf6011a9fa7578f7b57762f1aa94c275759a087e57f366add38c9385f7acc38d343c6e148c0c11ec0790a7ee3b080ff83ce75e35cf72ea50bdf257d6 SHA512 12737ac1922535b9ff0cf2aa0b4a67af191bb2baaa9f993cc26fb1ced11cf7aa67da76423703d6b8c92dbffe1c629e61cd1f4284cf2e72f241f376ea01f73919
+EBUILD sudo-1.9.4_p1.ebuild 6901 BLAKE2B 57b94080303df4d32651aab3cd4be8601f59ff13138eb6b8941854255942422d338e47047ff98b1ec9c86863e77f2e1b36901ed001daf715f23b15ae65264709 SHA512 ecb146a12fe3ea3d32ef237e0e67a99d3eadd6ad99997c327eb31027b0f45aa6dbed9dec03ed5c39c62ddd1131762fdc708899e76b2a867416dc0997c1f0727e
+EBUILD sudo-1.9.4_p2.ebuild 6901 BLAKE2B 57b94080303df4d32651aab3cd4be8601f59ff13138eb6b8941854255942422d338e47047ff98b1ec9c86863e77f2e1b36901ed001daf715f23b15ae65264709 SHA512 ecb146a12fe3ea3d32ef237e0e67a99d3eadd6ad99997c327eb31027b0f45aa6dbed9dec03ed5c39c62ddd1131762fdc708899e76b2a867416dc0997c1f0727e
EBUILD sudo-9999.ebuild 6901 BLAKE2B 57b94080303df4d32651aab3cd4be8601f59ff13138eb6b8941854255942422d338e47047ff98b1ec9c86863e77f2e1b36901ed001daf715f23b15ae65264709 SHA512 ecb146a12fe3ea3d32ef237e0e67a99d3eadd6ad99997c327eb31027b0f45aa6dbed9dec03ed5c39c62ddd1131762fdc708899e76b2a867416dc0997c1f0727e
MISC metadata.xml 1161 BLAKE2B 0c501bf06edca82993ece857f9f7565f99da15df36c916bc9dc57e78bccf2b247c382e97dd6c97cc7f5375e1a0513c1a30ecbf097516e96319fd1797257fb117 SHA512 d6bc9cf11ea1bd28c19bfe167580556af517d92c958d63cd7872ab5076840eca39a7ab3d1f56e84fc0fcfb675d7a89c23ccdd3629f665c45232be1140eb950ac
diff --git a/app-admin/sudo/sudo-1.9.4.ebuild b/app-admin/sudo/sudo-1.9.4_p1.ebuild
index 74f99d722acf..84770ae1b432 100644
--- a/app-admin/sudo/sudo-1.9.4.ebuild
+++ b/app-admin/sudo/sudo-1.9.4_p1.ebuild
@@ -74,10 +74,6 @@ REQUIRED_USE="
MAKEOPTS+=" SAMPLES="
-PATCHES=(
- "${FILESDIR}/${P}-without-sendmail_build_fix.patch" #757819
-)
-
src_prepare() {
default
elibtoolize
diff --git a/app-admin/sudo/sudo-1.9.4_p2.ebuild b/app-admin/sudo/sudo-1.9.4_p2.ebuild
new file mode 100644
index 000000000000..84770ae1b432
--- /dev/null
+++ b/app-admin/sudo/sudo-1.9.4_p2.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit pam multilib libtool systemd tmpfiles
+
+MY_P="${P/_/}"
+MY_P="${MY_P/beta/b}"
+
+DESCRIPTION="Allows users or groups to run commands as other users"
+HOMEPAGE="https://www.sudo.ws/"
+if [[ ${PV} == "9999" ]] ; then
+ inherit mercurial
+ EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
+else
+ uri_prefix=
+ case ${P} in
+ *_beta*|*_rc*) uri_prefix=beta/ ;;
+ esac
+
+ SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
+ ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
+ if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-solaris"
+ fi
+fi
+
+# Basic license is ISC-style as-is, some files are released under
+# 3-clause BSD license
+LICENSE="ISC BSD"
+SLOT="0"
+IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
+
+DEPEND="
+ sys-libs/zlib:=
+ gcrypt? ( dev-libs/libgcrypt:= )
+ ldap? (
+ >=net-nds/openldap-2.1.30-r1
+ sasl? (
+ dev-libs/cyrus-sasl
+ net-nds/openldap[sasl]
+ )
+ )
+ pam? ( sys-libs/pam )
+ sasl? ( dev-libs/cyrus-sasl )
+ skey? ( >=sys-auth/skey-1.1.5-r1 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sssd? ( sys-auth/sssd[sudo] )
+"
+RDEPEND="
+ ${DEPEND}
+ >=app-misc/editor-wrapper-3
+ virtual/editor
+ ldap? ( dev-lang/perl )
+ pam? ( sys-auth/pambase )
+ selinux? ( sec-policy/selinux-sudo )
+ sendmail? ( virtual/mta )
+"
+BDEPEND="
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+ ?? ( pam skey )
+ ?? ( gcrypt ssl )
+"
+
+MAKEOPTS+=" SAMPLES="
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+set_secure_path() {
+ # FIXME: secure_path is a compile time setting. using PATH or
+ # ROOTPATH is not perfect, env-update may invalidate this, but until it
+ # is available as a sudoers setting this will have to do.
+ einfo "Setting secure_path ..."
+
+ # first extract the default ROOTPATH from build env
+ SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
+ echo "${ROOTPATH}")
+ case "${SECURE_PATH}" in
+ */usr/sbin*) ;;
+ *) SECURE_PATH=$(unset PATH;
+ . "${EPREFIX}"/etc/profile.env; echo "${PATH}")
+ ;;
+ esac
+ if [[ -z ${SECURE_PATH} ]] ; then
+ ewarn " Failed to detect SECURE_PATH, please report this"
+ fi
+
+ # then remove duplicate path entries
+ cleanpath() {
+ local newpath thisp IFS=:
+ for thisp in $1 ; do
+ if [[ :${newpath}: != *:${thisp}:* ]] ; then
+ newpath+=:${thisp}
+ else
+ einfo " Duplicate entry ${thisp} removed..."
+ fi
+ done
+ SECURE_PATH=${newpath#:}
+ }
+ cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
+
+ # finally, strip gcc paths #136027
+ rmpath() {
+ local e newpath thisp IFS=:
+ for thisp in ${SECURE_PATH} ; do
+ for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
+ newpath+=:${thisp}
+ done
+ SECURE_PATH=${newpath#:}
+ }
+ rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
+
+ einfo "... done"
+}
+
+src_configure() {
+ local SECURE_PATH
+ set_secure_path
+
+ # audit: somebody got to explain me how I can test this before I
+ # enable it.. - Diego
+ # plugindir: autoconf code is crappy and does not delay evaluation
+ # until `make` time, so we have to use a full path here rather than
+ # basing off other values.
+ myeconfargs=(
+ # requires some python eclass
+ --disable-python
+ --enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
+ --enable-zlib=system
+ --with-editor="${EPREFIX}"/usr/libexec/editor
+ --with-env-editor
+ --with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
+ --with-rundir="${EPREFIX}"/run/sudo
+ --with-vardir="${EPREFIX}"/var/db/sudo
+ --without-linux-audit
+ --without-opie
+ $(use_enable gcrypt)
+ $(use_enable nls)
+ $(use_enable sasl)
+ $(use_enable ssl openssl)
+ $(use_with ldap)
+ $(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
+ $(use_with offensive insults)
+ $(use_with offensive all-insults)
+ $(use_with pam)
+ $(use_with pam pam-login)
+ $(use_with secure-path secure-path "${SECURE_PATH}")
+ $(use_with selinux)
+ $(use_with sendmail)
+ $(use_with skey)
+ $(use_with sssd)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use ldap ; then
+ dodoc README.LDAP
+
+ cat <<-EOF > "${T}"/ldap.conf.sudo
+ # See ldap.conf(5) and README.LDAP for details
+ # This file should only be readable by root
+
+ # supported directives: host, port, ssl, ldap_version
+ # uri, binddn, bindpw, sudoers_base, sudoers_debug
+ # tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
+ EOF
+
+ if use sasl ; then
+ cat <<-EOF >> "${T}"/ldap.conf.sudo
+
+ # SASL directives: use_sasl, sasl_mech, sasl_auth_id
+ # sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
+ EOF
+ fi
+
+ insinto /etc
+ doins "${T}"/ldap.conf.sudo
+ fperms 0440 /etc/ldap.conf.sudo
+
+ insinto /etc/openldap/schema
+ newins doc/schema.OpenLDAP sudo.schema
+ fi
+
+ pamd_mimic system-auth sudo auth account session
+ pamd_mimic system-auth sudo-i auth account session
+
+ keepdir /var/db/sudo/lectured
+ fperms 0700 /var/db/sudo/lectured
+ fperms 0711 /var/db/sudo #652958
+
+ # Don't install into /run as that is a tmpfs most of the time
+ # (bug #504854)
+ rm -rf "${ED}"/run || die
+
+ find "${ED}" -type f -name "*.la" -delete || die #697812
+}
+
+pkg_postinst() {
+ tmpfiles_process sudo.conf
+
+ #652958
+ local sudo_db="${EROOT}/var/db/sudo"
+ if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
+ chmod 711 "${sudo_db}" || die
+ fi
+
+ if use ldap ; then
+ ewarn
+ ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
+ ewarn
+ if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
+ ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
+ ewarn "configured in /etc/nsswitch.conf."
+ ewarn
+ ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
+ ewarn " sudoers: ldap files"
+ ewarn
+ fi
+ fi
+ if use prefix ; then
+ ewarn
+ ewarn "To use sudo, you need to change file ownership and permissions"
+ ewarn "with root privileges, as follows:"
+ ewarn
+ ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
+ ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
+ ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
+ ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
+ ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
+ ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
+ ewarn
+ fi
+
+ elog "To use the -A (askpass) option, you need to install a compatible"
+ elog "password program from the following list. Starred packages will"
+ elog "automatically register for the use with sudo (but will not force"
+ elog "the -A option):"
+ elog ""
+ elog " [*] net-misc/ssh-askpass-fullscreen"
+ elog " net-misc/x11-ssh-askpass"
+ elog ""
+ elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
+ elog "variable to the program you want to use."
+}