diff options
author | Stefan Briesenick <sbriesen@gentoo.org> | 2008-01-30 01:33:43 +0000 |
---|---|---|
committer | Stefan Briesenick <sbriesen@gentoo.org> | 2008-01-30 01:33:43 +0000 |
commit | 8293fb5a55d2b8db6e51facd51b8fa9b3fc59563 (patch) | |
tree | 07c649abbcfeed66d7d266203612ec6bebb6dfdf /net-dialup | |
parent | Stable on x86 wrt bug #207718 (diff) | |
download | gentoo-2-8293fb5a55d2b8db6e51facd51b8fa9b3fc59563.tar.gz gentoo-2-8293fb5a55d2b8db6e51facd51b8fa9b3fc59563.tar.bz2 gentoo-2-8293fb5a55d2b8db6e51facd51b8fa9b3fc59563.zip |
fixing string.h problem (see bug #202385) + patches for kernel 2.6.24 (thanks to Arnd Feldmueller <arnd.feldmueller@web.de>).
(Portage version: 2.1.4)
Diffstat (limited to 'net-dialup')
-rw-r--r-- | net-dialup/fcdslusb/ChangeLog | 9 | ||||
-rw-r--r-- | net-dialup/fcdslusb/fcdslusb-0.1-r1.ebuild | 66 | ||||
-rw-r--r-- | net-dialup/fcdslusb/files/digest-fcdslusb-0.1-r1 | 3 | ||||
-rw-r--r-- | net-dialup/fcdslusb/files/fcdslusb_kernel-2.6.24.diff | 126 |
4 files changed, 203 insertions, 1 deletions
diff --git a/net-dialup/fcdslusb/ChangeLog b/net-dialup/fcdslusb/ChangeLog index 9850c5dc9ef8..55f745c06997 100644 --- a/net-dialup/fcdslusb/ChangeLog +++ b/net-dialup/fcdslusb/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-dialup/fcdslusb # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslusb/ChangeLog,v 1.1 2008/01/06 01:47:59 sbriesen Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslusb/ChangeLog,v 1.2 2008/01/30 01:33:42 sbriesen Exp $ + +*fcdslusb-0.1-r1 (30 Jan 2008) + + 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org> + +files/fcdslusb_kernel-2.6.24.diff, +fcdslusb-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>). *fcdslusb-0.1 (06 Jan 2008) diff --git a/net-dialup/fcdslusb/fcdslusb-0.1-r1.ebuild b/net-dialup/fcdslusb/fcdslusb-0.1-r1.ebuild new file mode 100644 index 000000000000..e317bd133dc1 --- /dev/null +++ b/net-dialup/fcdslusb/fcdslusb-0.1-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslusb/fcdslusb-0.1-r1.ebuild,v 1.1 2008/01/30 01:33:42 sbriesen Exp $ + +inherit eutils rpm linux-mod + +DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL 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}/1/fritz/src) ${PN}2(net:${S}/2/fritz/src)" +} + +src_unpack() { + local BIT="" PAT1="012345" PAT2="0123467" + if use amd64; then + BIT="64bit-" PAT1="12345" PAT2="123467" + 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}/1/fritz" + epatch $(sed -n "s|^Patch[${PAT1}]:\s*\(.*\)|../../../\1|p" ../../../${PN}.spec) + convert_to_m src/Makefile + + cd "${S}/2/fritz" + epatch $(sed -n "s|^Patch[${PAT2}]:\s*\(.*\)|../../../\1|p" ../../../${PN}.spec) + convert_to_m src/Makefile + + cd "${S}" + epatch "${FILESDIR}/${PN}_kernel-2.6.24.diff" + + for i in "${S}"/[12]/fritz/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 1/fritz/*.frm ../*.frm + dodoc CAPI*.txt + dohtml *.html +} diff --git a/net-dialup/fcdslusb/files/digest-fcdslusb-0.1-r1 b/net-dialup/fcdslusb/files/digest-fcdslusb-0.1-r1 new file mode 100644 index 000000000000..89ea163ec180 --- /dev/null +++ b/net-dialup/fcdslusb/files/digest-fcdslusb-0.1-r1 @@ -0,0 +1,3 @@ +MD5 52c4b08d3cb063aef61dc11f1c9e9a86 fcdslusb-0.1-0.src.rpm 3853334 +RMD160 5202fd73a9a20a072875bc692026aaebd3feb98a fcdslusb-0.1-0.src.rpm 3853334 +SHA256 0de19b29e0e3a299427e3de204a1872ba53cc23a4a69f284752d39ad1c21e4e5 fcdslusb-0.1-0.src.rpm 3853334 diff --git a/net-dialup/fcdslusb/files/fcdslusb_kernel-2.6.24.diff b/net-dialup/fcdslusb/files/fcdslusb_kernel-2.6.24.diff new file mode 100644 index 000000000000..196f0924e4c9 --- /dev/null +++ b/net-dialup/fcdslusb/files/fcdslusb_kernel-2.6.24.diff @@ -0,0 +1,126 @@ +--- 1/fritz/src/driver.c.orig 2008-01-30 01:32:05.000000000 +0100 ++++ 1/fritz/src/driver.c 2008-01-30 01:36:11.000000000 +0100 +@@ -108,9 +108,14 @@ + 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 + + #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); } +@@ -785,7 +790,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 */ +@@ -1349,7 +1354,10 @@ + } + } + LOG("Scheduler thread stopped.\n"); ++ complete(&hotplug); /* Complete Thread Sync here <arnd.feldmueller@web.de> */ ++ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + up (&hotplug); ++ #endif + return 0; + } /* scheduler */ + +@@ -1392,7 +1400,10 @@ + SCHED_WAKEUP; + } + LOG("Scheduler thread signalled, waiting...\n"); ++ wait_for_completion(&hotplug); /* Wait for complete Thread Sync <arnd.feldmueller@web.de> */ ++ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + down (&hotplug); ++ #endif + LOG("Scheduler thread[%d] terminated.\n", thread_pid); + } + thread_pid = -1; +--- 1/fritz/src/driver.h.orig 2008-01-30 01:32:05.000000000 +0100 ++++ 1/fritz/src/driver.h 2008-01-30 01:32:06.000000000 +0100 +@@ -58,7 +58,9 @@ + /*---------------------------------------------------------------------------*\ + \*---------------------------------------------------------------------------*/ + typedef long intptr_t; ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + typedef unsigned long uintptr_t; ++#endif + + /*---------------------------------------------------------------------------*\ + \*---------------------------------------------------------------------------*/ +--- 2/fritz/src/driver.c.orig 2008-01-30 01:32:06.000000000 +0100 ++++ 2/fritz/src/driver.c 2008-01-30 01:32:06.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; +--- 2/fritz/src/common.h.orig 2005-08-05 00:00:00.000000000 +0200 ++++ 2/fritz/src/common.h 2008-01-30 01:32:06.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 + + /*---------------------------------------------------------------------------*\ + \*---------------------------------------------------------------------------*/ |