forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-admin/sudo: Bump to version 1.8.17
Package-Manager: portage-2.3.0 Signed-off-by: Lars Wendler <[email protected]>
- Loading branch information
Lars Wendler
committed
Jul 2, 2016
1 parent
ad65542
commit 1b26bd2
Showing
2 changed files
with
201 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST sudo-1.8.15.tar.gz 2660128 SHA256 4316381708324da8b6cb151f655c1a11855207c7c02244d8ffdea5104d7cc308 SHA512 f2bff92104ddc4cbea8c788da446043cbfe02c977cedf18d46b1c82e98d7227432cb5a61233e7a06af84e3637f906edd5e02bb88c03a2ce4a16df410469a5dab WHIRLPOOL 3da64eda51f22d7fc0ea76f0693e9960d511b7c762b5d6237318d17436fd64b58ae90caa9bf4e125ebee70b83eac7cba2c7451fb62fafd8ee3d133c4ae2037b9 | ||
DIST sudo-1.8.16.tar.gz 2707358 SHA256 2d83826fc5125bf073acc203dbda1cf2abeee017090ccc9dddb0431a53d5064d SHA512 7cf5399eb65c4b39071213c27c34d35ed2ea9c4578f19f6e8d3777179914fa30a2848c042e9f85e90e3b5d056322b9eb6c79e2d3b9b210a795e9921a1b00200b WHIRLPOOL 747bff26e93475441aab6bb6ff8e51114f8155277d570cbdb28909b7e63a49fcdcf5d65f186a2ec067f1100cac3c0a2e6f3a7611f78d83794f41d6884a8c6fc9 | ||
DIST sudo-1.8.17.tar.gz 2786216 SHA256 62b12c4fa9a3ad4f20f6e7576bc6405b2ec8d76222ea44a1c94830c68cccec8c SHA512 475d8357f2b6b0542f886db544465ff386311893babccb7b6603dac0deb82a9a6c50e82a3d7bee2713de79556e0ec326240fd8766deadbe05569a92a790e62d5 WHIRLPOOL dc81953d266a9fad674bd25688a59013f89aeecd7c61e75f9d246f8671b703542820bc8318bb584c8a1b9ec78af16498f3e0f253e0a83c90e6055fde6f9bc0d1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=6 | ||
|
||
inherit eutils pam multilib libtool | ||
|
||
MY_P=${P/_/} | ||
MY_P=${MY_P/beta/b} | ||
|
||
uri_prefix= | ||
case ${P} in | ||
*_beta*|*_rc*) uri_prefix=beta/ ;; | ||
esac | ||
|
||
DESCRIPTION="Allows users or groups to run commands as other users" | ||
HOMEPAGE="http://www.sudo.ws/" | ||
SRC_URI="http://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz | ||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz" | ||
|
||
# Basic license is ISC-style as-is, some files are released under | ||
# 3-clause BSD license | ||
LICENSE="ISC BSD" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~sparc-solaris" | ||
IUSE="ldap nls pam offensive selinux skey +sendmail" | ||
|
||
DEPEND="pam? ( virtual/pam ) | ||
skey? ( >=sys-auth/skey-1.1.5-r1 ) | ||
ldap? ( | ||
>=net-nds/openldap-2.1.30-r1 | ||
dev-libs/cyrus-sasl | ||
) | ||
sys-libs/zlib" | ||
RDEPEND="${DEPEND} | ||
selinux? ( sec-policy/selinux-sudo ) | ||
ldap? ( dev-lang/perl ) | ||
pam? ( sys-auth/pambase ) | ||
>=app-misc/editor-wrapper-3 | ||
virtual/editor | ||
sendmail? ( virtual/mta )" | ||
DEPEND="${DEPEND} | ||
sys-devel/bison" | ||
|
||
S=${WORKDIR}/${MY_P} | ||
|
||
REQUIRED_USE="pam? ( !skey ) skey? ( !pam )" | ||
|
||
MAKEOPTS+=" SAMPLES=" | ||
|
||
src_prepare() { | ||
default | ||
elibtoolize | ||
} | ||
|
||
set_rootpath() { | ||
# FIXME: secure_path is a compile time setting. using 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 | ||
ROOTPATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}") | ||
if [[ -z ${ROOTPATH} ]] ; then | ||
ewarn " Failed to find ROOTPATH, 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 | ||
ROOTPATH=${newpath#:} | ||
} | ||
cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${ROOTPATH:+:${ROOTPATH}} | ||
|
||
# finally, strip gcc paths #136027 | ||
rmpath() { | ||
local e newpath thisp IFS=: | ||
for thisp in ${ROOTPATH} ; do | ||
for e ; do [[ $thisp == $e ]] && continue 2 ; done | ||
newpath+=:$thisp | ||
done | ||
ROOTPATH=${newpath#:} | ||
} | ||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*' | ||
|
||
einfo "... done" | ||
} | ||
|
||
src_configure() { | ||
local ROOTPATH | ||
set_rootpath | ||
|
||
# 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. | ||
econf \ | ||
--enable-zlib=system \ | ||
--with-secure-path="${ROOTPATH}" \ | ||
--with-editor="${EPREFIX}"/usr/libexec/editor \ | ||
--with-env-editor \ | ||
$(use_with offensive insults) \ | ||
$(use_with offensive all-insults) \ | ||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo) \ | ||
$(use_with ldap) \ | ||
$(use_enable nls) \ | ||
$(use_with pam) \ | ||
$(use_with skey) \ | ||
$(use_with selinux) \ | ||
$(use_with sendmail) \ | ||
--without-opie \ | ||
--without-linux-audit \ | ||
--with-rundir="${EPREFIX}"/var/run/sudo \ | ||
--with-vardir="${EPREFIX}"/var/db/sudo \ | ||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo \ | ||
--docdir="${EPREFIX}"/usr/share/doc/${PF} | ||
} | ||
|
||
src_install() { | ||
default | ||
|
||
if use ldap ; then | ||
dodoc README.LDAP | ||
dosbin plugins/sudoers/sudoers2ldif | ||
|
||
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 | ||
|
||
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 | ||
|
||
keepdir /var/db/sudo | ||
fperms 0700 /var/db/sudo | ||
|
||
# Don't install into /var/run as that is a tmpfs most of the time | ||
# (bug #504854) | ||
rm -rf "${D}"/var/run | ||
} | ||
|
||
pkg_postinst() { | ||
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." | ||
} |