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
86
87
88
89
90
91
92
93
94
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-libs/cracklib/cracklib-2.7-r10.ebuild,v 1.12 2005/02/11 06:06:41 vapier Exp $
inherit flag-o-matic eutils toolchain-funcs
MY_P=${P/-/,}
DESCRIPTION="Password Checking Library"
HOMEPAGE="http://www.crypticide.org/users/alecm/"
SRC_URI="http://www.crypticide.org/users/alecm/security/${MY_P}.tar.gz"
LICENSE="CRACKLIB"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86"
IUSE="pam uclibc"
RDEPEND="sys-apps/miscfiles
>=sys-apps/portage-2.0.47-r10"
DEPEND="${RDEPEND}
uclibc? ( app-arch/gzip )
sys-devel/gcc-config"
S="${WORKDIR}/${MY_P}"
src_unpack() {
unpack ${A}
cd ${S}
epatch ${FILESDIR}/${P}-redhat.patch
epatch ${FILESDIR}/${P}-gentoo-new.diff
epatch ${FILESDIR}/${P}-static-lib.patch
epatch ${FILESDIR}/${P}-libdir.patch
epatch ${FILESDIR}/${P}-parallel-make.patch
epatch ${FILESDIR}/${P}-cross-compile.patch
# add compressed dict support, taken from shadow-4.0.4.1
use uclibc && epatch ${FILESDIR}/${PN}-${PV}-gzip.patch
sed -i \
-e 's|/usr/dict/words|/usr/share/dict/words|' \
util/create-cracklib-dict \
|| die "sed util/create-cracklib-dict failed"
if [ "${ARCH}" = "alpha" -a "${CC}" = "ccc" ] ; then
sed -i \
-e 's:CFLAGS += -g :CFLAGS += -g3 :' \
${S}/cracklib/Makefile \
|| die "sed ${S}/cracklib/Makefile failed"
fi
}
src_compile() {
tc-export CC LD AR
emake all || die "emake failed"
}
src_install() {
dodir /usr/{$(get_libdir),sbin,include,lib} /$(get_libdir)
keepdir /usr/share/cracklib
make DESTDIR="${D}" install LIBDIR="/usr/$(get_libdir)" || die "make install failed"
# Needed by pam
if [ ! -f "${D}/usr/$(get_libdir)/libcrack.a" ] && use pam ; then
eerror "Could not find libcrack.a which is needed by core components!"
die "Could not find libcrack.a which is needed by core components!"
fi
# correct permissions on static lib
if [ -x "${D}/usr/$(get_libdir)/libcrack.a" ] ; then
fperms 644 "/usr/$(get_libdir)/libcrack.a"
fi
# put libcrack.so.2.7 in /lib for cases where /usr isn't available yet
mv "${D}/usr/$(get_libdir)/libcrack.so"* "${D}/$(get_libdir)" \
|| die "mv failed"
# This link is needed and not created. :| bug #9611
dosym libcrack.so.2.7 "/$(get_libdir)/libcrack.so.2"
## remove it, if not needed
##use pam || rm -f ${D}/usr/lib/libcrack.a
# actually keep it, so other things can link against it if required and
# it's possible that pam is NOT in the USE flag at the time, and will be
# later on only.
cp "${S}/cracklib/packer.h" "${D}/usr/include" || die "cp failed"
#fix the permissions on it as they may be wrong in some cases
fperms 644 /usr/include/packer.h
preplib "/usr/$(get_libdir)" "/$(get_libdir)"
dodoc "${S}/"{HISTORY,MANIFEST,POSTER,README}
}
|