Add back only stable ppc/ppc64 version
authorMark Loeser <halcy0n@gentoo.org>
Wed, 23 Jun 2010 18:09:41 +0000 (18:09 +0000)
committerMark Loeser <halcy0n@gentoo.org>
Wed, 23 Jun 2010 18:09:41 +0000 (18:09 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
RepoMan-Options: --force

net-fs/openafs-kernel/ChangeLog
net-fs/openafs-kernel/openafs-kernel-1.4.6.ebuild [new file with mode: 0644]
net-fs/openafs/ChangeLog
net-fs/openafs/openafs-1.4.6.ebuild [new file with mode: 0644]

index d20ec5d291b2bf9c11c99024e4e3e6796509add7..7df4448bf39fd817655773a1c7333e42f9601d73 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for net-fs/openafs-kernel
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.122 2010/06/21 23:09:58 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs-kernel/ChangeLog,v 1.123 2010/06/23 18:09:12 halcy0n Exp $
+
+  23 Jun 2010; Mark Loeser <halcy0n@gentoo.org>
+  +openafs-kernel-1.4.6.ebuild:
+  Add back only stable ppc/ppc64 version
 
 *openafs-kernel-1.4.12.1 (21 Jun 2010)
 
diff --git a/net-fs/openafs-kernel/openafs-kernel-1.4.6.ebuild b/net-fs/openafs-kernel/openafs-kernel-1.4.6.ebuild
new file mode 100644 (file)
index 0000000..c6901d0
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2010 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.6.ebuild,v 1.9 2010/06/23 18:09:12 halcy0n 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 BSD openafs-krb5-a APSL-2 sun-rpc"
+SLOT="0"
+KEYWORDS="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
+}
index a49d6f197154240b02edc4fba7a27882bb843652..783c5b41e549af138b150e910a945ae6a6c7df57 100644 (file)
@@ -1,6 +1,9 @@
 # ChangeLog for net-fs/openafs
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.163 2010/06/21 23:08:05 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.164 2010/06/23 18:09:41 halcy0n Exp $
+
+  23 Jun 2010; Mark Loeser <halcy0n@gentoo.org> +openafs-1.4.6.ebuild:
+  Add back only stable ppc/ppc64 version
 
 *openafs-1.4.12.1 (21 Jun 2010)
 
diff --git a/net-fs/openafs/openafs-1.4.6.ebuild b/net-fs/openafs/openafs-1.4.6.ebuild
new file mode 100644 (file)
index 0000000..bb2b9be
--- /dev/null
@@ -0,0 +1,140 @@
+# Copyright 1999-2010 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.ebuild,v 1.9 2010/06/23 18:09:41 halcy0n 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 BSD openafs-krb5-a APSL-2 sun-rpc"
+SLOT="0"
+KEYWORDS="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 "${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"
+}