Version bumps to 1.4.3_rc1 and 1.5.14, plus propagating some previous changes in...
authorStefaan De Roeck <stefaan@gentoo.org>
Sat, 20 Jan 2007 09:34:56 +0000 (09:34 +0000)
committerStefaan De Roeck <stefaan@gentoo.org>
Sat, 20 Jan 2007 09:34:56 +0000 (09:34 +0000)
Package-Manager: portage-2.1.2

13 files changed:
net-fs/openafs-kernel/ChangeLog
net-fs/openafs-kernel/files/digest-openafs-kernel-1.2.13
net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.3_rc1 [new file with mode: 0644]
net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.14 [new file with mode: 0644]
net-fs/openafs-kernel/openafs-kernel-1.4.3_rc1.ebuild [new file with mode: 0644]
net-fs/openafs-kernel/openafs-kernel-1.5.14.ebuild [new file with mode: 0644]
net-fs/openafs/ChangeLog
net-fs/openafs/files/digest-openafs-1.2.10-r1
net-fs/openafs/files/digest-openafs-1.2.13-r2
net-fs/openafs/files/digest-openafs-1.4.3_rc1 [new file with mode: 0644]
net-fs/openafs/files/digest-openafs-1.5.14 [new file with mode: 0644]
net-fs/openafs/openafs-1.4.3_rc1.ebuild [new file with mode: 0644]
net-fs/openafs/openafs-1.5.14.ebuild [new file with mode: 0644]

index cc0b031c171e3a3bbb05326e931a94aacd68b456..01fa0002ccadca2c2ebb0e46a916492432d9a67d 100644 (file)
@@ -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.51 2007/01/09 07:40:00 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.52 2007/01/20 09:32:35 stefaan Exp $
+
+*openafs-kernel-1.5.14 (20 Jan 2007)
+*openafs-kernel-1.4.3_rc1 (20 Jan 2007)
+
+  20 Jan 2007; Stefaan De Roeck <stefaan@gentoo.org>
+  +openafs-kernel-1.4.3_rc1.ebuild, +openafs-kernel-1.5.14.ebuild:
+  Version bumps to 1.4.3_rc1 and 1.5.14, plus propagating some previous
+  changes in 1.4 to 1.5
 
   09 Jan 2007; Markus Rothe <corsair@gentoo.org>
   openafs-kernel-1.4.2-r2.ebuild:
index cce296d1754ba53f87f04aab108553c107c9996d..f7520b78a41c4c7e3cf4cac0d1af71f1d4aac29e 100644 (file)
@@ -1,2 +1,6 @@
 MD5 6a1e6b5ad2da4532d6e1086024150ecd openafs-1.2.13-src.tar.bz2 10354615
+RMD160 a8060f844f82c11c558042660cba861ba6daa3f3 openafs-1.2.13-src.tar.bz2 10354615
+SHA256 796a118a0bc40974bb84fcce5d9d0d47d7d235d38df2b96590a05609b88fc837 openafs-1.2.13-src.tar.bz2 10354615
 MD5 dfca6186129259559b8c491b1d6072c6 openafs-gentoo-0.2a.tar.bz2 17761
