summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/pam/pam-0.75-r8.ebuild')
-rw-r--r--sys-libs/pam/pam-0.75-r8.ebuild168
1 files changed, 168 insertions, 0 deletions
diff --git a/sys-libs/pam/pam-0.75-r8.ebuild b/sys-libs/pam/pam-0.75-r8.ebuild
new file mode 100644
index 000000000000..af5d9704e0b5
--- /dev/null
+++ b/sys-libs/pam/pam-0.75-r8.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/pam/pam-0.75-r8.ebuild,v 1.1 2002/10/13 09:35:10 azarah Exp $
+
+IUSE="berkdb"
+
+inherit gcc
+
+S=${WORKDIR}/Linux-PAM-${PV}
+S2=${WORKDIR}/pam
+DESCRIPTION="Pluggable Authentication Modules"
+SRC_URI="http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-${PV}.tar.gz
+ mirror://gentoo/pam-${PVR}-gentoo.tbz2"
+HOMEPAGE="http://www.redhat.com/linux-info/pam/"
+
+LICENSE="PAM"
+KEYWORDS="~x86 ~ppc ~sparc ~sparc64 ~alpha"
+SLOT="0"
+
+DEPEND=">=sys-libs/cracklib-2.7-r3
+ =dev-libs/glib-1.2*
+ >=sys-libs/pwdb-0.61-r3
+ >=sys-devel/autoconf-2.5
+ >=sys-devel/automake-1.6
+ >=sys-devel/flex-2.5.4a-r5
+ berkdb? ( ~sys-libs/db-1.85
+ ~sys-libs/db-3.2.9 )"
+
+src_unpack() {
+ unpack ${A}
+
+# cd ${WORKDIR}
+# tar -jxf ${FILESDIR}/pam-${PVR}-gentoo.tbz2 || \
+# die "Failed to unpack patches"
+
+ cd ${S}
+ tar -jxf ${S2}/pam-redhat-0.75-41.1.tar.bz2 || \
+ die "Failed to unpack pam-redhat-0.75-41.1.tar.bz2"
+
+ cp /usr/share/automake/install-sh . || die
+ ln -sf defs/redhat.defs default.defs
+
+ einfo "Applying various patches (bugfixes/updates)..."
+ for x in $(cat ${S2}/patch.list ${S2}/patch.list.gentoo)
+ do
+ if [ -f ${S2}/patchdir/${x} ]
+ then
+ einfo " ${x##*/}..."
+ bzip2 -dc ${S2}/patchdir/${x} | patch -p1 > /dev/null || \
+ die "Failed Patch: ${x##*/}!"
+ fi
+ done
+
+ for readme in modules/pam_*/README
+ do
+ cp -f ${readme} doc/txts/README.$(dirname ${readme} | sed -e 's|^modules/||')
+ done
+
+ export WANT_AUTOCONF_2_5=1
+ autoconf
+
+ cd ${S}/doc
+ einfo "Unpacking docs..."
+ tar -xvzf Linux-PAM-0.75-docs.tar.gz > /dev/null || \
+ die "Failed to unpack docs"
+}
+
+src_compile() {
+ export CFLAGS="${CFLAGS} -fPIC"
+
+ ./configure --host=${CHOST} \
+ --prefix=/ \
+ --sbindir=/usr/sbin \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-securedir=/lib/security \
+ --enable-fakeroot=${D} \
+ --enable-static-libpam \
+ || die "Failed to configure"
+
+ # Python stuff in docs gives sandbox problems
+ cp Makefile Makefile.orig
+ sed -e "s:libpam_misc doc examples:libpam_misc:" \
+ Makefile.orig > Makefile
+
+ # Fix warnings for gcc-2.95.3
+ if [ "$(gcc-version)" = "2.95" ]
+ then
+ cp Make.Rules Make.Rules.orig
+ sed -e "s:-Wpointer-arith::" \
+ Make.Rules.orig > Make.Rules
+ rm -f Make.Rules.orig
+ fi
+
+ if [ -z "`use berkdb`" ]
+ then
+ cp Make.Rules Make.Rules.orig
+ sed -e "s:^HAVE_LIBNDBM=yes:HAVE_LIBNDBM=no:" \
+ Make.Rules.orig > Make.Rules
+ rm -f Make.Rules.orig
+ fi
+
+ make || die "Failed to build"
+}
+
+src_install() {
+ make FAKEROOT=${D} \
+ LDCONFIG="" \
+ install || die
+
+ # Make sure every module built.
+ # Do not remove this, as some module can fail to build
+ # and effectively lock the user out of his system.
+ for x in ${S}/modules/pam_*
+ do
+ if [ -d ${x} ]
+ then
+ if ! ls -1 ${D}/lib/security/$(basename ${x})*.so &> /dev/null
+ then
+ if [ -z "`use berkdb`" ] && \
+ [ "$(basename ${x})" = "pam_userdb" ]
+ then
+ continue
+ fi
+ eerror "ERROR: $(basename ${x}) module did not build."
+ exit 1
+ fi
+ fi
+ done
+
+ cd ${S}
+ dodoc CHANGELOG Copyright README
+ docinto modules
+ dodoc modules/README
+ dodoc doc/txts/README.*
+ docinto txt
+ dodoc doc/txts/*.txt doc/specs/*.txt
+ docinto print
+ dodoc doc/ps/*.ps
+
+ doman doc/man/*.[38]
+
+ docinto html
+ dohtml -r doc/html/
+
+ dodir /usr/lib
+ cd ${D}/lib
+ for x in pam pamc pam_misc
+ do
+ rm lib${x}.so
+ ln -s lib${x}.so.${PV} lib${x}.so
+ ln -s lib${x}.so.${PV} lib${x}.so.0
+ mv lib${x}.a ${D}/usr/lib
+ done
+
+ # need this for pam_console
+ keepdir /var/run/console
+
+ insinto /etc/pam.d
+ for x in ${FILESDIR}/${PVR}/pam.d/*
+ do
+ if [ -f ${x} ]
+ then
+ doins ${x}
+ fi
+ done
+}
+