summaryrefslogtreecommitdiff
blob: dc3c7165da9c47e355fc900d4b561c0218903a7d (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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.2.8.ebuild,v 1.9 2003/09/11 01:40:30 msterret Exp $


S=${WORKDIR}/${P}
DESCRIPTION="The AFS 3 distributed file system  targets the issues  critical to
distributed computing environments. AFS performs exceptionally well,
both within small, local work groups of machines and across wide-area
configurations in support of large, collaborative efforts. AFS provides
an architecture geared towards system management, along with the tools
to perform important management tasks. For a user, AFS is a familiar yet
extensive UNIX environment for accessing files easily and quickly."

SRC_URI="http://openafs.org/dl/openafs/${PV}/${P}-src.tar.bz2"
HOMEPAGE="http://www.openafs.org/"

SLOT="0"
LICENSE="IPL-1"
KEYWORDS="x86 -ppc -sparc "
SANDBOX_DISABLED="1"

DEPEND=">=sys-apps/portage-2.0.47-r10
	>=sys-libs/ncurses-5.2
	>=sys-libs/pam-0.75"

ARCH=i386_linux24

src_unpack() {
	unpack ${A}

	cd ${S}/src/config
	cp Makefile.i386_linux24.in Makefile.i386_linux24.in.old
	sed -e "s|/usr/lib/libncurses.so|-lncurses|g" \
		Makefile.i386_linux24.in.old > Makefile.i386_linux24.in
	rm Makefile.i386_linux24.in.old
}

src_compile() {
	epatch ${FILESDIR}/openafs-1.2.6.patch
	epatch ${FILESDIR}/openafs-1.2.8.patch

	./configure \
		--with-afs-sysname=i386_linux24 \
		--enable-transarc-paths || die
	cp src/pam/Makefile src/pam/Makefile.old
	sed -e "s|-I/usr/include/sys| |g" \
			src/pam/Makefile.old > src/pam/Makefile
	rm src/pam/Makefile.old

	make || die
	make dest || die
}

src_install () {


# Client

	cd ${S}/${ARCH}/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

	dodir /afs

	exeinto /etc/init.d
	newexe ${FILESDIR}/afs.rc.rc6 afs

	dosbin etc/afsd

	# Client Bin
	cd ${S}/${ARCH}/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}/${ARCH}/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 () {
	echo ">>> UPDATE CellServDB and ThisCell to your needs !!"
	echo ">>> FOLLOW THE INSTRUCTIONS IN AFS QUICK BEGINNINGS"
	echo ">>> PAGE >45 TO DO INITIAL SERVER SETUP"    fi
}