# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header:$ EAPI="2" inherit versionator eutils autotools toolchain-funcs linux-info MY_PV="${PV/_/-}" MY_PV="${MY_PV/-pre/-git}" DESCRIPTION="Userspace utilities for a general USB device sharing system over IP networks" HOMEPAGE="http://usbip.sourceforge.net/" LINUX_V=$(get_version_component_range 1-2) if [ ${PV/_rc} != ${PV} ]; then LINUX_VER=$(get_version_component_range 1-2).$(($(get_version_component_range 3)-1)) PATCH_VERSION=$(get_version_component_range 1-3) LINUX_PATCH=patch-${PV//_/-}.bz2 SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} mirror://kernel/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" elif [ $(get_version_component_count) == 4 ]; then # stable-release series LINUX_VER=$(get_version_component_range 1-3) LINUX_PATCH=patch-${PV}.bz2 SRC_URI="mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" else LINUX_VER=${PV} fi LINUX_SOURCES=linux-${LINUX_VER}.tar.bz2 SRC_URI="${SRC_URI} mirror://kernel/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug" RDEPEND="sys-fs/sysfsutils sys-apps/tcp-wrappers dev-libs/glib" DEPEND="${RDEPEND} dev-util/pkgconfig >=sys-devel/automake-1.9 sys-devel/libtool" S_K="${WORKDIR}/linux-${LINUX_VER}" S="${S_K}/drivers/staging/usbip/userspace/" src_unpack() { local _tarpattern= local _filterdiff= local _pattern="drivers/staging/usbip/userspace/" _tarpattern="${_tarpattern} linux-${LINUX_VER}/${_pattern}" _filterdiff="${_filterdiff} -i ${_pattern}/*" # We expect the tar implementation to support the -j option (both # GNU tar and libarchive's tar support that). ebegin "Unpacking partial source tarball" tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} ${_tarpattern} eend $? || die "tar failed" if [[ -n ${LINUX_PATCH} ]]; then ebegin "Filtering partial source patch" filterdiff -p1 ${_filterdiff} -z "${DISTDIR}"/${LINUX_PATCH} > ${P}.patch || die eend $? || die "filterdiff failed" fi MY_A= for _AFILE in ${A}; do [[ ${_AFILE} == ${LINUX_SOURCES} ]] && continue [[ ${_AFILE} == ${LINUX_PATCH} ]] && continue MY_A="${MY_A} ${_AFILE}" done [[ -n ${MY_A} ]] && unpack ${MY_A} } src_prepare() { if [[ -n ${LINUX_PATCH} ]]; then cd "${WORKDIR}"/linux-"${LINUX_VER}" epatch "${WORKDIR}"/${P}.patch fi eautoreconf } src_install() { emake DESTDIR="${D}" install || die "Installing userspace tools failed" dodoc README || die } pkg_postinst() { elog "For using USB/IP you need to enable USB_IP_VHCI_HCD in the client" elog "machine's kernel config and USB_IP_HOST on the server." }