sudo: update to latest stable version

Upgraded app-admin/sudo to version 1.8.3_p2 on amd64, arm, x86.

This is more to get us onto the Gentoo version and off our local one.

BUG=chromium-os:11991
TEST=`cbuildbot chromiumos-sdk` worked

Change-Id: Ie86036c724be855e0565656e41da2cdc0713cbdb
Reviewed-on: https://gerrit.chromium.org/gerrit/19300
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Mike Frysinger 2012-03-28 18:24:31 -04:00 committed by Gerrit
parent 58ac79cfad
commit 32217f6fea
4 changed files with 218 additions and 0 deletions

View File

@ -0,0 +1 @@
DIST sudo-1.8.3p2.tar.gz 1536943 RMD160 5a6b8574d2245cc89d2ac982eae9cb6ca2414033 SHA1 37d70b133f809116ce631229fa0e727d9f5125ad SHA256 7edcf02ef4dc4f26f524726e8faaa90d7939772c186409ab150d2934e3a9ba31

View File

@ -0,0 +1,25 @@
respect user LINGUAS when installing translations
http://www.sudo.ws/pipermail/sudo-workers/2011-November/000701.html
diff -r ecd3533cb711 -r f99b940123fa Makefile.in
--- a/Makefile.in Fri Oct 07 13:52:45 2011 -0400
+++ b/Makefile.in Tue Nov 15 00:53:52 2011 -0500
@@ -226,6 +226,7 @@
install-nls:
@if test "$(NLS)" = "enabled"; then \
+ install_mos="$(LINGUAS)"; \
cd $(top_srcdir); \
for pot in $(POTFILES); do \
podir=`dirname $$pot`; \
@@ -233,6 +234,9 @@
echo $(ECHO_N) "Installing $$domain message catalogs:$(ECHO_C)"; \
for mo in $$podir/*.mo; do \
lang=`basename $$mo .mo`; \
+ if [ -n "$$install_mos" ]; then \
+ case " $$install_mos " in *" $$lang "*) :;; *) continue;; esac; \
+ fi; \
echo $(ECHO_N) " $$lang$(ECHO_C)"; \
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0644 $$mo $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$$domain.mo; \

View File

@ -0,0 +1,178 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/sudo/sudo-1.8.3_p2.ebuild,v 1.9 2012/03/03 14:37:03 ranger Exp $
EAPI="4"
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="as-is BSD"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE="ldap nls pam offensive selinux skey"
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
virtual/mta"
DEPEND="${DEPEND}
sys-devel/bison"
S=${WORKDIR}/${MY_P}
REQUIRED_USE="pam? ( !skey ) skey? ( !pam )"
MAKEOPTS+=" SAMPLES="
src_prepare() {
epatch "${FILESDIR}"/${PN}-1.8.3_p1-linguas.patch
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; . /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=/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) \
--without-opie \
--without-linux-audit \
--with-timedir=/var/db/sudo \
--with-plugindir=/usr/$(get_libdir)/sudo \
--docdir=/usr/share/doc/${PF}
}
src_install() {
emake DESTDIR="${D}" install || die
if use ldap ; then
dodoc README.LDAP doc/schema.OpenLDAP
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
fi
pamd_mimic system-auth sudo auth account session
keepdir /var/db/sudo
fperms 0700 /var/db/sudo
}
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
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."
}

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install postinst prepare
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 sys-devel/bison
DESCRIPTION=Allows users or groups to run commands as other users
EAPI=4
HOMEPAGE=http://www.sudo.ws/
IUSE=ldap nls pam offensive selinux skey
KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd
LICENSE=as-is BSD
RDEPEND=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 selinux? ( sec-policy/selinux-sudo ) ldap? ( dev-lang/perl ) pam? ( sys-auth/pambase ) >=app-misc/editor-wrapper-3 virtual/editor virtual/mta
REQUIRED_USE=pam? ( !skey ) skey? ( !pam )
SLOT=0
SRC_URI=http://www.sudo.ws/sudo/dist/sudo-1.8.3p2.tar.gz ftp://ftp.sudo.ws/pub/sudo/sudo-1.8.3p2.tar.gz
_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a flag-o-matic 01a8b1eb019305bc4b4a8bd0b04e4cd8 libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e pam 3f746974e1cc47cabe3bd488c08cdc8e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29
_md5_=612df84605527fce958dd9ffec46ff2b