+RMD160 97f6b61393024747f5a4614d628f8ec6df802918 openafs-gentoo-0.2a.tar.bz2 17761
+SHA256 6ab8a1564c0f21df0278c59214ef5e4cc8edc269442edf34d4c6408103f54f79 openafs-gentoo-0.2a.tar.bz2 17761
diff --git a/net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.3_rc1 b/net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.3_rc1
new file mode 100644 (file)
index 0000000..645624f
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 87cdedde417d196f3359e3048d40d2d7 openafs-1.4.3rc1-src.tar.bz2 12439030
+RMD160 7270608801e7d12d1c5213e43d70ca2c984316e3 openafs-1.4.3rc1-src.tar.bz2 12439030
+SHA256 34c61dceb5df16fc73709d2137690dbe51fe2825f9b11fc6093f5faa826849e8 openafs-1.4.3rc1-src.tar.bz2 12439030
+MD5 7df64c331d40c0206e7ed4c707971efe openafs-gentoo-0.12.tar.bz2 16630
+RMD160 fdc543c1e4318e1685a1f785c615e89d7bbd9b89 openafs-gentoo-0.12.tar.bz2 16630
+SHA256 d5b832b938c18d1ed22f4c7353139f86d1c4c750f8a8713128c51cc193be6adb openafs-gentoo-0.12.tar.bz2 16630
diff --git a/net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.14 b/net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.14
new file mode 100644 (file)
index 0000000..d569265
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 f53f7cf96087057eb72c1f19dc04507e openafs-1.5.14-src.tar.bz2 12996037
+RMD160 0fd9a9ea296068a4cbbbea7bc2b37aa6f63111f2 openafs-1.5.14-src.tar.bz2 12996037
+SHA256 818d450003bac6a623468ac5fe01bb2bd2ef81cffc631e51d815bbca3909762a openafs-1.5.14-src.tar.bz2 12996037
+MD5 7df64c331d40c0206e7ed4c707971efe openafs-gentoo-0.12.tar.bz2 16630
+RMD160 fdc543c1e4318e1685a1f785c615e89d7bbd9b89 openafs-gentoo-0.12.tar.bz2 16630
+SHA256 d5b832b938c18d1ed22f4c7353139f86d1c4c750f8a8713128c51cc193be6adb openafs-gentoo-0.12.tar.bz2 16630
diff --git a/net-fs/openafs-kernel/openafs-kernel-1.4.3_rc1.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.4.3_rc1.ebuild
new file mode 100644 (file)
index 0000000..f854c7a
--- /dev/null
@@ -0,0 +1,54 @@
+# 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.3_rc1.ebuild,v 1.1 2007/01/20 09:32:35 stefaan Exp $
+
+inherit eutils linux-mod versionator toolchain-funcs
+
+PATCHVER=0.12
+MY_PV=${PV/_rc/rc}
+MY_PN=${PN/-kernel}
+MY_P=${MY_PN}-${MY_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}/${MY_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 ~ia64 ~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)'
+
+       linux-mod_src_install
+}
+
diff --git a/net-fs/openafs-kernel/openafs-kernel-1.5.14.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.5.14.ebuild
new file mode 100644 (file)
index 0000000..8b8edc2
--- /dev/null
@@ -0,0 +1,53 @@
+# 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.14.ebuild,v 1.1 2007/01/20 09:32:35 stefaan Exp $
+
+inherit eutils linux-mod versionator toolchain-funcs
+
+PATCHVER=0.12
+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 ~ia64 ~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
+}
+
index e1946f037a827e3729b86e7b53dc82ed66c668f0..4e35543a38d077aa403d19bd1b0b8db7f0b75846 100644 (file)
@@ -1,6 +1,14 @@
 # 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.94 2007/01/10 19:15:13 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.95 2007/01/20 09:34:56 stefaan Exp $
+
+*openafs-1.5.14 (20 Jan 2007)
+*openafs-1.4.3_rc1 (20 Jan 2007)
+
+  20 Jan 2007; Stefaan De Roeck <stefaan@gentoo.org>
+  +openafs-1.4.3_rc1.ebuild, +openafs-1.5.14.ebuild:
+  Version bumps to 1.4.3_rc1 and 1.5.14, plus propagating some previous
+  changes in 1.4 to 1.5
 
 *openafs-1.4.3_pre20061220-r1 (10 Jan 2007)
 
index d83943975b9ead7baa970111c4e658f36d0e7507..22b797499fd9f67125ff74b9b86b97d655da182d 100644 (file)
@@ -1 +1,3 @@
 MD5 7c94e5d024d16c581a363de52ed21f95 openafs-1.2.10-src.tar.bz2 10343261
+RMD160 33502afe627652890da03290f2b8b64ee2428559 openafs-1.2.10-src.tar.bz2 10343261
+SHA256 a96a164de198558e4b410583e037b113447ecd4324fa03a830ff6c4c22f93686 openafs-1.2.10-src.tar.bz2 10343261
index 5b41edac31801ddb0b2b7db8c345471e185271c9..abcec1abb856bfecf867ef0cae14bf157d8e4eba 100644 (file)
@@ -1,2 +1,6 @@
 MD5 6a1e6b5ad2da4532d6e1086024150ecd openafs-1.2.13-src.tar.bz2 10354615
