diff options
author | Stefaan De Roeck <stefaan@gentoo.org> | 2007-11-15 11:52:46 +0000 |
---|---|---|
committer | Stefaan De Roeck <stefaan@gentoo.org> | 2007-11-15 11:52:46 +0000 |
commit | 175b6e17609f5705c85fa20f903a88c00983f38a (patch) | |
tree | d8d997d7a3a2c23956e66d16c3ba241a45c5652c /net-fs | |
parent | Remove old version. (diff) | |
download | historical-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/ChangeLog | 10 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/digest-openafs-kernel-1.4.5 | 6 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/digest-openafs-kernel-1.5.27 | 6 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/tasklist_lock.patch | 47 | ||||
-rw-r--r-- | net-fs/openafs-kernel/files/tasklist_lock_1.5.12.patch | 15 | ||||
-rw-r--r-- | net-fs/openafs-kernel/openafs-kernel-1.4.5.ebuild | 55 | ||||
-rw-r--r-- | net-fs/openafs-kernel/openafs-kernel-1.5.27.ebuild | 52 | ||||
-rw-r--r-- | net-fs/openafs/ChangeLog | 9 | ||||
-rw-r--r-- | net-fs/openafs/files/digest-openafs-1.4.5 | 9 | ||||
-rw-r--r-- | net-fs/openafs/files/digest-openafs-1.5.27 | 9 | ||||
-rw-r--r-- | net-fs/openafs/files/fs-fix.patch | 10 | ||||
-rw-r--r-- | net-fs/openafs/openafs-1.4.5.ebuild | 143 | ||||
-rw-r--r-- | net-fs/openafs/openafs-1.5.27.ebuild | 322 |
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 +} |