# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.2.10-r2.ebuild,v 1.11 2005/05/30 18:57:52 swegener Exp $ inherit check-kernel fixheadtails flag-o-matic eutils toolchain-funcs DESCRIPTION="The AFS 3 scalable distributed file system" HOMEPAGE="http://www.openafs.org/" SRC_URI="http://openafs.org/dl/openafs/${PV}/${P}-src.tar.bz2" LICENSE="IPL-1" SLOT="0" KEYWORDS="~x86 ~alpha ~ia64" IUSE="" DEPEND="virtual/linux-sources >=sys-apps/portage-2.0.47-r10 >=sys-libs/ncurses-5.2 >=sys-libs/pam-0.75 >=sys-apps/gawk-3.1.1" pkg_setup() { if is_2_5_kernel || is_2_6_kernel then die "OpenAFS does not yet support 2.5 and 2.6 kernels" fi } src_unpack() { unpack ${A} cd ${S} ht_fix_file "acinclude.m4" ht_fix_file "config.guess" ht_fix_file "src/afsd/afs.rc.linux" ht_fix_file "aclocal.m4" ht_fix_file "configure" ht_fix_file "configure-libafs" epatch ${FILESDIR}/openafs-pinstall-execve-1.2.10.patch #added for bug #10952 #tested on x86, alpha, amd64 (rphillips) epatch ${FILESDIR}/openafs-typechange.patch } src_compile() { # The CC/MT_CC setting is required for link on alpha, and # recommended for link on x86 and other arches (even those that # don't technically require it). # http://marc.theaimsgroup.com/?l=gentoo-dev&m=107112691504786&w=2 # # It's possible that CFLAGS could be added to MT_CC as well, but # I'm not experimenting here, just making it work on multiple # arches... (12 Jan 2004 agriffis) econf --enable-transarc-paths || die econf make CC="$(tc-getCC)" MT_CC="$(tc-getCC) -fPIC" || die make } src_install() { local sys_name=$(sed -n 's/^SYS_NAME=//p' Makefile) || die sys_name make dest || die dest # Client cd ${S}/${sys_name}/dest/root.client/usr/vice insinto /etc/afs/modload doins etc/modload/* insinto /etc/afs/C doins etc/C/* insinto /etc/afs doins ${FILESDIR}/{ThisCell,CellServDB} doins etc/afs.conf # Can't make this in src_install with keepdir because there might # be mounted afs filesystems at the time that this package is # installed/updated. Can't test with mount because this might not # be the host where the package will be installed. The best way # to do this is put it in pkg_* functions. (12 Jan 2004 agriffis) #mount -t afs | awk '{ exit $3 == "/afs" }' && keepdir /afs exeinto /etc/init.d newexe ${FILESDIR}/afs.rc.rc6 afs dosbin etc/afsd # Client Bin cd ${S}/${sys_name}/dest exeinto /usr/afsws/bin doexe bin/* exeinto /etc/afs/afsws doexe etc/* cp -a include lib ${D}/usr/afsws dosym /usr/afsws/lib/afs/libtermlib.a /usr/afsws/lib/afs/libnull.a # Server cd ${S}/${sys_name}/dest/root.server/usr/afs exeinto /usr/afs/bin doexe bin/* dodir /usr/vice dosym /etc/afs /usr/vice/etc dosym /etc/afs/afsws /usr/afsws/etc dodoc ${FILESDIR}/README dodir /etc/env.d echo 'CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws"' \ >> ${D}/etc/env.d/01${PN} echo 'PATH=/usr/afsws/bin:/etc/afs/afsws' \ >> ${D}/etc/env.d/01${PN} echo 'ROOTPATH=/usr/afsws/bin:/etc/afs/afsws:/usr/afs/bin' \ >> ${D}/etc/env.d/01${PN} } pkg_postinst() { # See note in src_install regarding this mkdir /afs 2>/dev/null einfo einfo "UPDATE CellServDB and ThisCell to your needs !!" einfo "FOLLOW THE INSTRUCTIONS IN AFS QUICK BEGINNINGS" einfo "PAGE >45 TO DO INITIAL SERVER SETUP" einfo } pkg_prerm() { # See note in src_install regarding this rmdir /afs 2>/dev/null }