blob: 6b055b1124fd5c3da410c00a47f3e891d2e95d0d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-20001016-r10.ebuild,v 1.2 2002/07/11 06:30:55 drobbins Exp $
S=${WORKDIR}/${P}
DESCRIPTION="Utilities to deal with user accounts"
SRC_URI="ftp://ftp.pld.org.pl/software/shadow/old/${P}.tar.gz"
DEPEND=">=sys-libs/pam-0.73
nls? ( sys-devel/gettext )"
RDEPEND=">=sys-libs/pam-0.73"
src_unpack() {
unpack ${A}
cd ${S}/src
cp ${FILESDIR}/useradd.c ${S}/src
}
src_compile() {
local myconf
use nls || myconf="${myconf} --disable-nls"
./configure \
--disable-desrpc \
--with-libcrypt \
--with-libcrack \
--with-libpam \
--host=${CHOST} \
${myconf} || die "bad configure"
# Parallel make fails sometimes
make LDFLAGS="" || die "compile problem"
}
src_install() {
dodir /etc/default /etc/skel
make prefix=${D}/usr \
exec_prefix=${D} \
mandir=${D}/usr/share/man \
install || die "install problem"
mv ${D}/lib ${D}/usr
dosed -e "s:/lib:/usr/lib:" -e "s: libshadow.so':':" /usr/lib/libshadow.la
dosym /usr/bin/newgrp /usr/bin/sg
dosym /usr/sbin/useradd /usr/sbin/adduser
dosym /usr/sbin/vipw /usr/sbin/vigr
# remove dead links
rm -f ${D}/bin/{sg,vipw}
insinto /etc
# Using a securetty with devfs device names added
# (compat names kept for non-devfs compatibility)
insopts -m0600 ; doins ${FILESDIR}/securetty
insopts -m0600 ; doins ${S}/etc/login.access
insopts -m0644 ; doins ${S}/etc/limits
insopts -m0644 ; doins ${FILESDIR}/login.defs
insinto /etc/pam.d ; insopts -m0644
doins ${FILESDIR}/shadow
newins ${FILESDIR}/shadow groupadd
newins ${FILESDIR}/shadow useradd
doins ${FILESDIR}/chage
if [ -z "`use bootcd`" ]
then
# the manpage install is beyond my comprehension, and also broken.
# just do it over.
rm -rf ${D}/usr/share/man/*
for q in man/*.[0-9]
do
local dir="${D}/usr/share/man/man${q##*.}"
mkdir -p $dir
cp $q $dir
done
cd ${S}/doc
dodoc ANNOUNCE INSTALL LICENSE README WISHLIST
docinto txt
dodoc HOWTO LSM README.* *.txt
else
rm -rf ${D}/usr/share ${D}/usr/lib/lib*.{a,la}
fi
}
|