# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" inherit autotools eutils linux-mod versionator PATCHVER=0.17 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="~amd64 ~ppc ~ppc64 ~x86" IUSE="" PATCHDIR="${WORKDIR}/gentoo/patches/$(get_version_component_range 1-2)" CONFIG_CHECK="!DEBUG_RODATA !PREEMPT_RCU" DEBUG_RODATA_ERROR="OpenAFS is incompatible with linux' CONFIG_DEBUG_RODATA option" PREEMPT_RCU_ERROR="Selecting preemptible RCU makes the kernel export certain symbols GPL-only, but OpenAFS has an incompatible license" src_prepare() { EPATCH_SUFFIX="patch" epatch "${PATCHDIR}" epatch "${FILESDIR}/${PV}-missing-version-file.patch" AT_M4DIR="src/cf" eautoreconf } src_configure() { ARCH="$(tc-arch-kernel)" econf \ --with-linux-kernel-headers="${KV_OUT_DIR}" } src_compile() { ARCH="$(tc-arch-kernel)" emake only_libafs || die "emake failed" } 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 }