diff options
-rw-r--r-- | net-dialup/fcdslslusb/ChangeLog | 9 | ||||
-rw-r--r-- | net-dialup/fcdslslusb/fcdslslusb-0.1-r1.ebuild | 60 | ||||
-rw-r--r-- | net-dialup/fcdslslusb/files/digest-fcdslslusb-0.1-r1 | 3 | ||||
-rw-r--r-- | net-dialup/fcdslslusb/files/fcdslslusb_kernel-2.6.24.diff | 66 |
4 files changed, 137 insertions, 1 deletions
diff --git a/net-dialup/fcdslslusb/ChangeLog b/net-dialup/fcdslslusb/ChangeLog index dae093fddb73..7f81d6e978c6 100644 --- a/net-dialup/fcdslslusb/ChangeLog +++ b/net-dialup/fcdslslusb/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-dialup/fcdslslusb # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslslusb/ChangeLog,v 1.1 2008/01/06 01:44:18 sbriesen Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslslusb/ChangeLog,v 1.2 2008/01/30 01:32:20 sbriesen Exp $ + +*fcdslslusb-0.1-r1 (30 Jan 2008) + + 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org> + +files/fcdslslusb_kernel-2.6.24.diff, +fcdslslusb-0.1-r1.ebuild: + fixing string.h problem (see bug #202385) + patches for kernel 2.6.24 + (thanks to Arnd Feldmueller <arnd.feldmueller@web.de>). *fcdslslusb-0.1 (06 Jan 2008) diff --git a/net-dialup/fcdslslusb/fcdslslusb-0.1-r1.ebuild b/net-dialup/fcdslslusb/fcdslslusb-0.1-r1.ebuild new file mode 100644 index 000000000000..2def94adb01a --- /dev/null +++ b/net-dialup/fcdslslusb/fcdslslusb-0.1-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslslusb/fcdslslusb-0.1-r1.ebuild,v 1.1 2008/01/30 01:32:20 sbriesen Exp $ + +inherit eutils rpm linux-mod + +DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL SL USB" +HOMEPAGE="http://opensuse.foehr-it.de/" +SRC_URI="http://opensuse.foehr-it.de/rpms/10_3/src/${P}-0.src.rpm" + +LICENSE="AVM-FC" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="net-dialup/capi4k-utils" + +S="${WORKDIR}/fritz" + +pkg_setup() { + linux-mod_pkg_setup + + if ! kernel_is 2 6; then + die "This package works only with 2.6 kernel!" + fi + + BUILD_TARGETS="all" + BUILD_PARAMS="KDIR=${KV_DIR} LIBDIR=${S}/src" + MODULE_NAMES="${PN}(net:${S}/src)" +} + +src_unpack() { + local BIT="" PAT="012345" + if use amd64; then + BIT="64bit-" PAT="12345" + fi + + rpm_unpack "${DISTDIR}/${A}" || die "failed to unpack ${A} file" + DISTDIR="${WORKDIR}" unpack ${PN}-suse[0-9][0-9]-${BIT}[0-9].[0-9]*-[0-9]*.tar.gz + + cd "${S}" + epatch $(sed -n "s|^Patch[${PAT}]:\s*\(.*\)|../\1|p" ../${PN}.spec) + epatch "${FILESDIR}/${PN}_kernel-2.6.24.diff" + convert_to_m src/Makefile + + for i in lib/*-lib.o; do + einfo "Localize symbols in ${i##*/} ..." + objcopy -L memcmp -L memcpy -L memmove -L memset -L strcat \ + -L strcmp -L strcpy -L strlen -L strncmp -L strncpy "${i}" + done +} + +src_install() { + linux-mod_src_install + insinto /lib/firmware/isdn + doins ../*.frm + dodoc CAPI*.txt + dohtml *.html +} diff --git a/net-dialup/fcdslslusb/files/digest-fcdslslusb-0.1-r1 b/net-dialup/fcdslslusb/files/digest-fcdslslusb-0.1-r1 new file mode 100644 index 000000000000..4226152084b9 --- /dev/null +++ b/net-dialup/fcdslslusb/files/digest-fcdslslusb-0.1-r1 @@ -0,0 +1,3 @@ +MD5 68fa0d4bfbc94b1b384d2be2952003f9 fcdslslusb-0.1-0.src.rpm 2202765 +RMD160 9eb1c954103bcbfe7e72ce672280d3e1445532ed fcdslslusb-0.1-0.src.rpm 2202765 +SHA256 28ac52b546e77ee1c45a6959f88444fa4032dfe4306766e3a291db1d08faf846 fcdslslusb-0.1-0.src.rpm 2202765 diff --git a/net-dialup/fcdslslusb/files/fcdslslusb_kernel-2.6.24.diff b/net-dialup/fcdslslusb/files/fcdslslusb_kernel-2.6.24.diff new file mode 100644 index 000000000000..2999b34e11a9 --- /dev/null +++ b/net-dialup/fcdslslusb/files/fcdslslusb_kernel-2.6.24.diff @@ -0,0 +1,66 @@ +--- src/driver.c.orig 2008-01-30 01:03:05.000000000 +0100 ++++ src/driver.c 2008-01-30 01:11:17.000000000 +0100 +@@ -131,12 +131,20 @@ + static DECLARE_TASKLET(rx_tasklet, rx_task, 0); + static DECLARE_WAIT_QUEUE_HEAD(wait); + static DECLARE_WAIT_QUEUE_HEAD(capi_wait); ++static DECLARE_COMPLETION(hotplug); /* New DECLARE, <arnd.feldmueller@web.de> */ ++static DECLARE_COMPLETION(config); /* New DECLARE, <arnd.feldmueller@web.de> */ ++static DECLARE_COMPLETION(notify); /* New DECLARE, <arnd.feldmueller@web.de> */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + static DECLARE_MUTEX_LOCKED(hotplug); + static DECLARE_MUTEX_LOCKED(config); + static DECLARE_MUTEX_LOCKED(notify); ++#endif + + static DECLARE_WAIT_QUEUE_HEAD(dbg_wait); ++static DECLARE_COMPLETION(thread_sync); /* New DECLARE, <arnd.feldmueller@web.de> */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + static DECLARE_MUTEX_LOCKED(thread_sync); ++#endif + + #define SCHED_WAKEUP_CAPI { atomic_set (&thread_capi_flag, 1); wake_up_interruptible (&capi_wait); } + #define SCHED_WAKEUP { atomic_set (&got_kicked, 1); wake_up_interruptible (&wait); } +@@ -434,7 +442,7 @@ + close_func = func; + close_data = data; + +- INIT_WORK (&closing_work, closing_worker); ++ INIT_WORK (&closing_work, (work_func_t)closing_worker); + schedule_work (&closing_work); + LOG("Worker scheduled.\n"); + } /* start_closing_worker */ +@@ -1180,7 +1188,10 @@ + } + } + LOG("Scheduler thread stopped.\n"); ++ complete(&thread_sync); /* Complete Thread Sync here <arnd.feldmueller@web.de> */ ++ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + up (&thread_sync); ++ #endif + return 0; + } /* scheduler */ + +@@ -1214,7 +1225,10 @@ + SCHED_WAKEUP; + } + LOG("Thread signalled, waiting for termination...\n"); ++ wait_for_completion(&thread_sync); /* Wait for complete Thread Sync <arnd.feldmueller@web.de> */ ++ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + down (&thread_sync); ++ #endif + LOG("Thread[%d] terminated.\n", thread_pid); + } + thread_pid = -1; +--- src/common.h.orig 2005-07-07 00:00:00.000000000 +0200 ++++ src/common.h 2008-01-30 01:03:05.000000000 +0100 +@@ -51,7 +51,9 @@ + /*---------------------------------------------------------------------------*\ + \*---------------------------------------------------------------------------*/ + typedef long intptr_t; ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + typedef unsigned long uintptr_t; ++#endif + + /*---------------------------------------------------------------------------*\ + \*---------------------------------------------------------------------------*/ |