summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
authorStefaan De Roeck <stefaan@gentoo.org>2007-11-15 11:52:46 +0000
committerStefaan De Roeck <stefaan@gentoo.org>2007-11-15 11:52:46 +0000
commit175b6e17609f5705c85fa20f903a88c00983f38a (patch)
treed8d997d7a3a2c23956e66d16c3ba241a45c5652c /net-fs
parentRemove old version. (diff)
downloadhistorical-175b6e17609f5705c85fa20f903a88c00983f38a.tar.gz
historical-175b6e17609f5705c85fa20f903a88c00983f38a.tar.bz2
historical-175b6e17609f5705c85fa20f903a88c00983f38a.zip
Version bumps
Package-Manager: portage-2.1.3.19
Diffstat (limited to 'net-fs')
-rw-r--r--net-fs/openafs-kernel/ChangeLog10
-rw-r--r--net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.56
-rw-r--r--net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.276
-rw-r--r--net-fs/openafs-kernel/files/tasklist_lock.patch47
-rw-r--r--net-fs/openafs-kernel/files/tasklist_lock_1.5.12.patch15
-rw-r--r--net-fs/openafs-kernel/openafs-kernel-1.4.5.ebuild55
-rw-r--r--net-fs/openafs-kernel/openafs-kernel-1.5.27.ebuild52
-rw-r--r--net-fs/openafs/ChangeLog9
-rw-r--r--net-fs/openafs/files/digest-openafs-1.4.59
-rw-r--r--net-fs/openafs/files/digest-openafs-1.5.279
-rw-r--r--net-fs/openafs/files/fs-fix.patch10
-rw-r--r--net-fs/openafs/openafs-1.4.5.ebuild143
-rw-r--r--net-fs/openafs/openafs-1.5.27.ebuild322
13 files changed, 619 insertions, 74 deletions
diff --git a/net-fs/openafs-kernel/ChangeLog b/net-fs/openafs-kernel/ChangeLog
index f6132b977026..dd611576df58 100644
--- a/net-fs/openafs-kernel/ChangeLog
+++ b/net-fs/openafs-kernel/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-fs/openafs-kernel
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.82 2007/11/14 12:26:06 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.83 2007/11/15 11:52:11 stefaan Exp $
+
+*openafs-kernel-1.5.27 (15 Nov 2007)
+*openafs-kernel-1.4.5 (15 Nov 2007)
+
+ 15 Nov 2007; Stefaan De Roeck <stefaan@gentoo.org>
+ -files/tasklist_lock.patch, -files/tasklist_lock_1.5.12.patch,
+ +openafs-kernel-1.4.5.ebuild, +openafs-kernel-1.5.27.ebuild:
+ Version bumps
14 Nov 2007; Stefaan De Roeck <stefaan@gentoo.org>
-openafs-kernel-1.4.4_p20070724-r1.ebuild:
diff --git a/net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.5 b/net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.5
new file mode 100644
index 000000000000..07adb7804766
--- /dev/null
+++ b/net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.5
@@ -0,0 +1,6 @@
+MD5 fd92e736bac06668ad6151928dcc697e openafs-1.4.5-src.tar.bz2 12483615
+RMD160 baf00d0443ce113b380082b40b9b077cb4df5a17 openafs-1.4.5-src.tar.bz2 12483615
+SHA256 5c6a5f4f7f1f9e173af03a82e7394e6e588477b504ce89106b7722b9728effbe openafs-1.4.5-src.tar.bz2 12483615
+MD5 ba74f1663bc740bda8f993f54eef801f openafs-gentoo-0.14.tar.bz2 18293
+RMD160 2a7ed8a40395d402de2f972fe0f96154d811e2b6 openafs-gentoo-0.14.tar.bz2 18293
+SHA256 e27918d395d656659b6f0d288d8a4d2501bd4ca6582824b8f3bbd420b06e6f6c openafs-gentoo-0.14.tar.bz2 18293
diff --git a/net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.27 b/net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.27
new file mode 100644
index 000000000000..28003ec3f625
--- /dev/null
+++ b/net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.27
@@ -0,0 +1,6 @@
+MD5 4097bbb022e2c550bd6f073d502d5be1 openafs-1.5.27-src.tar.bz2 13241331
+RMD160 759a6fd12e4a813e58c837df65c70d946b359629 openafs-1.5.27-src.tar.bz2 13241331
+SHA256 0c7e9413990a779f357f4ca7bc730b98dbb07964f918141c404c83c9ec66d45b openafs-1.5.27-src.tar.bz2 13241331
+MD5 ba74f1663bc740bda8f993f54eef801f openafs-gentoo-0.14.tar.bz2 18293
+RMD160 2a7ed8a40395d402de2f972fe0f96154d811e2b6 openafs-gentoo-0.14.tar.bz2 18293
+SHA256 e27918d395d656659b6f0d288d8a4d2501bd4ca6582824b8f3bbd420b06e6f6c openafs-gentoo-0.14.tar.bz2 18293
diff --git a/net-fs/openafs-kernel/files/tasklist_lock.patch b/net-fs/openafs-kernel/files/tasklist_lock.patch
deleted file mode 100644
index f52981f67cb3..000000000000
--- a/net-fs/openafs-kernel/files/tasklist_lock.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Date: Fri, 27 Oct 2006 18:46:38 -0400
-From: Jeffrey Hutzelman
-To: "Peter N. Schweitzer"
-cc: Stefaan, openafs-info@openafs.org,
- Jeffrey Hutzelman
-Subject: Re: [OpenAFS] tasklist_lock undefined Linux 2.6.18, OpenAFS 1.4.2
-
-
-On Friday, October 27, 2006 03:53:23 PM -0400 "Peter N. Schweitzer" wrote:
-
-># nm afs_osi.o | grep tasklist_lock
-> U tasklist_lock
-
-OK; this is the one we're looking for. That, combined with Stefaan's
-comment about not having the problem if keyring support is enabled, makes
-me think the compiler is doing something bogus here, like not correctly
-handling the 'weak' attribute on an extern symbol not declared in global
-scope.
-
-Try the following patch:
-
-
---- src/afs/afs_osi.c.orig 2006-10-27 18:45:35.000000000 -0400
-+++ src/afs/afs_osi.c 2006-10-27 18:45:43.000000000 -0400
-@@ -805,11 +805,11 @@
- #endif
-
- #if defined(AFS_LINUX22_ENV)
-+extern rwlock_t tasklist_lock __attribute__((weak));
- void
- afs_osi_TraverseProcTable()
- {
- #if !defined(LINUX_KEYRING_SUPPORT)
-- extern rwlock_t tasklist_lock __attribute__((weak));
- struct task_struct *p;
-
- if (&tasklist_lock)
-
-
-
-> I'm still thinking there's some kernel feature that I should have enabled
-> but didn't know I needed.
-
-No; the symbol really isn't exported in recent kernels; this is not about
-kernel configuration.
-
-
diff --git a/net-fs/openafs-kernel/files/tasklist_lock_1.5.12.patch b/net-fs/openafs-kernel/files/tasklist_lock_1.5.12.patch
deleted file mode 100644
index 72553d92f767..000000000000
--- a/net-fs/openafs-kernel/files/tasklist_lock_1.5.12.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/afs/afs_osi_gcpags.c.old 2006-12-14 14:05:13.000000000 +0100
-+++ src/afs/afs_osi_gcpags.c 2006-12-14 14:05:28.000000000 +0100
-@@ -226,11 +226,11 @@
- #endif
-
- #if defined(AFS_LINUX22_ENV)
-+extern rwlock_t tasklist_lock __attribute__((weak));
- void
- afs_osi_TraverseProcTable()
- {
- #if !defined(LINUX_KEYRING_SUPPORT)
-- extern rwlock_t tasklist_lock __attribute__((weak));
- struct task_struct *p;
-
- if (&tasklist_lock)
diff --git a/net-fs/openafs-kernel/openafs-kernel-1.4.5.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.4.5.ebuild
new file mode 100644
index 000000000000..393e6bf6ea8f
--- /dev/null
+++ b/net-fs/openafs-kernel/openafs-kernel-1.4.5.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/openafs-kernel-1.4.5.ebuild,v 1.1 2007/11/15 11:52:11 stefaan Exp $
+
+inherit eutils linux-mod versionator toolchain-funcs
+
+PATCHVER=0.14
+MY_PN=${PN/-kernel}
+MY_P=${MY_PN}-${PV}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="The OpenAFS distributed file system kernel module"
+HOMEPAGE="http://www.openafs.org/"
+SRC_URI="http://openafs.org/dl/${PV}/${MY_P}-src.tar.bz2
+ mirror://gentoo/${MY_PN}-gentoo-${PATCHVER}.tar.bz2"
+
+LICENSE="IBM openafs-krb5 openafs-krb5-a APSL-2 sun-rpc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+PATCHDIR=${WORKDIR}/gentoo/patches/$(get_version_component_range 1-2)
+
+CONFIG_CHECK="!DEBUG_RODATA ~!AFS_FS"
+ERROR_DEBUG_RODATA="OpenAFS is incompatible with linux' CONFIG_DEBUG_RODATA option"
+ERROR_AFS_FS="OpenAFS conflicts with the in-kernel AFS-support. Make sure not to load both at the same time!"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+}
+
+src_unpack() {
+ unpack ${MY_P}-src.tar.bz2
+ unpack ${MY_PN}-gentoo-${PATCHVER}.tar.bz2
+ cd "${S}"
+
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+ ./regen.sh || die "Failed: regenerating configure script"
+}
+
+src_compile() {
+ ARCH="$(tc-arch-kernel)" econf --with-linux-kernel-headers=${KV_DIR} || die "Failed: econf"
+
+ ARCH="$(tc-arch-kernel)" emake -j1 only_libafs || die "Failed: emake"
+}
+
+src_install() {
+ MOD_SRCDIR=$(expr ${S}/src/libafs/MODLOAD-*)
+ [ -f ${MOD_SRCDIR}/libafs.${KV_OBJ} ] \
+ || die "Couldn't find compiled kernel module"
+
+ MODULE_NAMES='libafs(fs/openafs:$MOD_SRCDIR)'
+
+ linux-mod_src_install
+}
diff --git a/net-fs/openafs-kernel/openafs-kernel-1.5.27.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.5.27.ebuild
new file mode 100644
index 000000000000..896b6b48f3f0
--- /dev/null
+++ b/net-fs/openafs-kernel/openafs-kernel-1.5.27.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/openafs-kernel-1.5.27.ebuild,v 1.1 2007/11/15 11:52:11 stefaan Exp $
+
+inherit eutils linux-mod versionator toolchain-funcs
+
+PATCHVER=0.14
+MY_PN=${PN/-kernel}
+MY_P=${MY_PN}-${PV}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="The OpenAFS distributed file system kernel module"
+HOMEPAGE="http://www.openafs.org/"
+SRC_URI="http://openafs.org/dl/${MY_PN}/${PV}/${MY_P}-src.tar.bz2
+ mirror://gentoo/${MY_PN}-gentoo-${PATCHVER}.tar.bz2"
+
+LICENSE="IBM openafs-krb5 openafs-krb5-a APSL-2 sun-rpc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+PATCHDIR=${WORKDIR}/gentoo/patches/$(get_version_component_range 1-2)
+
+CONFIG_CHECK="!DEBUG_RODATA"
+DEBUG_RODATA_ERROR="OpenAFS is incompatible with linux' CONFIG_DEBUG_RODATA option"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}; cd ${S}
+
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+ ./regen.sh || die "Failed: regenerating configure script"
+}
+
+src_compile() {
+ ARCH="$(tc-arch-kernel)" econf --with-linux-kernel-headers=${KV_DIR} || die "Failed: econf"
+
+ ARCH="$(tc-arch-kernel)" emake -j1 only_libafs || die "Failed: emake"
+}
+
+src_install() {
+ MOD_SRCDIR=$(expr ${S}/src/libafs/MODLOAD-*)
+ [ -f ${MOD_SRCDIR}/libafs.${KV_OBJ} ] \
+ || die "Couldn't find compiled kernel module"
+
+ MODULE_NAMES='libafs(fs/openafs:$MOD_SRCDIR) afspag(fs/openafs:$MOD_SRCDIR)'
+
+ linux-mod_src_install
+}
diff --git a/net-fs/openafs/ChangeLog b/net-fs/openafs/ChangeLog
index d50a0f390e09..c78243a3dcf5 100644
--- a/net-fs/openafs/ChangeLog
+++ b/net-fs/openafs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-fs/openafs
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.120 2007/11/14 10:05:06 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.121 2007/11/15 11:52:45 stefaan Exp $
+
+*openafs-1.5.27 (15 Nov 2007)
+*openafs-1.4.5 (15 Nov 2007)
+
+ 15 Nov 2007; Stefaan De Roeck <stefaan@gentoo.org> -files/fs-fix.patch,
+ +openafs-1.4.5.ebuild, +openafs-1.5.27.ebuild:
+ Version bumps
14 Nov 2007; Stefaan De Roeck <stefaan@gentoo.org>
-openafs-1.4.0-r2.ebuild, -openafs-1.4.2.ebuild,
diff --git a/net-fs/openafs/files/digest-openafs-1.4.5 b/net-fs/openafs/files/digest-openafs-1.4.5
new file mode 100644
index 000000000000..bd26c6d32fc7
--- /dev/null
+++ b/net-fs/openafs/files/digest-openafs-1.4.5
@@ -0,0 +1,9 @@
+MD5 358b935e773caf41266636b4b0a9910b openafs-1.4.5-doc.tar.bz2 3216392
+RMD160 5bf9a80086f1be95f86f603671e037ba695df0a3 openafs-1.4.5-doc.tar.bz2 3216392
+SHA256 3a126d31cf98d0ed1b555e35a9e68fecc10ad537220e043c0a59469c5d5da67b openafs-1.4.5-doc.tar.bz2 3216392
+MD5 fd92e736bac06668ad6151928dcc697e openafs-1.4.5-src.tar.bz2 12483615
+RMD160 baf00d0443ce113b380082b40b9b077cb4df5a17 openafs-1.4.5-src.tar.bz2 12483615
+SHA256 5c6a5f4f7f1f9e173af03a82e7394e6e588477b504ce89106b7722b9728effbe openafs-1.4.5-src.tar.bz2 12483615
+MD5 ba74f1663bc740bda8f993f54eef801f openafs-gentoo-0.14.tar.bz2 18293
+RMD160 2a7ed8a40395d402de2f972fe0f96154d811e2b6 openafs-gentoo-0.14.tar.bz2 18293
+SHA256 e27918d395d656659b6f0d288d8a4d2501bd4ca6582824b8f3bbd420b06e6f6c openafs-gentoo-0.14.tar.bz2 18293
diff --git a/net-fs/openafs/files/digest-openafs-1.5.27 b/net-fs/openafs/files/digest-openafs-1.5.27
new file mode 100644
index 000000000000..c9f1dab4464b
--- /dev/null
+++ b/net-fs/openafs/files/digest-openafs-1.5.27
@@ -0,0 +1,9 @@
+MD5 f82b22e76820f376a341eae1eda10385 openafs-1.5.27-doc.tar.bz2 3228885
+RMD160 6d88bc9c46d46db145a6a4fc692631d572fdf34c openafs-1.5.27-doc.tar.bz2 3228885
+SHA256 ce44c2205f24976485aac7ee02d5582414b34efff8f516cc085bfe4bea52ca12 openafs-1.5.27-doc.tar.bz2 3228885
+MD5 4097bbb022e2c550bd6f073d502d5be1 openafs-1.5.27-src.tar.bz2 13241331
+RMD160 759a6fd12e4a813e58c837df65c70d946b359629 openafs-1.5.27-src.tar.bz2 13241331
+SHA256 0c7e9413990a779f357f4ca7bc730b98dbb07964f918141c404c83c9ec66d45b openafs-1.5.27-src.tar.bz2 13241331
+MD5 ba74f1663bc740bda8f993f54eef801f openafs-gentoo-0.14.tar.bz2 18293
+RMD160 2a7ed8a40395d402de2f972fe0f96154d811e2b6 openafs-gentoo-0.14.tar.bz2 18293
+SHA256 e27918d395d656659b6f0d288d8a4d2501bd4ca6582824b8f3bbd420b06e6f6c openafs-gentoo-0.14.tar.bz2 18293
diff --git a/net-fs/openafs/files/fs-fix.patch b/net-fs/openafs/files/fs-fix.patch
deleted file mode 100644
index 15d227efeb14..000000000000
--- a/net-fs/openafs/files/fs-fix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/venus/fs.c.old 2007-01-10 19:45:29.000000000 +0100
-+++ src/venus/fs.c 2007-01-10 19:45:35.000000000 +0100
-@@ -54,6 +54,7 @@
- #include <stdlib.h>
- #include <assert.h>
- #include <afs/ptclient.h>
-+#include <afs/com_err.h>
-
-
- #define MAXHOSTS 13
diff --git a/net-fs/openafs/openafs-1.4.5.ebuild b/net-fs/openafs/openafs-1.4.5.ebuild
new file mode 100644
index 000000000000..3d42207b6326
--- /dev/null
+++ b/net-fs/openafs/openafs-1.4.5.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.4.5.ebuild,v 1.1 2007/11/15 11:52:45 stefaan Exp $
+
+inherit flag-o-matic eutils toolchain-funcs versionator pam
+
+PATCHVER=0.14
+DESCRIPTION="The OpenAFS distributed file system"
+HOMEPAGE="http://www.openafs.org/"
+SRC_URI="http://openafs.org/dl/${PV}/${P}-src.tar.bz2
+ doc? ( http://openafs.org/dl/${PV}/${P}-doc.tar.bz2 )
+ mirror://gentoo/${PN}-gentoo-${PATCHVER}.tar.bz2"
+
+LICENSE="IBM openafs-krb5 openafs-krb5-a APSL-2 sun-rpc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug kerberos pam doc"
+
+RDEPEND="~net-fs/openafs-kernel-${PV}
+ pam? ( sys-libs/pam )
+ kerberos? ( virtual/krb5 )"
+
+PATCHDIR=${WORKDIR}/gentoo/patches/$(get_version_component_range 1-2)
+CONFDIR=${WORKDIR}/gentoo/configs
+SCRIPTDIR=${WORKDIR}/gentoo/scripts
+
+src_unpack() {
+ unpack ${A}; cd "${S}"
+
+ # Apply patches to apply chosen compiler settings, fix the hardcoded paths
+ # to be more FHS friendly, and the fix the incorrect typecasts for va_arg
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+ sed -i 's/^[ \t]*XCFLAGS.*//' src/cf/osconf.m4
+
+ ./regen.sh || die "Failed: regenerating configure script"
+}
+
+src_compile() {
+ # cannot use "use_with" macro, as --without-krb5-config crashes the econf
+ local myconf=""
+ if use kerberos; then
+ myconf="--with-krb5-conf=$(type -p krb5-config)"
+ fi
+
+ # fix linux version at 2.6
+ AFS_SYSKVERS=26 \
+ XCFLAGS="${CFLAGS}" \
+ econf \
+ $(use_enable pam) \
+ $(use_enable debug) \
+ --enable-largefile-fileserver \
+ --enable-supergroups \
+ --disable-kernel-module \
+ ${myconf} || die econf
+
+ emake -j1 all_nolibafs || die "Build failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install_nolibafs || die "Installing failed"
+
+ # pam_afs and pam_afs.krb have been installed in irregular locations, fix
+ if use pam; then
+ dopammod "${D}"/usr/$(get_libdir)/pam_afs*
+ rm -f "${D}"/usr/$(get_libdir)/pam_afs*
+ fi
+
+ # compile_et collides with com_err. Remove it from this package.
+ rm "${D}"/usr/bin/compile_et
+
+ # avoid collision with mit_krb5's version of kpasswd
+ (cd "${D}"/usr/bin; mv kpasswd kpasswd_afs)
+ use doc && (cd doc/man-pages/man1; mv kpasswd.1 kpasswd_afs.1)
+
+ # minimal documentation
+ dodoc ${CONFDIR}/README ${CONFDIR}/CellServDB
+
+ # documentation package
+ if use doc; then
+ # install manuals
+ doman doc/man-pages/man?/*.?
+
+ use pam && doman src/pam/pam_afs.5
+
+ cp -pPR doc/* "${D}"/usr/share/doc/${PF}
+ fi
+
+ # Gentoo related scripts
+ newconfd ${CONFDIR}/openafs-client openafs-client
+ newconfd ${CONFDIR}/openafs-server openafs-server
+ newinitd ${SCRIPTDIR}/openafs-client openafs-client
+ newinitd ${SCRIPTDIR}/openafs-server openafs-server
+
+ # used directories: client
+ keepdir /etc/openafs
+ keepdir /var/cache/openafs
+
+ # used directories: server
+ keepdir /etc/openafs/server
+ diropts -m0700
+ keepdir /var/lib/openafs
+ keepdir /var/lib/openafs/db
+ diropts -m0755
+ keepdir /var/lib/openafs/logs
+
+ # link logfiles to /var/log
+ dosym ../lib/openafs/logs /var/log/openafs
+}
+
+pkg_preinst() {
+ ## Somewhat intelligently install default configuration files
+ ## (when they are not present)
+ # CellServDB
+ if [ ! -e "${ROOT}"etc/openafs/CellServDB ] \
+ || grep "GCO Public CellServDB" "${ROOT}"etc/openafs/CellServDB &> /dev/null
+ then
+ cp ${CONFDIR}/CellServDB "${D}"etc/openafs
+ fi
+ # cacheinfo: use a default location cache, 200 megabyte in size
+ # (should be safe for about any root partition, the user can increase
+ # the size as required)
+ if [ ! -e "${ROOT}"etc/openafs/cacheinfo ]; then
+ echo "/afs:/var/cache/openafs:200000" > "${D}"etc/openafs/cacheinfo
+ fi
+ # ThisCell: default to "openafs.org"
+ if [ ! -e "${ROOT}"etc/openafs/ThisCell ]; then
+ echo "openafs.org" > "${D}"etc/openafs/ThisCell
+ fi
+}
+
+pkg_postinst() {
+ elog
+ elog "This installation should work out of the box (at least the"
+ elog "client part doing global afs-cell browsing, unless you had"
+ elog "a previous and different configuration). If you want to"
+ elog "set up your own cell or modify the standard config,"
+ elog "please have a look at the Gentoo OpenAFS documentation"
+ elog "(warning: it is not yet up to date wrt the new file locations)"
+ elog
+ elog "The documentation can be found at:"
+ elog " http://www.gentoo.org/doc/en/openafs.xml"
+}
diff --git a/net-fs/openafs/openafs-1.5.27.ebuild b/net-fs/openafs/openafs-1.5.27.ebuild
new file mode 100644
index 000000000000..8afdda5596df
--- /dev/null
+++ b/net-fs/openafs/openafs-1.5.27.ebuild
@@ -0,0 +1,322 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.5.27.ebuild,v 1.1 2007/11/15 11:52:45 stefaan Exp $
+
+inherit flag-o-matic eutils toolchain-funcs versionator
+
+PATCHVER=0.14
+DESCRIPTION="The OpenAFS distributed file system"
+HOMEPAGE="http://www.openafs.org/"
+SRC_URI="http://openafs.org/dl/${PN}/${PV}/${P}-src.tar.bz2
+ doc? ( http://openafs.org/dl/${PN}/${PV}/${P}-doc.tar.bz2 )
+ mirror://gentoo/${PN}-gentoo-${PATCHVER}.tar.bz2"
+
+LICENSE="IBM openafs-krb5 openafs-krb5-a APSL-2 sun-rpc"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
+IUSE="debug kerberos pam doc"
+
+RDEPEND="~net-fs/openafs-kernel-${PV}
+ pam? ( sys-libs/pam )
+ kerberos? ( virtual/krb5 )"
+
+PATCHDIR=${WORKDIR}/gentoo/patches/$(get_version_component_range 1-2)
+CONFDIR=${WORKDIR}/gentoo/configs
+SCRIPTDIR=${WORKDIR}/gentoo/scripts
+
+src_unpack() {
+ unpack ${A}; cd ${S}
+
+ # Apply patches to apply chosen compiler settings, fix the hardcoded paths
+ # to be more FHS friendly, and the fix the incorrect typecasts for va_arg
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+ sed -i 's/^[ \t]*XCFLAGS.*//' src/cf/osconf.m4
+
+ ./regen.sh || die "Failed: regenerating configure script"
+}
+
+src_compile() {
+ # cannot use "use_with" macro, as --without-krb5-config crashes the econf
+ local myconf=""
+ if use kerberos; then
+ myconf="--with-krb5-conf=$(type -p krb5-config)"
+ fi
+
+ # fix linux version at 2.6
+ AFS_SYSKVERS=26 \
+ XCFLAGS="${CFLAGS}" \
+ econf \
+ $(use_enable pam) \
+ $(use_enable debug) \
+ --enable-largefile-fileserver \
+ --enable-supergroups \
+ --disable-kernel-module \
+ ${myconf} || die econf
+
+ emake -j1 all_nolibafs || die "Build failed"
+}
+
+src_install() {
+ make DESTDIR=${D} install_nolibafs || die "Installing failed"
+
+ # pam_afs and pam_afs.krb have been installed in irregular locations, fix
+ if use pam; then
+ dodir /$(get_libdir)/security
+ mv ${D}/usr/$(get_libdir)/pam_afs* ${D}/$(get_libdir)/security
+ fi
+
+ # compile_et collides with com_err. Remove it from this package.
+ rm ${D}/usr/bin/compile_et
+
+ # avoid collision with mit_krb5's version of kpasswd
+ (cd ${D}/usr/bin; mv kpasswd kpasswd_afs)
+ use doc && (cd doc/man-pages/man1; mv kpasswd.1 kpasswd_afs.1)
+
+ # minimal documentation
+ dodoc ${CONFDIR}/README ${CONFDIR}/CellServDB
+
+ # documentation package
+ if use doc; then
+ # install manuals
+ doman doc/man-pages/man?/*.?
+
+ use pam && doman src/pam/pam_afs.5
+
+ cp -pPR doc/* ${D}/usr/share/doc/${PF}
+ fi
+
+ # Gentoo related scripts
+ newconfd ${CONFDIR}/openafs-client openafs-client
+ newconfd ${CONFDIR}/openafs-server openafs-server
+ newinitd ${SCRIPTDIR}/openafs-client openafs-client
+ newinitd ${SCRIPTDIR}/openafs-server openafs-server
+
+ # used directories: client
+ keepdir /etc/openafs
+ keepdir /var/cache/openafs
+
+ # used directories: server
+ keepdir /etc/openafs/server
+ diropts -m0700
+ keepdir /var/lib/openafs
+ keepdir /var/lib/openafs/db
+ diropts -m0755
+ keepdir /var/lib/openafs/logs
+
+ # link logfiles to /var/log
+ dosym ../lib/openafs/logs /var/log/openafs
+}
+
+migrate_to_fhs() {
+ # conventions:
+ # only automatically migrate if the destination directories are
+ # as of yet non-existant
+
+ # path translations
+ local oldafsconfdir=${ROOT}usr/afs/etc
+ local newafsconfdir=${ROOT}etc/openafs/server
+ local oldviceetcdir=${ROOT}usr/vice/etc
+ local newviceetcdir=${ROOT}etc/openafs
+ local oldafslocaldir=${ROOT}usr/afs/local
+ local newafslocaldir=${ROOT}var/lib/openafs
+ local oldafsdbdir=${ROOT}usr/afs/db
+ local newafsdbdir=${ROOT}var/lib/openafs/db
+
+ # detect Transarc afsconfdir
+ local afsconfdir=0
+ [ ! -L ${oldafsconfdir} -a -d ${oldafsconfdir} -a ! -e ${newafsconfdir} ] && afsconfdir=1
+
+ # detect Transarc viceetcdir
+ local viceetcdir=0
+ local viceetcsoftlink=0
+ if [ -d ${oldviceetcdir} -a ! -e ${newviceetcdir} ]; then
+ if [ ! -L ${oldviceetcdir} ]; then
+ viceetcdir=1
+ else
+ if [ $(readlink ${oldviceetcdir}) = /etc/afs ]; then
+ viceetcdir=1
+ viceetcsoftlink=1
+ fi
+ fi
+ fi
+
+ # detect Transarc afslocaldir
+ local afslocaldir=0
+ [ ! -L ${oldafslocaldir} -a -d ${oldafslocaldir} -a ! -e ${newafslocaldir} ] && afslocaldir=1
+
+ # detect Transarc afsdbdir
+ local afsdbdir=0
+ [ ! -L ${oldafsdbdir} -a -d ${oldafsdbdir} -a ! -e ${newafsdbdir} ] && afsdbdir=1
+
+ # detect Transarc afsbosconfigdir
+ local afsbosconfigdir=0
+ [ ${afslocaldir} = 1 -a -f ${oldafslocaldir}/BosConfig ] && afsbosconfigdir=1
+
+ # any of these?
+ local any=$((${afsconfdir}+${viceetcdir}+${afsdbdir}+${afslocaldir}))
+
+ # No migration needed? Then bail out
+ if [ ${any} = 0 ]; then
+ return 0
+ fi
+
+ # Root not / ? Then do not attempt automatic migration
+ if [ "$ROOT" != "/" ]; then
+ ewarn Old-style configuration files found, but not migrating
+ ewarn because installation rootdir is not /
+ ebeep 5
+ return 0
+ fi
+
+ # detect whether an installation with old config files is running
+ local pid
+ if pid=$(pgrep -n -U 0 bosserver) &>/dev/null; then
+ # find location of executable
+ if ! executable=$(readlink /proc/${pid}/exe); then
+ die "Couldn't execute readlink on bosserver process"
+ fi
+ # if executable is not located in /usr/sbin, assume Transarc locations
+ if [[ $executable != ${ROOT}usr/sbin/* ]]; then
+ ewarn "Found a running process with the name \"bosserver\" and pid ${pid}"
+ ewarn "that is not located in /usr/sbin. This suggests a running"
+ ewarn "OpenAFS-server with traditional TransARC path conventions."
+ ewarn "This installation procedure aims to migrate old"
+ ewarn "configuration files to new FHS-conform locations."
+ ewarn "Please stop the running server and reattempt the upgrade"
+ die "Installation aborted because of running OpenAFS server"
+ fi
+ fi
+
+ # warn about migration
+ ewarn
+ ewarn "OpenAFS configuration/data-files have been found in old"
+ ewarn "TransARC-style locations, for which the standard FHS equivalents"
+ ewarn "do not exist yet. "
+ ewarn "Following procedure will copy those files to the new locations such"
+ ewarn "that, given a previously working configuration, both server"
+ ewarn "and client should restart without problems. Files will be copied"
+ ewarn "only, and not removed from the old locations. For assistance"
+ ewarn "in removing the old files, consult the section on Upgrading in"
+ ewarn "the Gentoo OpenAFS documentation"
+ ewarn "(see http://www.gentoo.org/doc/en/openafs.xml)"
+ ewarn "Will continue in 30 seconds, press Ctrl-C to abort"
+ ewarn
+ ebeep 10
+ epause 20
+
+ # fortunately, there's no overlap between the old locations and the new ones
+
+ # afsconfdir: migrate /usr/afs/etc to /etc/openafs/server
+ if [ ${afsconfdir} = 1 ]; then
+ mkdir -m 755 -p ${newafsconfdir}
+ cp ${oldafsconfdir}/* ${newafsconfdir}
+ fi
+
+ # viceetcdir: migrate /usr/vice/etc (likely a link to /etc/afs) to /etc/openafs
+ if [ ${viceetcdir} = 1 ]; then
+ mkdir -m 755 -p ${newviceetcdir}
+ cp ${oldviceetcdir}/* ${newviceetcdir}
+ fi
+
+ # afslocaldir: migrate /usr/afs/local to /var/lib/openafs
+ if [ ${afslocaldir} = 1 ]; then
+ mkdir -m 700 -p ${newafslocaldir}
+ cp ${oldafslocaldir}/* ${newafslocaldir}
+
+ # afsbosconfigdir: migrate /usr/afs/local/BosConfig to /etc/openafs/BosConfig
+ if [ ${afsbosconfigdir} = 1 ]; then
+ sed -i \
+ -e 's:/usr/afs/bin/:/usr/libexec/openafs/:g' \
+ -e 's:/usr/afs/etc:/etc/openafs/server:g' \
+ -e 's:/usr/afs/bin:/usr/bin:g' \
+ ${newafslocaldir}/BosConfig
+ if [ -d ${newviceetcdir} ]; then
+ mv ${newafslocaldir}/BosConfig ${newviceetcdir}
+ else
+ ewarn
+ ewarn "No ${newviceetcdir} found, couldn't move BosConfig there,"
+ ewarn "it will remain in ${newafslocaldir}. Please investigate"
+ ewarn "before attempting to start the server"
+ ewarn
+ ebeep 3
+ fi
+ fi
+ fi
+
+ # afsdbdir: migrate /usr/afs/db to /var/lib/openafs/db
+ if [ ${afsdbdir} = 1 ]; then
+ mkdir -m 700 -p ${newafsdbdir}
+ cp ${oldafsdbdir}/* ${newafsdbdir}
+ fi
+
+ ewarn "Migration finished"
+ ewarn "Please remember to manually migrate disk-cache (if present)"
+ ewarn "Alter /etc/openafs/cacheinfo to do so"
+ ebeep 5
+}
+
+migrate_configfile() {
+ local oldconfigfile=${ROOT}etc/conf.d/afs
+ local oldconfigfile2=${ROOT}etc/conf.d/afs-client
+ local newconfigfile=${ROOT}etc/conf.d/openafs-client
+
+ if [ -f ${oldconfigfile} -a ! -e ${newconfigfile} ]; then
+ cp ${oldconfigfile} ${newconfigfile}
+ elif [ -f ${oldconfigfile2} -a ! -e ${newconfigfile} ]; then
+ cp ${oldconfigfile2} ${newconfigfile}
+ fi
+
+ oldconfigfile=${ROOT}etc/conf.d/afs-server
+ newconfigfile=${ROOT}etc/conf.d/openafs-server
+ if [ -f ${oldconfigfile} -a ! -e ${newconfigfile} ]; then
+ cp ${oldconfigfile} ${newconfigfile}
+ fi
+}
+
+pkg_preinst() {
+ migrate_to_fhs
+ migrate_configfile
+
+ ## Somewhat intelligently install default configuration files
+ ## (when they are not present)
+ # CellServDB
+ if [ ! -e ${ROOT}etc/openafs/CellServDB ] \
+ || grep "GCO Public CellServDB" ${ROOT}etc/openafs/CellServDB &> /dev/null
+ then
+ cp ${CONFDIR}/CellServDB ${D}etc/openafs
+ fi
+ # cacheinfo: use a default location cache, 200 megabyte in size
+ # (should be safe for about any root partition, the user can increase
+ # the size as required)
+ if [ ! -e ${ROOT}etc/openafs/cacheinfo ]; then
+ echo "/afs:/var/cache/openafs:200000" > ${D}etc/openafs/cacheinfo
+ fi
+ # ThisCell: default to "openafs.org"
+ if [ ! -e ${ROOT}etc/openafs/ThisCell ]; then
+ echo "openafs.org" > ${D}etc/openafs/ThisCell
+ fi
+}
+
+pkg_postinst() {
+ elog
+ elog "If you are upgrading from a < 1.4.0_rc8 version of the ebuild,"
+ elog "we urge you to look at the upgrade-section of the"
+ elog "Gentoo OpenAFS documentation. (If you're upgrading from"
+ elog "< 1.3.85, then you really really should)"
+
+ ebeep 5
+
+ elog
+ elog "This installation should work out of the box (at least the"
+ elog "client part doing global afs-cell browsing, unless you had"
+ elog "a previous and different configuration). If you want to"
+ elog "set up your own cell or modify the standard config,"
+ elog "please have a look at the Gentoo OpenAFS documentation"
+ elog "(warning: it is not yet up to date wrt the new file locations)"
+ elog
+ elog "The documentation can be found at:"
+ elog " http://www.gentoo.org/doc/en/openafs.xml"
+
+ epause 5
+}