+RMD160 a8060f844f82c11c558042660cba861ba6daa3f3 openafs-1.2.13-src.tar.bz2 10354615
+SHA256 796a118a0bc40974bb84fcce5d9d0d47d7d235d38df2b96590a05609b88fc837 openafs-1.2.13-src.tar.bz2 10354615
 MD5 873d0ced47710170589ac797808a1598 openafs-gentoo-0.2b.tar.bz2 17242
+RMD160 0812d32bf14229d40bbe79323b38b268da6cb25f openafs-gentoo-0.2b.tar.bz2 17242
+SHA256 cf72505983602224a5ff8c3195ac351a7baf96d669a09575040f2ecb6e233dd1 openafs-gentoo-0.2b.tar.bz2 17242
diff --git a/net-fs/openafs/files/digest-openafs-1.4.3_rc1 b/net-fs/openafs/files/digest-openafs-1.4.3_rc1
new file mode 100644 (file)
index 0000000..af2df68
--- /dev/null
@@ -0,0 +1,9 @@
+MD5 adf8730122a680f488df59dfbf44ee81 openafs-1.4.3rc1-doc.tar.bz2 3082084
+RMD160 a390a880aac967dba373cbf5f6dd0a435a4855da openafs-1.4.3rc1-doc.tar.bz2 3082084
+SHA256 9b925ed59f881dc408882de49b8c1d69a471c0f6c8fb327dfb8e6454d672c8ca openafs-1.4.3rc1-doc.tar.bz2 3082084
+MD5 87cdedde417d196f3359e3048d40d2d7 openafs-1.4.3rc1-src.tar.bz2 12439030
+RMD160 7270608801e7d12d1c5213e43d70ca2c984316e3 openafs-1.4.3rc1-src.tar.bz2 12439030
+SHA256 34c61dceb5df16fc73709d2137690dbe51fe2825f9b11fc6093f5faa826849e8 openafs-1.4.3rc1-src.tar.bz2 12439030
+MD5 7df64c331d40c0206e7ed4c707971efe openafs-gentoo-0.12.tar.bz2 16630
+RMD160 fdc543c1e4318e1685a1f785c615e89d7bbd9b89 openafs-gentoo-0.12.tar.bz2 16630
+SHA256 d5b832b938c18d1ed22f4c7353139f86d1c4c750f8a8713128c51cc193be6adb openafs-gentoo-0.12.tar.bz2 16630
diff --git a/net-fs/openafs/files/digest-openafs-1.5.14 b/net-fs/openafs/files/digest-openafs-1.5.14
new file mode 100644 (file)
index 0000000..0af63b3
--- /dev/null
@@ -0,0 +1,9 @@
+MD5 f8cabd9373dd885e3500cf79a05bd8f4 openafs-1.5.14-doc.tar.bz2 3083341
+RMD160 c136865938dffcc7cc3afad71e34ea767e571787 openafs-1.5.14-doc.tar.bz2 3083341
+SHA256 1ce1f71334410660bf1ca095ec53923b8eb91bc31d05be164f22474b63da6783 openafs-1.5.14-doc.tar.bz2 3083341
+MD5 f53f7cf96087057eb72c1f19dc04507e openafs-1.5.14-src.tar.bz2 12996037
+RMD160 0fd9a9ea296068a4cbbbea7bc2b37aa6f63111f2 openafs-1.5.14-src.tar.bz2 12996037
+SHA256 818d450003bac6a623468ac5fe01bb2bd2ef81cffc631e51d815bbca3909762a openafs-1.5.14-src.tar.bz2 12996037
+MD5 7df64c331d40c0206e7ed4c707971efe openafs-gentoo-0.12.tar.bz2 16630
+RMD160 fdc543c1e4318e1685a1f785c615e89d7bbd9b89 openafs-gentoo-0.12.tar.bz2 16630
+SHA256 d5b832b938c18d1ed22f4c7353139f86d1c4c750f8a8713128c51cc193be6adb openafs-gentoo-0.12.tar.bz2 16630
diff --git a/net-fs/openafs/openafs-1.4.3_rc1.ebuild b/net-fs/openafs/openafs-1.4.3_rc1.ebuild
new file mode 100644 (file)
index 0000000..3c0affa
--- /dev/null
@@ -0,0 +1,327 @@
+# 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.3_rc1.ebuild,v 1.1 2007/01/20 09:34:56 stefaan Exp $
+
+inherit flag-o-matic eutils linux-mod toolchain-funcs versionator
+
+PATCHVER=0.12
+MY_PV=${PV/_rc/rc}
+MY_P=${PN}-${MY_PV}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="The OpenAFS distributed file system"
+HOMEPAGE="http://www.openafs.org/"
+SRC_URI="http://openafs.org/dl/${PN}/candidate/${MY_PV}/${MY_P}-src.tar.bz2
+       doc? ( http://openafs.org/dl/${PN}/candidate/${MY_PV}/${MY_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 ~ia64 ~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}
+
+       epatch ${FILESDIR}/fs-fix.patch
+
+       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
+
+       ARCH="$(tc-arch-kernel)" \
+       XCFLAGS="${CFLAGS}" \
+       econf \
+               $(use_enable pam) \
+               $(use_enable debug) \
+               --enable-largefile-fileserver \
+               --enable-supergroups \
+               --with-linux-kernel-headers=${KV_DIR} \
+               ${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 ${IMAGE}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" > ${IMAGE}etc/openafs/cacheinfo
+       fi
+       # ThisCell: default to "openafs.org"
+       if [ ! -e ${ROOT}etc/openafs/ThisCell ]; then
+               echo "openafs.org" > ${IMAGE}etc/openafs/ThisCell
+       fi
+}
+
+pkg_postinst() {
+       einfo ""
+       einfo "If you are upgrading from a < 1.4.0_rc8 version of the ebuild,"
+       einfo "we urge you to look at the upgrade-section of the"
+       einfo "Gentoo OpenAFS documentation.  (If you're upgrading from"
+       einfo "< 1.3.85, then you really really should)"
+
+       ebeep 5
+
+       einfo ""
+       einfo "This installation should work out of the box (at least the"
+       einfo "client part doing global afs-cell browsing, unless you had"
+       einfo "a previous and different configuration).  If you want to"
+       einfo "set up your own cell or modify the standard config,"
+       einfo "please have a look at the Gentoo OpenAFS documentation"
+       einfo "(warning: it is not yet up to date wrt the new file locations)"
+       einfo ""
+       einfo "The documentation can be found at:"
+       einfo "  http://www.gentoo.org/doc/en/openafs.xml"
+
+       epause 5
+}
+
diff --git a/net-fs/openafs/openafs-1.5.14.ebuild b/net-fs/openafs/openafs-1.5.14.ebuild
new file mode 100644 (file)
index 0000000..6c78a22
--- /dev/null
@@ -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.14.ebuild,v 1.1 2007/01/20 09:34:56 stefaan Exp $
+
+inherit flag-o-matic eutils linux-mod toolchain-funcs versionator
+
+PATCHVER=0.12
+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 ~ia64 ~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
+
+       ARCH="$(tc-arch-kernel)" \
+       XCFLAGS="${CFLAGS}" \
+       econf \
+               $(use_enable pam) \
+               $(use_enable debug) \
+               --enable-largefile-fileserver \
+               --enable-supergroups \
+               --with-linux-kernel-headers=${KV_DIR} \
+               ${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 ${IMAGE}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" > ${IMAGE}etc/openafs/cacheinfo
+       fi
+       # ThisCell: default to "openafs.org"
+       if [ ! -e ${ROOT}etc/openafs/ThisCell ]; then
+               echo "openafs.org" > ${IMAGE}etc/openafs/ThisCell
+       fi
+}
+
+pkg_postinst() {
+       einfo ""
+       einfo "If you are upgrading from a < 1.4.0_rc8 version of the ebuild,"
+       einfo "we urge you to look at the upgrade-section of the"
+       einfo "Gentoo OpenAFS documentation.  (If you're upgrading from"
+       einfo "< 1.3.85, then you really really should)"
+
+       ebeep 5
+
+       einfo ""
+       einfo "This installation should work out of the box (at least the"
+       einfo "client part doing global afs-cell browsing, unless you had"
+       einfo "a previous and different configuration).  If you want to"
+       einfo "set up your own cell or modify the standard config,"
+       einfo "please have a look at the Gentoo OpenAFS documentation"
+       einfo "(warning: it is not yet up to date wrt the new file locations)"
+       einfo ""
+       einfo "The documentation can be found at:"
+       einfo "  http://www.gentoo.org/doc/en/openafs.xml"
+
+       epause 5
+}
+