summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Briesenick <sbriesen@gentoo.org>2008-01-30 01:35:03 +0000
committerStefan Briesenick <sbriesen@gentoo.org>2008-01-30 01:35:03 +0000
commit129ea21e3d82a448df64fbc454f7e3768b695316 (patch)
tree2b7ab321c07a157f3b987e5e9a0db4d7b5bc73a8 /net-dialup
parentStable on x86 wrt bug #207718 (diff)
downloadhistorical-129ea21e3d82a448df64fbc454f7e3768b695316.tar.gz
historical-129ea21e3d82a448df64fbc454f7e3768b695316.tar.bz2
historical-129ea21e3d82a448df64fbc454f7e3768b695316.zip
fixing string.h problem (see bug #202385) + patches for kernel 2.6.24 (thanks to Arnd Feldmueller <arnd.feldmueller@web.de>).
Package-Manager: portage-2.1.4
Diffstat (limited to 'net-dialup')
-rw-r--r--net-dialup/fcdsl/ChangeLog9
-rw-r--r--net-dialup/fcdsl/fcdsl-0.1-r1.ebuild55
-rw-r--r--net-dialup/fcdsl/files/digest-fcdsl-0.1-r13
-rw-r--r--net-dialup/fcdsl/files/fcdsl_kernel-2.6.24.diff35
-rw-r--r--net-dialup/fcdsl2/ChangeLog9
-rw-r--r--net-dialup/fcdsl2/fcdsl2-0.1-r1.ebuild60
-rw-r--r--net-dialup/fcdsl2/files/digest-fcdsl2-0.1-r13
-rw-r--r--net-dialup/fcdsl2/files/fcdsl2_kernel-2.6.24.diff47
-rw-r--r--net-dialup/fcdslsl/ChangeLog9
-rw-r--r--net-dialup/fcdslsl/fcdslsl-0.1-r1.ebuild60
-rw-r--r--net-dialup/fcdslsl/files/digest-fcdslsl-0.1-r13
-rw-r--r--net-dialup/fcdslsl/files/fcdslsl_kernel-2.6.24.diff47
-rw-r--r--net-dialup/fcdslslusb/ChangeLog9
-rw-r--r--net-dialup/fcdslslusb/fcdslslusb-0.1-r1.ebuild60
-rw-r--r--net-dialup/fcdslslusb/files/digest-fcdslslusb-0.1-r13
-rw-r--r--net-dialup/fcdslslusb/files/fcdslslusb_kernel-2.6.24.diff66
-rw-r--r--net-dialup/fcdslusb/ChangeLog9
-rw-r--r--net-dialup/fcdslusb/fcdslusb-0.1-r1.ebuild66
-rw-r--r--net-dialup/fcdslusb/files/digest-fcdslusb-0.1-r13
-rw-r--r--net-dialup/fcdslusb/files/fcdslusb_kernel-2.6.24.diff126
-rw-r--r--net-dialup/fcdslusba/ChangeLog9
-rw-r--r--net-dialup/fcdslusba/fcdslusba-0.1-r1.ebuild55
-rw-r--r--net-dialup/fcdslusba/files/digest-fcdslusba-0.1-r13
-rw-r--r--net-dialup/fcdslusba/files/fcdslusba_kernel-2.6.24.diff66
24 files changed, 809 insertions, 6 deletions
diff --git a/net-dialup/fcdsl/ChangeLog b/net-dialup/fcdsl/ChangeLog
index 9d3c96a3717d..6774298280bd 100644
--- a/net-dialup/fcdsl/ChangeLog
+++ b/net-dialup/fcdsl/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/fcdsl
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdsl/ChangeLog,v 1.35 2008/01/06 01:35:57 sbriesen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdsl/ChangeLog,v 1.36 2008/01/30 01:27:42 sbriesen Exp $
+
+*fcdsl-0.1-r1 (30 Jan 2008)
+
+ 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org>
+ +files/fcdsl_kernel-2.6.24.diff, +fcdsl-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>).
06 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org>
-files/fcdsl-2.6.20.diff, -files/fcdslslusb-2.6.20.diff,
diff --git a/net-dialup/fcdsl/fcdsl-0.1-r1.ebuild b/net-dialup/fcdsl/fcdsl-0.1-r1.ebuild
new file mode 100644
index 000000000000..6da9492f68f2
--- /dev/null
+++ b/net-dialup/fcdsl/fcdsl-0.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdsl/fcdsl-0.1-r1.ebuild,v 1.1 2008/01/30 01:27:42 sbriesen Exp $
+
+inherit eutils rpm linux-mod
+
+DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL PCI"
+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="~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() {
+ rpm_unpack "${DISTDIR}/${A}" || die "failed to unpack ${A} file"
+ DISTDIR="${WORKDIR}" unpack ${PN}-suse[0-9][0-9]-[0-9].[0-9]*-[0-9]*.tar.gz
+
+ cd "${S}"
+ epatch $(sed -n "s|^Patch[01234]:\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 *.bin
+ dodoc CAPI*.txt
+ dohtml *.html
+}
diff --git a/net-dialup/fcdsl/files/digest-fcdsl-0.1-r1 b/net-dialup/fcdsl/files/digest-fcdsl-0.1-r1
new file mode 100644
index 000000000000..2a62b5c51d8d
--- /dev/null
+++ b/net-dialup/fcdsl/files/digest-fcdsl-0.1-r1
@@ -0,0 +1,3 @@
+MD5 efb65ee7a21571155219e3896579378a fcdsl-0.1-0.src.rpm 1792277
+RMD160 16cb511dffe8e9d773b382713da8fcca2b2be0b8 fcdsl-0.1-0.src.rpm 1792277
+SHA256 00f2a5b3abb072edc00447308b4680b044efbcbd9d8844060a36509c9cc3064c fcdsl-0.1-0.src.rpm 1792277
diff --git a/net-dialup/fcdsl/files/fcdsl_kernel-2.6.24.diff b/net-dialup/fcdsl/files/fcdsl_kernel-2.6.24.diff
new file mode 100644
index 000000000000..2e619365e360
--- /dev/null
+++ b/net-dialup/fcdsl/files/fcdsl_kernel-2.6.24.diff
@@ -0,0 +1,35 @@
+--- src/driver.c.orig 2008-01-27 05:30:34.000000000 +0100
++++ src/driver.c 2008-01-27 05:30:34.000000000 +0100
+@@ -111,7 +111,10 @@
+
+ static DECLARE_WAIT_QUEUE_HEAD(wait);
+ static DECLARE_WAIT_QUEUE_HEAD(capi_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(hotplug);
++#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); }
+@@ -1367,7 +1371,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 (&hotplug);
++ #endif
+ return 0;
+ } /* sched_thread */
+
+@@ -1401,7 +1410,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 (&hotplug);
++ #endif
+ LOG("Thread[%d] terminated.\n", thread_pid);
+ }
+ thread_pid = -1;
diff --git a/net-dialup/fcdsl2/ChangeLog b/net-dialup/fcdsl2/ChangeLog
index e93a7107876a..0ddc135e9f30 100644
--- a/net-dialup/fcdsl2/ChangeLog
+++ b/net-dialup/fcdsl2/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/fcdsl2
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdsl2/ChangeLog,v 1.1 2008/01/06 01:39:07 sbriesen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdsl2/ChangeLog,v 1.2 2008/01/30 01:29:21 sbriesen Exp $
+
+*fcdsl2-0.1-r1 (30 Jan 2008)
+
+ 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org>
+ +files/fcdsl2_kernel-2.6.24.diff, +fcdsl2-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>).
*fcdsl2-0.1 (06 Jan 2008)
diff --git a/net-dialup/fcdsl2/fcdsl2-0.1-r1.ebuild b/net-dialup/fcdsl2/fcdsl2-0.1-r1.ebuild
new file mode 100644
index 000000000000..0868de753c43
--- /dev/null
+++ b/net-dialup/fcdsl2/fcdsl2-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/fcdsl2/fcdsl2-0.1-r1.ebuild,v 1.1 2008/01/30 01:29:21 sbriesen Exp $
+
+inherit eutils rpm linux-mod
+
+DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL v2.0 PCI"
+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="01234"
+ if use amd64; then
+ BIT="64bit-" PAT="1234"
+ 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 ../*.bin
+ dodoc CAPI*.txt
+ dohtml *.html
+}
diff --git a/net-dialup/fcdsl2/files/digest-fcdsl2-0.1-r1 b/net-dialup/fcdsl2/files/digest-fcdsl2-0.1-r1
new file mode 100644
index 000000000000..e65c7e4f99fe
--- /dev/null
+++ b/net-dialup/fcdsl2/files/digest-fcdsl2-0.1-r1
@@ -0,0 +1,3 @@
+MD5 dbbe301a1fcd8b94475cd779ef334a9f fcdsl2-0.1-0.src.rpm 2230082
+RMD160 b52f28a130b64c243cea7b86d46d5af5ef8b4d3f fcdsl2-0.1-0.src.rpm 2230082
+SHA256 bda2664a3784311022efe98e975574ffa790d107a2fbee30919d550f4c09bb62 fcdsl2-0.1-0.src.rpm 2230082
diff --git a/net-dialup/fcdsl2/files/fcdsl2_kernel-2.6.24.diff b/net-dialup/fcdsl2/files/fcdsl2_kernel-2.6.24.diff
new file mode 100644
index 000000000000..e9b51ed36a2d
--- /dev/null
+++ b/net-dialup/fcdsl2/files/fcdsl2_kernel-2.6.24.diff
@@ -0,0 +1,47 @@
+--- src/driver.c.orig 2008-01-27 05:38:50.000000000 +0100
++++ src/driver.c 2008-01-27 05:38:50.000000000 +0100
+@@ -116,7 +116,10 @@
+ static DECLARE_WAIT_QUEUE_HEAD(capi_wait);
+ 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); }
+@@ -1405,7 +1409,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;
+ } /* sched_thread */
+
+@@ -1439,7 +1448,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-27 05:38:50.000000000 +0100
+@@ -44,7 +44,9 @@
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
+ typedef long intptr_t;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
+ typedef unsigned long uintptr_t;
++#endif
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
diff --git a/net-dialup/fcdslsl/ChangeLog b/net-dialup/fcdslsl/ChangeLog
index 9bfeb24c131d..c7db0342df44 100644
--- a/net-dialup/fcdslsl/ChangeLog
+++ b/net-dialup/fcdslsl/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/fcdslsl
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslsl/ChangeLog,v 1.1 2008/01/06 01:42:08 sbriesen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslsl/ChangeLog,v 1.2 2008/01/30 01:30:55 sbriesen Exp $
+
+*fcdslsl-0.1-r1 (30 Jan 2008)
+
+ 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org>
+ +files/fcdslsl_kernel-2.6.24.diff, +fcdslsl-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>).
*fcdslsl-0.1 (06 Jan 2008)
diff --git a/net-dialup/fcdslsl/fcdslsl-0.1-r1.ebuild b/net-dialup/fcdslsl/fcdslsl-0.1-r1.ebuild
new file mode 100644
index 000000000000..645019311123
--- /dev/null
+++ b/net-dialup/fcdslsl/fcdslsl-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/fcdslsl/fcdslsl-0.1-r1.ebuild,v 1.1 2008/01/30 01:30:55 sbriesen Exp $
+
+inherit eutils rpm linux-mod
+
+DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL SL PCI"
+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="01234"
+ if use amd64; then
+ BIT="64bit-" PAT="1234"
+ 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 ../*.bin
+ dodoc CAPI*.txt
+ dohtml *.html
+}
diff --git a/net-dialup/fcdslsl/files/digest-fcdslsl-0.1-r1 b/net-dialup/fcdslsl/files/digest-fcdslsl-0.1-r1
new file mode 100644
index 000000000000..791905d5b09e
--- /dev/null
+++ b/net-dialup/fcdslsl/files/digest-fcdslsl-0.1-r1
@@ -0,0 +1,3 @@
+MD5 424c635d50a7f945c93238f7f1615a7a fcdslsl-0.1-0.src.rpm 2218332
+RMD160 b70881f51a0de4e11a5a791a8b5aafc7387fe783 fcdslsl-0.1-0.src.rpm 2218332
+SHA256 f9cb5f93bef90f8a4e72cacd7cf77ebd935322a5cf5127a9de808deed32c93d2 fcdslsl-0.1-0.src.rpm 2218332
diff --git a/net-dialup/fcdslsl/files/fcdslsl_kernel-2.6.24.diff b/net-dialup/fcdslsl/files/fcdslsl_kernel-2.6.24.diff
new file mode 100644
index 000000000000..e9b51ed36a2d
--- /dev/null
+++ b/net-dialup/fcdslsl/files/fcdslsl_kernel-2.6.24.diff
@@ -0,0 +1,47 @@
+--- src/driver.c.orig 2008-01-27 05:38:50.000000000 +0100
++++ src/driver.c 2008-01-27 05:38:50.000000000 +0100
+@@ -116,7 +116,10 @@
+ static DECLARE_WAIT_QUEUE_HEAD(capi_wait);
+ 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); }
+@@ -1405,7 +1409,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;
+ } /* sched_thread */
+
+@@ -1439,7 +1448,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-27 05:38:50.000000000 +0100
+@@ -44,7 +44,9 @@
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
+ typedef long intptr_t;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
+ typedef unsigned long uintptr_t;
++#endif
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
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
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
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
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/
diff --git a/net-dialup/fcdslusba/ChangeLog b/net-dialup/fcdslusba/ChangeLog
index c72887338a6e..7a9f63db874b 100644
--- a/net-dialup/fcdslusba/ChangeLog
+++ b/net-dialup/fcdslusba/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dialup/fcdslusba
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslusba/ChangeLog,v 1.1 2008/01/06 01:50:23 sbriesen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslusba/ChangeLog,v 1.2 2008/01/30 01:35:02 sbriesen Exp $
+
+*fcdslusba-0.1-r1 (30 Jan 2008)
+
+ 30 Jan 2008; Stefan Briesenick <sbriesen@gentoo.org>
+ +files/fcdslusba_kernel-2.6.24.diff, +fcdslusba-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>).
*fcdslusba-0.1 (06 Jan 2008)
diff --git a/net-dialup/fcdslusba/fcdslusba-0.1-r1.ebuild b/net-dialup/fcdslusba/fcdslusba-0.1-r1.ebuild
new file mode 100644
index 000000000000..36ea105eb2cd
--- /dev/null
+++ b/net-dialup/fcdslusba/fcdslusba-0.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/fcdslusba/fcdslusba-0.1-r1.ebuild,v 1.1 2008/01/30 01:35:02 sbriesen Exp $
+
+inherit eutils rpm linux-mod
+
+DESCRIPTION="AVM kernel 2.6 modules for Fritz!Card DSL USB ANALOG"
+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="~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() {
+ rpm_unpack "${DISTDIR}/${A}" || die "failed to unpack ${A} file"
+ DISTDIR="${WORKDIR}" unpack ${PN}-suse[0-9][0-9]-[0-9].[0-9]*-[0-9]*.tar.gz
+
+ cd "${S}"
+ epatch $(sed -n "s|^Patch[012345]:\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/fcdslusba/files/digest-fcdslusba-0.1-r1 b/net-dialup/fcdslusba/files/digest-fcdslusba-0.1-r1
new file mode 100644
index 000000000000..b53ebf1b83d6
--- /dev/null
+++ b/net-dialup/fcdslusba/files/digest-fcdslusba-0.1-r1
@@ -0,0 +1,3 @@
+MD5 dc1e7becb9f57691eb06e4066f75e9ba fcdslusba-0.1-0.src.rpm 1284862
+RMD160 6d55e8fcdc5c647d5acc112d9b4e777a98a706dc fcdslusba-0.1-0.src.rpm 1284862
+SHA256 b42b744d437beb122aa71eaa8ed2624ad2aaa5765837612cdc853899c308097a fcdslusba-0.1-0.src.rpm 1284862
diff --git a/net-dialup/fcdslusba/files/fcdslusba_kernel-2.6.24.diff b/net-dialup/fcdslusba/files/fcdslusba_kernel-2.6.24.diff
new file mode 100644
index 000000000000..e5bf525c8946
--- /dev/null
+++ b/net-dialup/fcdslusba/files/fcdslusba_kernel-2.6.24.diff
@@ -0,0 +1,66 @@
+--- src/driver.c.orig 2008-01-30 01:40:21.000000000 +0100
++++ src/driver.c 2008-01-30 01:43:00.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:40:21.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
+
+ /*---------------------------------------------------------------------------*\
+ \*---------------------------------------------------------------------------*/