summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-05-18 04:35:18 +0000
committerMike Frysinger <vapier@gentoo.org>2009-05-18 04:35:18 +0000
commit6d1c910d15720fb7e6a458c5cb6c7e48e0bf3cc7 (patch)
treeebe8d593b9c595890ecfe3359252b3ed62ce5a15 /sys-apps/shadow
parentAdding alexxy's patch :) (diff)
downloadgentoo-2-6d1c910d15720fb7e6a458c5cb6c7e48e0bf3cc7.tar.gz
gentoo-2-6d1c910d15720fb7e6a458c5cb6c7e48e0bf3cc7.tar.bz2
gentoo-2-6d1c910d15720fb7e6a458c5cb6c7e48e0bf3cc7.zip
a little broken
Diffstat (limited to 'sys-apps/shadow')
-rw-r--r--sys-apps/shadow/shadow-4.1.4.ebuild187
1 files changed, 0 insertions, 187 deletions
diff --git a/sys-apps/shadow/shadow-4.1.4.ebuild b/sys-apps/shadow/shadow-4.1.4.ebuild
deleted file mode 100644
index 3aa92a668830..000000000000
--- a/sys-apps/shadow/shadow-4.1.4.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-4.1.4.ebuild,v 1.1 2009/05/11 04:11:48 vapier Exp $
-
-inherit eutils libtool toolchain-funcs pam multilib
-
-DESCRIPTION="Utilities to deal with user accounts"
-HOMEPAGE="http://shadow.pld.org.pl/ http://packages.qa.debian.org/s/shadow.html"
-SRC_URI="ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/shadow-${PV}.tar.bz2"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="audit cracklib nls pam selinux skey"
-
-RDEPEND="audit? ( sys-process/audit )
- cracklib? ( >=sys-libs/cracklib-2.7-r3 )
- pam? ( virtual/pam )
- !sys-apps/pam-login
- !app-admin/nologin
- skey? ( sys-auth/skey )
- selinux? ( >=sys-libs/libselinux-1.28 )
- nls? ( virtual/libintl )"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )"
-RDEPEND="${RDEPEND}
- pam? ( >=sys-auth/pambase-20080219.1 )"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}"/${PN}-4.1.3-dots-in-usernames.patch #22920
- elibtoolize
- epunt_cxx
-}
-
-src_compile() {
- tc-is-cross-compiler && export ac_cv_func_setpgrp_void=yes
- econf \
- --without-group-name-max-length \
- --enable-shared=no \
- --enable-static=yes \
- $(use_with audit) \
- $(use_with cracklib libcrack) \
- $(use_with pam libpam) \
- $(use_with skey) \
- $(use_with selinux) \
- $(use_enable nls) \
- $(use_with elibc_glibc nscd)
- emake || die "compile problem"
-}
-
-set_login_opt() {
- local comment="" opt=$1 val=$2
- [[ -z ${val} ]] && comment="#"
- sed -i -r \
- -e "/^#?${opt}/s:.*:${comment}${opt} ${val}:" \
- "${D}"/etc/login.defs
- local res=$(grep "^${comment}${opt}" "${D}"/etc/login.defs)
- einfo ${res:-Unable to find ${opt} in /etc/login.defs}
-}
-
-src_install() {
- emake DESTDIR="${D}" suidperms=4711 install || die "install problem"
- dosym useradd /usr/sbin/adduser
-
- # Remove libshadow and libmisc; see bug 37725 and the following
- # comment from shadow's README.linux:
- # Currently, libshadow.a is for internal use only, so if you see
- # -lshadow in a Makefile of some other package, it is safe to
- # remove it.
- rm -f "${D}"/{,usr/}$(get_libdir)/lib{misc,shadow}.{a,la}
-
- insinto /etc
- # Using a securetty with devfs device names added
- # (compat names kept for non-devfs compatibility)
- insopts -m0600 ; doins "${FILESDIR}"/securetty
- if ! use pam ; then
- insopts -m0600
- doins etc/login.access etc/limits
- fi
- # Output arch-specific cruft
- case $(tc-arch) in
- ppc*) echo "hvc0" >> "${D}"/etc/securetty
- echo "hvsi0" >> "${D}"/etc/securetty
- echo "ttyPSC0" >> "${D}"/etc/securetty;;
- hppa) echo "ttyB0" >> "${D}"/etc/securetty;;
- arm) echo "ttyFB0" >> "${D}"/etc/securetty;;
- sh) echo "ttySC0" >> "${D}"/etc/securetty
- echo "ttySC1" >> "${D}"/etc/securetty;;
- esac
-
- # needed for 'adduser -D'
- insinto /etc/default
- insopts -m0600
- doins "${FILESDIR}"/default/useradd
-
- # move passwd to / to help recover broke systems #64441
- mv "${D}"/usr/bin/passwd "${D}"/bin/
- dosym /bin/passwd /usr/bin/passwd
-
- cd "${S}"
- insinto /etc
- insopts -m0644
- newins etc/login.defs login.defs
-
- if ! use pam ; then
- set_login_opt MAIL_CHECK_ENAB no
- set_login_opt SU_WHEEL_ONLY yes
- set_login_opt CRACKLIB_DICTPATH /usr/$(get_libdir)/cracklib_dict
- set_login_opt LOGIN_RETRIES 3
- set_login_opt ENCRYPT_METHOD SHA512
- else
- dopamd "${FILESDIR}/pam.d-include/"{su,passwd,shadow}
-
- newpamd "${FILESDIR}/login.pamd.2" login
-
- for x in chage chsh chfn chpasswd newusers \
- user{add,del,mod} group{add,del,mod} ; do
- newpamd "${FILESDIR}"/pam.d-include/shadow ${x}
- done
-
- # comment out login.defs options that pam hates
- local opt
- for opt in \
- CHFN_AUTH \
- CRACKLIB_DICTPATH \
- ENV_HZ \
- ENVIRON_FILE \
- FAILLOG_ENAB \
- FTMP_FILE \
- LASTLOG_ENAB \
- MAIL_CHECK_ENAB \
- MOTD_FILE \
- NOLOGINS_FILE \
- OBSCURE_CHECKS_ENAB \
- PASS_ALWAYS_WARN \
- PASS_CHANGE_TRIES \
- PASS_MIN_LEN \
- PORTTIME_CHECKS_ENAB \
- QUOTAS_ENAB \
- SU_WHEEL_ONLY
- do
- set_login_opt ${opt}
- done
-
- sed -i -f "${FILESDIR}"/login_defs_pam.sed \
- "${D}"/etc/login.defs
-
- # remove manpages that pam will install for us
- # and/or don't apply when using pam
- find "${D}"/usr/share/man \
- '(' -name 'limits.5*' -o -name 'suauth.5*' ')' \
- -exec rm {} \;
- fi
-
- # Remove manpages that are handled by other packages
- find "${D}"/usr/share/man \
- '(' -name id.1 -o -name passwd.5 -o -name getspnam.3 ')' \
- -exec rm {} \;
-
- cd "${S}"
- dodoc ChangeLog NEWS TODO
- newdoc README README.download
- cd doc
- dodoc HOWTO README* WISHLIST *.txt
-}
-
-pkg_preinst() {
- rm -f "${ROOT}"/etc/pam.d/system-auth.new \
- "${ROOT}/etc/login.defs.new"
-
- use pam && pam_epam_expand "${D}"/etc/pam.d/login
-}
-
-pkg_postinst() {
- # Enable shadow groups (we need ROOT=/ here, as grpconv only
- # operate on / ...).
- if [[ ${ROOT} == / && ! -f /etc/gshadow ]] ; then
- if grpck -r 2>/dev/null ; then
- grpconv
- else
- ewarn "Running 'grpck' returned errors. Please run it by hand, and then"
- ewarn "run 'grpconv' afterwards!"
- fi
- fi
-}