summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefaan De Roeck <stefaan@gentoo.org>2008-02-22 14:47:21 +0000
committerStefaan De Roeck <stefaan@gentoo.org>2008-02-22 14:47:21 +0000
commit421e651b7270ae05ec2773813d25b09a5f747f5f (patch)
tree6dfcf3a6dbe0b8bc974ef31870776aa454d3dfbf /net-fs/openafs
parentAdd version pulled from stable-cvs for linux-2.6.24 compatibility (bug #207882) (diff)
downloadhistorical-421e651b7270ae05ec2773813d25b09a5f747f5f.tar.gz
historical-421e651b7270ae05ec2773813d25b09a5f747f5f.tar.bz2
historical-421e651b7270ae05ec2773813d25b09a5f747f5f.zip
Add version pulled from stable-cvs for linux-2.6.24 compatibility (bug #207882), keep more symbols in shared libraries (bug #202489)
Package-Manager: portage-2.1.3.19
Diffstat (limited to 'net-fs/openafs')
-rw-r--r--net-fs/openafs/ChangeLog9
-rw-r--r--net-fs/openafs/files/openafs-1.4.5-shared-libs.patch27
-rw-r--r--net-fs/openafs/openafs-1.4.6_p20080222.ebuild156
3 files changed, 191 insertions, 1 deletions
diff --git a/net-fs/openafs/ChangeLog b/net-fs/openafs/ChangeLog
index 369990373c9b..a3d3751e425d 100644
--- a/net-fs/openafs/ChangeLog
+++ b/net-fs/openafs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-fs/openafs
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.137 2008/01/02 14:01:23 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.138 2008/02/22 14:47:20 stefaan Exp $
+
+*openafs-1.4.6_p20080222 (22 Feb 2008)
+
+ 22 Feb 2008; Stefaan De Roeck <stefaan@gentoo.org>
+ +files/openafs-1.4.5-shared-libs.patch, +openafs-1.4.6_p20080222.ebuild:
+ Add version pulled from stable-cvs for linux-2.6.24 compatibility (bug
+ #207882), keep more symbols in shared libraries (bug #202489)
02 Jan 2008; Stefaan De Roeck <stefaan@gentoo.org> openafs-1.4.6.ebuild:
Stable on alpha, bug #203573
diff --git a/net-fs/openafs/files/openafs-1.4.5-shared-libs.patch b/net-fs/openafs/files/openafs-1.4.5-shared-libs.patch
new file mode 100644
index 000000000000..fa109cf557d2
--- /dev/null
+++ b/net-fs/openafs/files/openafs-1.4.5-shared-libs.patch
@@ -0,0 +1,27 @@
+diff -Naur openafs-1.4.5/src/shlibafsauthent/Makefile.in openafs-1.4.5.new/src/shlibafsauthent/Makefile.in
+--- openafs-1.4.5/src/shlibafsauthent/Makefile.in 2006-08-20 15:17:25.000000000 -0500
++++ openafs-1.4.5.new/src/shlibafsauthent/Makefile.in 2007-12-16 08:29:31.000000000 -0500
+@@ -115,7 +115,7 @@
+ sun*_5*) \
+ ${SHLIB_LINKER} -h libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
+ *_linux*) \
+- ${SHLIB_LINKER} -Wl,-h,libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR} -Wl,--version-script=${srcdir}/mapfile -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
++ ${SHLIB_LINKER} -Wl,-h,libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
+ *) \
+ ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
+ esac
+diff -Naur openafs-1.4.5/src/shlibafsrpc/Makefile.in openafs-1.4.5.new/src/shlibafsrpc/Makefile.in
+--- openafs-1.4.5/src/shlibafsrpc/Makefile.in 2006-08-20 17:24:10.000000000 -0500
++++ openafs-1.4.5.new/src/shlibafsrpc/Makefile.in 2007-12-16 06:55:18.000000000 -0500
+@@ -150,9 +150,9 @@
+ sun*_5*) \
+ ${SHLIB_LINKER} -h libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
+ amd64_linux*) \
+- ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -Wl,--version-script=${srcdir}/mapfile.afs_xdr -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
++ ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
+ *_linux*) \
+- ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -Wl,--version-script=${srcdir}/mapfile -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
++ ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
+ *) \
+ ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
+ esac
diff --git a/net-fs/openafs/openafs-1.4.6_p20080222.ebuild b/net-fs/openafs/openafs-1.4.6_p20080222.ebuild
new file mode 100644
index 000000000000..6a9453c13ab4
--- /dev/null
+++ b/net-fs/openafs/openafs-1.4.6_p20080222.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.4.6_p20080222.ebuild,v 1.1 2008/02/22 14:47:20 stefaan Exp $
+
+inherit flag-o-matic eutils toolchain-funcs versionator pam
+
+PATCHVER=0.14
+MY_PV_DATE=${PV#*_p}
+MY_PV=${PV%_p*}
+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}/${MY_PV}/${MY_P}-src.tar.bz2
+ doc? ( http://openafs.org/dl/${PN}/${MY_PV}/${MY_P}-doc.tar.bz2 )
+ mirror://gentoo/${PN}-gentoo-${PATCHVER}.tar.bz2
+ mirror://gentoo/${PN}-${MY_PV}-cvs${MY_PV_DATE}.patch.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}
+
+ # patch up to the specified cvs version
+ epatch ${DISTDIR}/${MY_P}-cvs${MY_PV_DATE}.patch.bz2
+
+ # enable UCONTEXT on alpha
+ epatch "${FILESDIR}"/openafs-alpha-ucontext.patch
+ # don't use mapfiles to strip symbols (bug #202489)
+ epatch "${FILESDIR}"/openafs-1.4.5-shared-libs.patch
+
+ # disable XCFLAGS override
+ sed -i 's/^[ \t]*XCFLAGS.*//' src/cf/osconf.m4
+ # disable compiler choice override
+ sed -i 's/^[ \t]\+\(CC\|CCOBJ\|MT_CC\)="[^ ]*\(.*\)"/\1="${CC}\2"/' 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 "${D}"/usr/share/man/man1; mv kpasswd.1 kpasswd_afs.1)
+
+ # minimal documentation
+ dodoc ${CONFDIR}/README ${CONFDIR}/CellServDB
+
+ # documentation package
+ if use doc; then
+ 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"
+}