diff options
author | Alin Năstac <mrness@gentoo.org> | 2005-07-21 18:09:02 +0000 |
---|---|---|
committer | Alin Năstac <mrness@gentoo.org> | 2005-07-21 18:09:02 +0000 |
commit | ec04dfa8a7e11f913e0dc3e60b0d0c81bc865078 (patch) | |
tree | d68d22f334a5b9c2929be130c4643eccc7da28b0 /net-dialup/hsfmodem | |
parent | Stable on ppc. (diff) | |
download | gentoo-2-ec04dfa8a7e11f913e0dc3e60b0d0c81bc865078.tar.gz gentoo-2-ec04dfa8a7e11f913e0dc3e60b0d0c81bc865078.tar.bz2 gentoo-2-ec04dfa8a7e11f913e0dc3e60b0d0c81bc865078.zip |
add upstream patches for fixing problems with kernels 2.6.12 (#99607)
(Portage version: 2.0.51.22-r1)
Diffstat (limited to 'net-dialup/hsfmodem')
-rw-r--r-- | net-dialup/hsfmodem/ChangeLog | 9 | ||||
-rw-r--r-- | net-dialup/hsfmodem/Manifest | 15 | ||||
-rw-r--r-- | net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.05-r1 | 3 | ||||
-rw-r--r-- | net-dialup/hsfmodem/files/hsf-7.18.00.05-errno.patch | 148 | ||||
-rw-r--r-- | net-dialup/hsfmodem/files/hsf-7.18.00.05-kernconfig.patch | 36 | ||||
-rw-r--r-- | net-dialup/hsfmodem/files/hsf-7.18.00.05-simple_class.patch | 152 | ||||
-rw-r--r-- | net-dialup/hsfmodem/hsfmodem-7.18.00.05-r1.ebuild | 68 |
7 files changed, 420 insertions, 11 deletions
diff --git a/net-dialup/hsfmodem/ChangeLog b/net-dialup/hsfmodem/ChangeLog index 75c419e4ddb7..a7aacb563b31 100644 --- a/net-dialup/hsfmodem/ChangeLog +++ b/net-dialup/hsfmodem/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-dialup/hsfmodem # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/ChangeLog,v 1.13 2005/06/24 05:06:25 mrness Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/ChangeLog,v 1.14 2005/07/21 18:09:02 mrness Exp $ + +*hsfmodem-7.18.00.05-r1 (21 Jul 2005) + + 21 Jul 2005; Alin Nastac <mrness@gentoo.org> + +files/hsf-7.18.00.05-errno.patch, +files/hsf-7.18.00.05-kernconfig.patch, + +files/hsf-7.18.00.05-simple_class.patch, +hsfmodem-7.18.00.05-r1.ebuild: + Fix problems with kernel 2.6.12 by adding upstream patches (#99607). *hsfmodem-7.18.00.05 (24 Jun 2005) diff --git a/net-dialup/hsfmodem/Manifest b/net-dialup/hsfmodem/Manifest index 391872145b82..329f8101d70f 100644 --- a/net-dialup/hsfmodem/Manifest +++ b/net-dialup/hsfmodem/Manifest @@ -1,17 +1,12 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 6667c3b22c529af6c6cea3c606ce6127 hsfmodem-7.18.00.03-r2.ebuild 1351 MD5 3526d44dd8e3bc8eabd61447ac93bc6d hsfmodem-7.18.00.05.ebuild 1497 MD5 7a35538e86c7834e9d75552d0e8ecba9 ChangeLog 4007 +MD5 fcfb1ba931bfd4945cd857f9e6179ba5 hsfmodem-7.18.00.05-r1.ebuild 1684 MD5 ec2f84816306825d125d0c01bd86758d metadata.xml 163 MD5 430361a98f210c5a4b0eadcc4d45266c files/hsfmodem-7.18.00.03-nvminstall.patch 521 MD5 4523eaa6fcb480127dcf1881e1d2bbad files/digest-hsfmodem-7.18.00.03-r2 158 +MD5 68e22b294c2c7b7c8dec938af2bc588f files/digest-hsfmodem-7.18.00.05-r1 230 MD5 68e22b294c2c7b7c8dec938af2bc588f files/digest-hsfmodem-7.18.00.05 230 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.1 (GNU/Linux) - -iD8DBQFCu5mXjiC39V7gKu0RAmxZAKCOyQ6+V67cgUQdzIZ6DamC8liXxACfRHnv -VtQoY3xStERUsFQIs9HOonA= -=x2dO ------END PGP SIGNATURE----- +MD5 5a383798aeada1598dbc3361e8dea454 files/hsf-7.18.00.05-errno.patch 4847 +MD5 956770b4af8c34b21660d33f5466b0f1 files/hsf-7.18.00.05-simple_class.patch 6349 +MD5 0fc2b3af69192d8b18e3e8a38c01e6e7 files/hsf-7.18.00.05-kernconfig.patch 1317 diff --git a/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.05-r1 b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.05-r1 new file mode 100644 index 000000000000..3e4d1dce7bcc --- /dev/null +++ b/net-dialup/hsfmodem/files/digest-hsfmodem-7.18.00.05-r1 @@ -0,0 +1,3 @@ +MD5 8415cd780c422c8971c75d1d661bf110 hsfmodem-7.18.00.05full.tar.gz 1123019 +MD5 ca30d1a13608134e614d2ee4640d7f3a hsfmodem-7.18.00.05x86_64full.tar.gz 1236282 +MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949 diff --git a/net-dialup/hsfmodem/files/hsf-7.18.00.05-errno.patch b/net-dialup/hsfmodem/files/hsf-7.18.00.05-errno.patch new file mode 100644 index 000000000000..be3c25bb732d --- /dev/null +++ b/net-dialup/hsfmodem/files/hsf-7.18.00.05-errno.patch @@ -0,0 +1,148 @@ +diff -urN hsfmodem-7.18.00.05x86_64full/modules/GPL/oscompat.h hsfmodem-7.18.00.05x86_64full-errno/modules/GPL/oscompat.h +--- hsfmodem-7.18.00.05x86_64full/modules/GPL/oscompat.h 2005-06-20 19:18:46.000000000 +0000 ++++ hsfmodem-7.18.00.05x86_64full-errno/modules/GPL/oscompat.h 2005-06-29 16:20:54.000000000 +0000 +@@ -72,7 +72,7 @@ + #include <linux/config.h> + #include <linux/types.h> + +-#if defined(STATIC_ERRNO) && !defined(__x86_64__) ++#if defined(STATIC_ERRNO) + #ifndef _LINUX_UNISTD_H_ + #define _LINUX_UNISTD_H_ + #endif +diff -urN hsfmodem-7.18.00.05x86_64full/modules/include/osstdio.h hsfmodem-7.18.00.05x86_64full-errno/modules/include/osstdio.h +--- hsfmodem-7.18.00.05x86_64full/modules/include/osstdio.h 2004-12-14 07:45:53.000000000 +0000 ++++ hsfmodem-7.18.00.05x86_64full-errno/modules/include/osstdio.h 2005-06-29 16:20:54.000000000 +0000 +@@ -40,9 +40,9 @@ + __shimcall__ + FILE * OsFOpen(const char *, const char *, int *); + __shimcall__ +-size_t OsFRead(void *, size_t, size_t, FILE *); ++size_t OsFRead(void *, size_t, size_t, FILE *, int *); + __shimcall__ +-size_t OsFWrite(const void *, size_t, size_t, FILE *); ++size_t OsFWrite(const void *, size_t, size_t, FILE *, int *); + __shimcall__ + int OsFClose(FILE *); + __shimcall__ +diff -urN hsfmodem-7.18.00.05x86_64full/modules/osnvm.c hsfmodem-7.18.00.05x86_64full-errno/modules/osnvm.c +--- hsfmodem-7.18.00.05x86_64full/modules/osnvm.c 2005-06-20 17:53:21.000000000 +0000 ++++ hsfmodem-7.18.00.05x86_64full-errno/modules/osnvm.c 2005-06-29 16:20:54.000000000 +0000 +@@ -7,8 +7,6 @@ + * + */ + +-#define STATIC_ERRNO +- + #include "oscompat.h" + #include "osservices.h" + #include "osmemory.h" +@@ -418,6 +416,7 @@ + char buf[MAX_OEM_STR_LEN + 4], *dp; + unsigned char *p; + UINT32 size; ++ int errno; + + p = pBuf; + dp = buf; +@@ -428,7 +427,7 @@ + dp += 3; + if(((size) % 16) == 0) { + *dp++ = '\n'; +- if (OsFWrite(buf, 1, dp - buf, file) != (dp - buf)) { ++ if (OsFWrite(buf, 1, dp - buf, file, &errno) != (dp - buf)) { + printk(KERN_ERR "%s: write error to %s errno=%d\n", __FUNCTION__, pathname, errno); + goto err; + } +@@ -445,7 +444,7 @@ + dp += 5; + if(((size) % 16) == 0) { + *dp++ = '\n'; +- if (OsFWrite(buf, 1, dp - buf, file) != (dp - buf)) { ++ if (OsFWrite(buf, 1, dp - buf, file, &errno) != (dp - buf)) { + printk(KERN_ERR "%s: write error to %s errno=%d\n", __FUNCTION__, pathname, errno); + goto err; + } +@@ -463,7 +462,7 @@ + dp += 9; + if(((size) % 16) == 0) { + *dp++ = '\n'; +- if (OsFWrite(buf, 1, dp - buf, file) != (dp - buf)) { ++ if (OsFWrite(buf, 1, dp - buf, file, &errno) != (dp - buf)) { + printk(KERN_ERR "%s: write error to %s errno=%d\n", __FUNCTION__, pathname, errno); + goto err; + } +@@ -491,7 +490,7 @@ + } + + if(dp - buf) { +- if (OsFWrite(buf, 1, dp - buf, file) != (dp - buf)) { ++ if (OsFWrite(buf, 1, dp - buf, file, &errno) != (dp - buf)) { + printk(KERN_ERR "%s: write error to %s errno=%d\n", __FUNCTION__, pathname, errno); + goto err; + } +@@ -601,6 +600,7 @@ + UINT32 l; + int n; + struct list_head *lh; ++ int errno; + + down(&nvmelem_writelist_sem); + for(lh = nvmelem_writelist.prev; lh != &nvmelem_writelist; lh = lh->prev) { +@@ -634,7 +634,7 @@ + printk(KERN_DEBUG"%s: opened %s\n", __FUNCTION__, pathname); + + while(l > 0) { +- n = OsFRead(buf, 1, sizeof(buf)-1, file); ++ n = OsFRead(buf, 1, sizeof(buf)-1, file, &errno); + if(n <= 0) + break; + +@@ -682,7 +682,7 @@ + /* value split accross buffer boundary, read next chunk */ + buf[0] = *p; + p = buf; +- n = OsFRead(buf+1, 1, sizeof(buf)-1-1, file); ++ n = OsFRead(buf+1, 1, sizeof(buf)-1-1, file, &errno); + if(n < 0) { + break; + } +diff -urN hsfmodem-7.18.00.05x86_64full/modules/osstdio.c hsfmodem-7.18.00.05x86_64full-errno/modules/osstdio.c +--- hsfmodem-7.18.00.05x86_64full/modules/osstdio.c 2004-12-14 07:44:26.000000000 +0000 ++++ hsfmodem-7.18.00.05x86_64full-errno/modules/osstdio.c 2005-06-29 16:22:33.000000000 +0000 +@@ -137,7 +137,7 @@ + + __shimcall__ + size_t +-OsFRead(void *ptr, size_t size, size_t nmemb, FILE *filp) ++OsFRead(void *ptr, size_t size, size_t nmemb, FILE *filp, int *errno_p) + { + int bytes; + +@@ -154,6 +154,8 @@ + set_fs(oldfs); + } + ++ if (errno_p && bytes < 0) *errno_p = -(bytes); ++ + if(bytes < 0) { + printk(KERN_ERR "%s(filp %p): error %d\n", __FUNCTION__, filp, bytes); + return 0; +@@ -163,7 +165,7 @@ + + __shimcall__ + size_t +-OsFWrite(const void *ptr, size_t size, size_t nmemb, FILE *filp) ++OsFWrite(const void *ptr, size_t size, size_t nmemb, FILE *filp, int *errno_p) + { + int bytes; + +@@ -180,6 +182,8 @@ + set_fs(oldfs); + } + ++ if (errno_p && bytes < 0) *errno_p = -(bytes); ++ + if(bytes < 0) { + printk(KERN_ERR "%s(filp %p): error %d\n", __FUNCTION__, filp, bytes); + return 0; diff --git a/net-dialup/hsfmodem/files/hsf-7.18.00.05-kernconfig.patch b/net-dialup/hsfmodem/files/hsf-7.18.00.05-kernconfig.patch new file mode 100644 index 000000000000..15230dc3b0e2 --- /dev/null +++ b/net-dialup/hsfmodem/files/hsf-7.18.00.05-kernconfig.patch @@ -0,0 +1,36 @@ +diff -urN hsfmodem-7.18.00.05full/scripts/cnxtconfig.in hsfmodem-7.18.00.05full-kernconfig/scripts/cnxtconfig.in +--- hsfmodem-7.18.00.05full/scripts/cnxtconfig.in 2005-06-20 16:04:02.000000000 -0400 ++++ hsfmodem-7.18.00.05full-kernconfig/scripts/cnxtconfig.in 2005-07-05 21:29:21.177824944 -0400 +@@ -649,7 +649,7 @@ + missing= + nb=0 + for opt in ${KERN_CONFIG_REQUIRED}; do +- if ! kernel_option_set "${opt}"; then ++ if kernel_option_exists "${opt}" && ! kernel_option_set "${opt}"; then + if [ ${nb} -eq 0 ]; then + missing="CONFIG_${opt}" + nb=1 +@@ -676,8 +676,8 @@ + echo 1>&2 + echo 1>&2 "ERROR: The kernel at '${KERNELSRC}' was compiled without the following" + echo 1>&2 "option${plurial} enabled: ${missing}" +- echo 1>&2 "${This} option${plurial} ${is} needed for DriverLoader. Please enable ${this} kernel" +- echo 1>&2 "option${plurial}, re-compile the kernel and try again." ++ echo 1>&2 "${This} option${plurial} ${is} needed for the @CNXTTARGET@ modem driver. Please enable" ++ echo 1>&2 "${this} kernel option${plurial}, re-compile the kernel and try again." + return 1 + fi + +@@ -720,6 +720,12 @@ + return 0 + } + ++kernel_option_exists() ++{ ++ grep -q "CONFIG_${1}[= ]" "${KERNELSRC}/.config" ++ return $? ++} ++ + kernel_option_set() + { + grep -q "^CONFIG_${1}=[yYmM]" "${KERNELSRC}/.config" diff --git a/net-dialup/hsfmodem/files/hsf-7.18.00.05-simple_class.patch b/net-dialup/hsfmodem/files/hsf-7.18.00.05-simple_class.patch new file mode 100644 index 000000000000..945de187ffd5 --- /dev/null +++ b/net-dialup/hsfmodem/files/hsf-7.18.00.05-simple_class.patch @@ -0,0 +1,152 @@ +diff -urN hsfmodem-7.18.00.05full/modules/GPL/oscompat.h hsfmodem-7.18.00.05full-simple_class/modules/GPL/oscompat.h +--- hsfmodem-7.18.00.05full/modules/GPL/oscompat.h 2005-06-20 15:18:46.000000000 -0400 ++++ hsfmodem-7.18.00.05full-simple_class/modules/GPL/oscompat.h 2005-07-06 18:01:34.000000000 -0400 +@@ -543,4 +543,16 @@ + #define PCI_SLOT_NAME(x) (x)->dev.bus_id + #endif + ++#ifdef FOUND_CLASS_SIMPLE ++#define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_simple_device_add(class, dev, device, fmt, rest) ++#define CLASS_DESTROY(class) class_simple_destroy(class) ++#define CLASS_DEVICE_DESTROY(class, dev) class_simple_device_remove(dev) ++#define CLASS_CREATE(owner, name) class_simple_create(owner, name) ++#else ++#define CLASS_DEVICE_CREATE(class, dev, device, fmt, rest) class_device_create(class, dev, device, fmt, rest) ++#define CLASS_DESTROY(class) class_destroy(class) ++#define CLASS_DEVICE_DESTROY(class, dev) class_device_destroy(class, dev) ++#define CLASS_CREATE(owner, name) class_create(owner, name) ++#endif ++ + #endif /* __OSCOMPAT_H */ +diff -urN hsfmodem-7.18.00.05full/modules/Makefile hsfmodem-7.18.00.05full-simple_class/modules/Makefile +--- hsfmodem-7.18.00.05full/modules/Makefile 2005-06-20 15:25:00.000000000 -0400 ++++ hsfmodem-7.18.00.05full-simple_class/modules/Makefile 2005-07-06 18:01:34.000000000 -0400 +@@ -57,6 +57,9 @@ + KO= ko + KBUILD_EXTMOD_SUPPORTED := $(shell egrep -q 'KBUILD_EXTMOD|KERNEL_SOURCE|KERNELSRC' ${CNXT_KERNELSRC}/Makefile 2>/dev/null && echo yes || echo no) + ++FOUND_CLASS_SIMPLE := $(shell grep -q 'class_simple_device_add' ${CNXT_KERNELSRC}/include/linux/device.h 2> /dev/null && echo -DFOUND_CLASS_SIMPLE) ++CFLAGS+= $(FOUND_CLASS_SIMPLE) ++ + else + KO= o + # Configure compiler (on some systems, kgcc must be used to compile kernel code) +diff -urN hsfmodem-7.18.00.05full/modules/osdcp.c hsfmodem-7.18.00.05full-simple_class/modules/osdcp.c +--- hsfmodem-7.18.00.05full/modules/osdcp.c 2004-12-14 02:43:59.000000000 -0500 ++++ hsfmodem-7.18.00.05full-simple_class/modules/osdcp.c 2005-07-06 18:01:34.000000000 -0400 +@@ -29,7 +29,11 @@ + static struct list_head dcp_instance_list = LIST_HEAD_INIT(dcp_instance_list); + static spinlock_t dcp_lock = SPIN_LOCK_UNLOCKED; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) ++#ifdef FOUND_CLASS_SIMPLE + static struct class_simple *dcp_class; ++#else ++static struct class *dcp_class; ++#endif + #endif + + typedef struct { +@@ -350,7 +354,7 @@ + } + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(dcp_class)) +- class_simple_device_remove(MKDEV(dcpmajor, pDcp->pDevNode->hwInstNum)); ++ CLASS_DEVICE_DESTROY(dcp_class, MKDEV(dcpmajor, pDcp->pDevNode->hwInstNum)); + #endif + #endif + +@@ -400,7 +404,7 @@ + #else + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(dcp_class)) { +- class_simple_device_add(dcp_class, MKDEV(dcpmajor, pDcp->pDevNode->hwInstNum), pDcp->pDevNode->hwDevLink, CNXTTARGET"dcp%d", pDcp->pDevNode->hwInstNum); ++ CLASS_DEVICE_CREATE(dcp_class, MKDEV(dcpmajor, pDcp->pDevNode->hwInstNum), pDcp->pDevNode->hwDevLink, CNXTTARGET"dcp%d", pDcp->pDevNode->hwInstNum); + } + #endif + +@@ -492,7 +496,7 @@ + { + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(dcp_class)) +- class_simple_destroy(dcp_class); ++ CLASS_DESTROY(dcp_class); + #endif + if(dcpmajor > 0) + unregister_chrdev(dcpmajor, CNXTTARGET"dcp"); +@@ -516,7 +520,7 @@ + } + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) +- dcp_class = class_simple_create(THIS_MODULE, CNXTTARGET"dcp"); ++ dcp_class = CLASS_CREATE(THIS_MODULE, CNXTTARGET"dcp"); + if (IS_ERR(dcp_class)) { + printk(KERN_ERR "%s: cannot create simple class (%ld)\n", __FUNCTION__, PTR_ERR(dcp_class)); + if(dcpmajor > 0) +diff -urN hsfmodem-7.18.00.05full/modules/osdiag.c hsfmodem-7.18.00.05full-simple_class/modules/osdiag.c +--- hsfmodem-7.18.00.05full/modules/osdiag.c 2004-12-14 02:44:02.000000000 -0500 ++++ hsfmodem-7.18.00.05full-simple_class/modules/osdiag.c 2005-07-06 18:01:34.000000000 -0400 +@@ -30,7 +30,11 @@ + static struct list_head diag_instance_list = LIST_HEAD_INIT(diag_instance_list); + static spinlock_t diag_lock = SPIN_LOCK_UNLOCKED; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) ++#ifdef FOUND_CLASS_SIMPLE + static struct class_simple *diag_class; ++#else ++static struct class *diag_class; ++#endif + #endif + + #define common_instance_header \ +@@ -659,7 +663,7 @@ + #else + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(diag_class)) { +- class_simple_device_add(diag_class, MKDEV(diagmajor, pDiag->hwInstNum), hwDevLink, CNXTTARGET"diag%d", pDiag->hwInstNum); ++ CLASS_DEVICE_CREATE(diag_class, MKDEV(diagmajor, pDiag->hwInstNum), hwDevLink, CNXTTARGET"diag%d", pDiag->hwInstNum); + } + #endif + +@@ -764,7 +768,7 @@ + } + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(diag_class)) +- class_simple_device_remove(MKDEV(diagmajor, pDiag->hwInstNum)); ++ CLASS_DEVICE_DESTROY(diag_class, MKDEV(diagmajor, pDiag->hwInstNum)); + #endif + #endif + +@@ -834,14 +838,14 @@ + devfs_remove(CNXTTARGET"diagdmp"); + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(diag_class)) +- class_simple_device_remove(MKDEV(diagmajor, CNXTDIAGDMPMINOR)); ++ CLASS_DEVICE_DESTROY(diag_class, MKDEV(diagmajor, CNXTDIAGDMPMINOR)); + #endif + #endif + #endif /* DMP || DMP_RETAIL */ + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(diag_class)) +- class_simple_destroy(diag_class); ++ CLASS_DESTROY(diag_class); + #endif + if(diagmajor > 0) + unregister_chrdev(diagmajor, CNXTTARGET"diag"); +@@ -865,7 +869,7 @@ + } + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) +- diag_class = class_simple_create(THIS_MODULE, CNXTTARGET"diag"); ++ diag_class = CLASS_CREATE(THIS_MODULE, CNXTTARGET"diag"); + if (IS_ERR(diag_class)) { + printk(KERN_ERR "%s: cannot create simple class (%ld)\n", __FUNCTION__, PTR_ERR(diag_class)); + if(diagmajor > 0) +@@ -884,7 +888,7 @@ + #else + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,2) + if (!IS_ERR(diag_class)) { +- class_simple_device_add(diag_class, MKDEV(diagmajor, CNXTDIAGDMPMINOR), NULL, CNXTTARGET"diagdmp"); ++ CLASS_DEVICE_CREATE(diag_class, MKDEV(diagmajor, CNXTDIAGDMPMINOR), NULL, CNXTTARGET"diagdmp"); + } + #endif + devfs_mk_cdev(MKDEV(diagmajor, CNXTDIAGDMPMINOR), S_IFCHR | S_IRUSR | S_IWUSR, CNXTTARGET"diagdmp"); diff --git a/net-dialup/hsfmodem/hsfmodem-7.18.00.05-r1.ebuild b/net-dialup/hsfmodem/hsfmodem-7.18.00.05-r1.ebuild new file mode 100644 index 000000000000..5f9d6ba1fdf4 --- /dev/null +++ b/net-dialup/hsfmodem/hsfmodem-7.18.00.05-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dialup/hsfmodem/hsfmodem-7.18.00.05-r1.ebuild,v 1.1 2005/07/21 18:09:02 mrness Exp $ + +inherit eutils + +#The document is the same as in hcfpcimodem, even if it has a different URL +MY_DOC="100498D_RM_HxF_Released.pdf" + +DESCRIPTION="Linuxant's modem driver for Conexant HSF chipset" +HOMEPAGE="http://www.linuxant.com/drivers/hsf/index.php" +SRC_URI="x86? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}full/${P}full.tar.gz ) + amd64? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}x86_64full/${P}x86_64full.tar.gz ) + doc? ( http://www.linuxant.com/drivers/hsf/full/archive/${P}full/${MY_DOC} )" + +LICENSE="Conexant" +KEYWORDS="-* ~x86 ~amd64" +IUSE="doc" +SLOT="0" + +DEPEND="virtual/libc + dev-lang/perl + app-arch/cpio" + +S="${WORKDIR}" + +pkg_setup() { + if useq x86; then + MY_ARCH_S=${S}/${P}full + elif useq amd64; then + MY_ARCH_S=${S}/${P}x86_64full + fi +} + +src_unpack() { + unpack ${A} + + cd ${MY_ARCH_S} + epatch ${FILESDIR}/hsf-${PV}-errno.patch + epatch ${FILESDIR}/hsf-${PV}-kernconfig.patch + epatch ${FILESDIR}/hsf-${PV}-simple_class.patch +} + +src_compile() { + cd ${MY_ARCH_S} + emake all || die "make failed" +} + +src_install () { + cd ${MY_ARCH_S} + make PREFIX=${D}/usr/ ROOT=${D} install || die "make install failed" + + use doc && dodoc "${DISTDIR}/${MY_DOC}" +} + +pkg_preinst() { + local NVMDIR="${ROOT}/etc/${PN}/nvm" + if [ -d "${NVMDIR}" ]; then + einfo "Cleaning ${NVMDIR}..." + rm -rf "${NVMDIR}" + eend + fi +} + +pkg_postinst() { + einfo "To complete the installation and configuration of your HSF modem," + einfo "please run hsfconfig." +} |