add upstream fix for kernel >= 2.6.3 (#106103); remove obsolete ver
authorAlin Năstac <mrness@gentoo.org>
Sat, 17 Sep 2005 09:11:11 +0000 (09:11 +0000)
committerAlin Năstac <mrness@gentoo.org>
Sat, 17 Sep 2005 09:11:11 +0000 (09:11 +0000)
Package-Manager: portage-2.0.51.22-r2

net-dialup/hcfpcimodem/ChangeLog
net-dialup/hcfpcimodem/Manifest
net-dialup/hcfpcimodem/files/digest-hcfpcimodem-1.05-r1 [deleted file]
net-dialup/hcfpcimodem/files/digest-hcfpcimodem-1.06-r1 [new file with mode: 0644]
net-dialup/hcfpcimodem/files/hcfpcimodem-1.05-nvminstall.patch [deleted file]
net-dialup/hcfpcimodem/files/hcfpcimodem-1.06-simple_class.patch [new file with mode: 0644]
net-dialup/hcfpcimodem/hcfpcimodem-1.06-r1.ebuild [moved from net-dialup/hcfpcimodem/hcfpcimodem-1.05-r1.ebuild with 76% similarity]

index dd56423218e1605a7cc4e0c23624f6936c644615..7b99eecaf3cf37eb93b1550f1e6da49b8df0b8d3 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for net-dialup/hcfpcimodem
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/hcfpcimodem/ChangeLog,v 1.18 2005/08/29 06:05:31 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/hcfpcimodem/ChangeLog,v 1.19 2005/09/17 09:11:11 mrness Exp $
+
+*hcfpcimodem-1.06-r1 (17 Sep 2005)
+
+  17 Sep 2005; Alin Nastac <mrness@gentoo.org>
+  -files/hcfpcimodem-1.05-nvminstall.patch,
+  +files/hcfpcimodem-1.06-simple_class.patch, -hcfpcimodem-1.05-r1.ebuild,
+  +hcfpcimodem-1.06-r1.ebuild:
+  Add upstream fix for kernel versions >= 2.6.13 (#106103).
+  Remove obsolete version.
 
   29 Aug 2005; Alin Nastac <mrness@gentoo.org> hcfpcimodem-1.06.ebuild:
   Stable on x86.
index 309d683de8df77534736c1858ddf59538a803aa1..b92eb7522f89dc4b0d8d2ed74d0302a233270aa8 100644 (file)
@@ -1,17 +1,17 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 41411bad4bc9368c5907f12cac99c3d8 hcfpcimodem-1.05-r1.ebuild 1630
 MD5 a5b16eeb3540517d08b73d0f52a6389e hcfpcimodem-1.06.ebuild 1778
-MD5 4e24365fd404de381df3bcbb2b3d9288 ChangeLog 3037
+MD5 ec2ba46ee258d3cf69ab093034baa705 hcfpcimodem-1.06-r1.ebuild 1905
+MD5 447fbc0590fb83b73a4f82da4e83fc58 ChangeLog 3358
 MD5 ec2f84816306825d125d0c01bd86758d metadata.xml 163
-MD5 d456c8abc9d9cb81d489465d053395ab files/hcfpcimodem-1.05-nvminstall.patch 497
-MD5 c5a95c807346bdb475dcf710e9ff1fd2 files/digest-hcfpcimodem-1.05-r1 72
+MD5 25fc41dea981da0f005db63a43768868 files/digest-hcfpcimodem-1.06-r1 144
 MD5 25fc41dea981da0f005db63a43768868 files/digest-hcfpcimodem-1.06 144
+MD5 790c0fbf3202d068fbb35b11296985c2 files/hcfpcimodem-1.06-simple_class.patch 5124
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.1 (GNU/Linux)
 
-iD8DBQFDEqZbNSP4Vda7IdsRApYFAJ9CaBH7W/G2edYvnpJ67xpCY2f39gCgkIdN
-O0wz3DW8rknPpB9UZEvaGVA=
-=Dp5N
+iD8DBQFDK93GNSP4Vda7IdsRAlxlAJ42CPrRXyTpeovMe4Ja942MKZJgsACgh46a
+us/tLCRwoDGxj1Rgd3hcZqE=
+=yrgz
 -----END PGP SIGNATURE-----
diff --git a/net-dialup/hcfpcimodem/files/digest-hcfpcimodem-1.05-r1 b/net-dialup/hcfpcimodem/files/digest-hcfpcimodem-1.05-r1
deleted file mode 100644 (file)
index b0a25e5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-MD5 6f3974885a1b2c2cabab7be36d9eb5c1 hcfpcimodem-1.05full.tar.gz 660713
diff --git a/net-dialup/hcfpcimodem/files/digest-hcfpcimodem-1.06-r1 b/net-dialup/hcfpcimodem/files/digest-hcfpcimodem-1.06-r1
new file mode 100644 (file)
index 0000000..c8934c1
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 e8e9be8e324937a30856d38566d812da hcfpcimodem-1.06full.tar.gz 663962
+MD5 e6d8fea8f5f641d7bb4dfb33c6f478e7 100498D_RM_HxF_Released.pdf 718949
diff --git a/net-dialup/hcfpcimodem/files/hcfpcimodem-1.05-nvminstall.patch b/net-dialup/hcfpcimodem/files/hcfpcimodem-1.05-nvminstall.patch
deleted file mode 100644 (file)
index ae0d4c8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nru hcfpcimodem-1.05full.orig/nvm/makefile hcfpcimodem-1.05full/nvm/makefile
---- hcfpcimodem-1.05full.orig/nvm/makefile     2004-12-14 09:51:07.000000000 +0200
-+++ hcfpcimodem-1.05full/nvm/makefile  2005-03-17 13:40:01.689242088 +0200
-@@ -68,7 +68,7 @@
-       touch $(NVMCVTDIR)/.linksame
- 
- install: all $(CNXTNVMDIR)
--      cd $(NVMCVTDIR) && (find $(patsubst %, $(CNXTTARGET)%, $(NVMDIRS)) | cpio -pdmu $(CNXTNVMDIR))
-+      cp -a $(NVMCVTDIR)/* $(CNXTNVMDIR)
- 
- $(NVMCVTDIR) $(CNXTNVMDIR):
-       $(MKDIR) -p $@
diff --git a/net-dialup/hcfpcimodem/files/hcfpcimodem-1.06-simple_class.patch b/net-dialup/hcfpcimodem/files/hcfpcimodem-1.06-simple_class.patch
new file mode 100644 (file)
index 0000000..0a5d518
--- /dev/null
@@ -0,0 +1,118 @@
+diff -urN hcfpcimodem-1.06full/modules/GPL/oscompat.h hcfpcimodem-1.06full-simple_class/modules/GPL/oscompat.h
+--- hcfpcimodem-1.06full/modules/GPL/oscompat.h        2005-06-20 15:18:46.000000000 -0400
++++ hcfpcimodem-1.06full-simple_class/modules/GPL/oscompat.h   2005-09-07 18:16:54.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 hcfpcimodem-1.06full/modules/Makefile hcfpcimodem-1.06full-simple_class/modules/Makefile
+--- hcfpcimodem-1.06full/modules/Makefile      2005-06-20 15:25:00.000000000 -0400
++++ hcfpcimodem-1.06full-simple_class/modules/Makefile 2005-09-07 18:16:54.000000000 -0400
+@@ -48,6 +48,16 @@
+ KMODS_DIR := /lib/modules/$(KERNELVER)
+ CNXT_MODS_DIR := $(KMODS_DIR)/extra
+ 
++# On SuSE 9.0 and up, CNXT_KERNELSRC points to an incomplete kernel source
++# directory and some include files are not available in this tree
++SUSE_OBJ_TREE := $(shell if grep -q '^KERNELSRC ' "${CNXT_KERNELSRC}/Makefile" && [ -d "${CNXT_KERNELSRC}" ]; then echo "yes"; else echo "no"; fi)
++
++ifeq ($(SUSE_OBJ_TREE),yes)
++REAL_KERNELSRC := $(shell grep '^KERNELSRC ' "${CNXT_KERNELSRC}/Makefile" | awk '{print $3}')
++else
++REAL_KERNELSRC := $(CNXT_KERNELSRC)
++endif
++
+ FOUND_PCI_DEV_SLOT_NAME := $(shell grep -q 'slot_name' ${CNXT_KERNELSRC}/include/linux/pci.h 2> /dev/null && echo -DFOUND_PCI_DEV_SLOT_NAME)
+ CFLAGS+= $(FOUND_PCI_DEV_SLOT_NAME)
+ 
+@@ -57,6 +67,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' ${REAL_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 hcfpcimodem-1.06full/modules/osdiag.c hcfpcimodem-1.06full-simple_class/modules/osdiag.c
+--- hcfpcimodem-1.06full/modules/osdiag.c      2004-12-14 02:50:07.000000000 -0500
++++ hcfpcimodem-1.06full-simple_class/modules/osdiag.c 2005-09-07 18:17:35.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");
similarity index 76%
rename from net-dialup/hcfpcimodem/hcfpcimodem-1.05-r1.ebuild
rename to net-dialup/hcfpcimodem/hcfpcimodem-1.06-r1.ebuild
index 1042972815d43ea8c716e2482d0349aac72bf2cd..80f77ba7a546d9ab57026302fd16e2fced077c19 100644 (file)
@@ -1,17 +1,21 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/hcfpcimodem/hcfpcimodem-1.05-r1.ebuild,v 1.2 2005/04/14 21:04:54 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/hcfpcimodem/hcfpcimodem-1.06-r1.ebuild,v 1.1 2005/09/17 09:11:11 mrness Exp $
 
-inherit eutils
+inherit eutils linux-info
+
+#The document is the same as in hsfmodem, even if it has a different URL
+MY_DOC="100498D_RM_HxF_Released.pdf"
 
 DESCRIPTION="Linuxant's modem driver for Connexant HCF chipset"
 HOMEPAGE="http://www.linuxant.com/drivers/hcf/index.php"
-SRC_URI="http://www.linuxant.com/drivers/hcf/full/archive/${P}full/${P}full.tar.gz"
+SRC_URI="http://www.linuxant.com/drivers/hcf/full/archive/${P}full/${P}full.tar.gz
+       doc? ( http://www.linuxant.com/drivers/hcf/full/archive/${P}full/${MY_DOC} )"
 
 LICENSE="Conexant"
 SLOT="0"
-KEYWORDS="-* x86"
-IUSE=""
+KEYWORDS="-* ~x86"
+IUSE="doc"
 
 DEPEND="virtual/libc
        dev-lang/perl
@@ -44,8 +48,9 @@ pkg_setup () {
 src_unpack() {
        unpack ${A}
 
-       cd ${S}
-       epatch ${FILESDIR}/${P}-nvminstall.patch
+       if kernel_is ge 2 6 13 ; then
+               epatch ${FILESDIR}/${P}-simple_class.patch
+       fi
 }
 
 src_compile() {
@@ -63,6 +68,8 @@ pkg_preinst() {
 
 src_install () {
        make PREFIX=${D}/usr/ ROOT=${D} install || die
+
+       use doc && dodoc "${DISTDIR}/${MY_DOC}"
 }
 
 pkg_postinst() {