diff options
author | Stefan Briesenick <sbriesen@gentoo.org> | 2008-01-30 01:42:37 +0000 |
---|---|---|
committer | Stefan Briesenick <sbriesen@gentoo.org> | 2008-01-30 01:42:37 +0000 |
commit | d718ced664988e4b2b75df58859322a730236b31 (patch) | |
tree | 22774b4b2990742a91cc294e492ad2af1c3dd3a8 /net-dialup/fcusb2 | |
parent | fixing string.h problem (see bug #202385) + patches for kernel 2.6.24 (thanks... (diff) | |
download | gentoo-2-d718ced664988e4b2b75df58859322a730236b31.tar.gz gentoo-2-d718ced664988e4b2b75df58859322a730236b31.tar.bz2 gentoo-2-d718ced664988e4b2b75df58859322a730236b31.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/fcusb2')
-rw-r--r-- | net-dialup/fcusb2/ChangeLog | 9 | ||||
-rw-r--r-- | net-dialup/fcusb2/fcusb2-0.1-r1.ebuild | 60 | ||||
-rw-r--r-- | net-dialup/fcusb2/files/digest-fcusb2-0.1-r1 | 3 | ||||
-rw-r--r-- | net-dialup/fcusb2/files/fcusb2_kernel-2.6.24.diff | 46 |
4 files changed, 117 insertions, 1 deletions
diff --git a/net-dialup/fcusb2/ChangeLog b/net-dialup/fcusb2/ChangeLog index d919ccf4924f..75ae818cf7fb 100644 --- a/net-dialup/fcusb2/ChangeLog +++ b/net-dialup/fcusb2/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-dialup/fcusb2 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcusb2/ChangeLog,v 1.1 2008/01/06 02:05:11 sbriesen Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcusb2/ChangeLog,v 1.2 2008/01/30 01:42:36 sbriesen Exp $ + +*fcusb2-0.1-r1 (30 Jan 2008) + + 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org> + +files/fcusb2_kernel-2.6.24.diff, +fcusb2-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>). *fcusb2-0.1 (06 Jan 2008) diff --git a/net-dialup/fcusb2/fcusb2-0.1-r1.ebuild b/net-dialup/fcusb2/fcusb2-0.1-r1.ebuild new file mode 100644 index 000000000000..dcef83f446c7 --- /dev/null +++ b/net-dialup/fcusb2/fcusb2-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/fcusb2/fcusb2-0.1-r1.ebuild,v 1.1 2008/01/30 01:42:36 sbriesen Exp $ + +inherit eutils rpm linux-mod + +DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card USB v2.0" +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="!net-dialup/fritzcapi" +RDEPEND="${DEPEND} 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="01234" + if use amd64; then + BIT="64bit-" PAT="1345" + 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/fcusb2/files/digest-fcusb2-0.1-r1 b/net-dialup/fcusb2/files/digest-fcusb2-0.1-r1 new file mode 100644 index 000000000000..e09c150f5e41 --- /dev/null +++ b/net-dialup/fcusb2/files/digest-fcusb2-0.1-r1 @@ -0,0 +1,3 @@ +MD5 15d674649d4a3b354e0eac2b113c710b fcusb2-0.1-0.src.rpm 1499482 +RMD160 ec03b407f955e218807e70c57c849202f5a28baa fcusb2-0.1-0.src.rpm 1499482 +SHA256 0cf5fabb3bb61647466f32579383bac961ff5c91e0decce91b30d98abaa9e122 fcusb2-0.1-0.src.rpm 1499482 diff --git a/net-dialup/fcusb2/files/fcusb2_kernel-2.6.24.diff b/net-dialup/fcusb2/files/fcusb2_kernel-2.6.24.diff new file mode 100644 index 000000000000..77cdee14b0ef --- /dev/null +++ b/net-dialup/fcusb2/files/fcusb2_kernel-2.6.24.diff @@ -0,0 +1,46 @@ +--- src/driver.c.orig 2008-01-30 01:56:53.000000000 +0100 ++++ src/driver.c 2008-01-30 01:59:17.000000000 +0100 +@@ -92,8 +92,12 @@ + static DECLARE_WAIT_QUEUE_HEAD(capi_wait); + static DECLARE_WAIT_QUEUE_HEAD(tx_wait); + static DECLARE_WAIT_QUEUE_HEAD(rx_wait); ++static DECLARE_COMPLETION(hotplug); /* 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(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); } +@@ -787,7 +791,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 */ +@@ -1211,7 +1215,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 */ + +@@ -1246,7 +1253,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; |