summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-fs/vhba/ChangeLog13
-rw-r--r--sys-fs/vhba/Manifest36
-rw-r--r--sys-fs/vhba/files/1.2.1-kerneldir.patch12
-rw-r--r--sys-fs/vhba/files/1.2.1-parallel_build.patch17
-rw-r--r--sys-fs/vhba/files/vhba-1.0.0-makefile.patch36
-rw-r--r--sys-fs/vhba/files/vhba-1.0.0-scatterlist.patch19
-rw-r--r--sys-fs/vhba/files/vhba-1.0.0-scsicmnd.patch98
-rw-r--r--sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.33.patch14
-rw-r--r--sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.34.patch15
-rw-r--r--sys-fs/vhba/files/vhba-20101015-scsi-host-lock-push-down.patch56
-rw-r--r--sys-fs/vhba/vhba-1.2.1.ebuild58
-rw-r--r--sys-fs/vhba/vhba-20101015-r1.ebuild60
-rw-r--r--sys-fs/vhba/vhba-20120422.ebuild83
13 files changed, 105 insertions, 412 deletions
diff --git a/sys-fs/vhba/ChangeLog b/sys-fs/vhba/ChangeLog
index dae75149c9b9..7bbb3bac0484 100644
--- a/sys-fs/vhba/ChangeLog
+++ b/sys-fs/vhba/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for sys-fs/vhba
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/vhba/ChangeLog,v 1.33 2012/05/24 04:20:30 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/vhba/ChangeLog,v 1.34 2012/07/05 00:11:07 tetromino Exp $
+
+*vhba-20120422 (05 Jul 2012)
+
+ 05 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ -files/1.2.1-kerneldir.patch, -files/vhba-1.2.1-kernel-2.6.33.patch,
+ -files/1.2.1-parallel_build.patch, -files/vhba-1.0.0-makefile.patch,
+ -files/vhba-1.0.0-scatterlist.patch, -files/vhba-1.0.0-scsicmnd.patch,
+ -vhba-1.2.1.ebuild, -files/vhba-1.2.1-kernel-2.6.34.patch,
+ -vhba-20101015-r1.ebuild,
+ -files/vhba-20101015-scsi-host-lock-push-down.patch, +vhba-20120422.ebuild:
+ Version bump. Drop ancient versions incompatible with modern kernels.
24 May 2012; Mike Frysinger <vapier@gentoo.org> vhba-1.2.1.ebuild,
vhba-20101015-r1.ebuild, vhba-20110915.ebuild:
diff --git a/sys-fs/vhba/Manifest b/sys-fs/vhba/Manifest
index d22f99a676c7..d2f9127b597c 100644
--- a/sys-fs/vhba/Manifest
+++ b/sys-fs/vhba/Manifest
@@ -1,37 +1,21 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-AUX 1.2.1-kerneldir.patch 441 RMD160 cd1f07b3aeecbf366ec5f9fea82dac4522b43aab SHA1 eab633c92585725a51bc726d856143de8d1c56c2 SHA256 c71326954d480aa9440cb84dd3d93023d06cbd266bac52a54fcbeb8cae4b5bc5
-AUX 1.2.1-parallel_build.patch 407 RMD160 ea79001e78a46fa3e0e317cbd46b84e320d3744c SHA1 9574f541729acaa29c3f08c0a4abde373e10aa0a SHA256 bda2f1efd960e53dc4a01ca119991a5a8c16cb80f9c052309e42bc9f939b4491
-AUX vhba-1.0.0-makefile.patch 778 RMD160 4782607437fd3f55162d3086472933376b574d90 SHA1 61f7b098c654bb83b117c0760e4c8c9d365d8282 SHA256 ff8512f15f13de655c39168a9e000a5a3dfd6ae8b89789bc3ae6c8610ae6725a
-AUX vhba-1.0.0-scatterlist.patch 583 RMD160 7d1af6d447705df0644056258f67a0cb74a43381 SHA1 ba11da0b2c77b3ad47f8185fc134716c20568fb3 SHA256 eae66a805ee1e599f65ff5487ba2e8535a30d5d8a9cc8a8b95d166425e65fc95
-AUX vhba-1.0.0-scsicmnd.patch 2736 RMD160 503eb663d33fa082eceab87d2521b9d2dab469b9 SHA1 4ded720928b7483fe89da43712bf8952acb854e3 SHA256 da335b69398cf92dbd72db4c320939d6fa2530c60c0482eb2d629ce3724100ca
-AUX vhba-1.2.1-kernel-2.6.33.patch 549 RMD160 bf721cc0713a8b3dc3d53663e6dcfc29c8b8282e SHA1 f3db205d4b653229681c53d48162e9572ff1ca5e SHA256 370f0c77775d5646537aba809f5adfd0d11c7ddb8fdd4f6572dd541aad4b675e
-AUX vhba-1.2.1-kernel-2.6.34.patch 517 RMD160 43906e3240da7f85eb6f27fe0672ae7a8a2a3647 SHA1 c89de77d3c6dc86bf8b149968d5865c08d49235a SHA256 379e968a94e8b4736c01ccbe2635dec22371b0885a37cea1a685dc403c5c4989
-AUX vhba-20101015-scsi-host-lock-push-down.patch 1972 RMD160 0f4c1900b46d98c8a50f6600a49274cb942ee800 SHA1 a329c5b80ded0f9af2f3bbc24d7939c16e5efa56 SHA256 7d428d5d6f8be7088f98a1edacc8900ebfb2072d28e79cb613012b40552c1235
AUX vhba-20110915-3.4-kmap_atomic.patch 4360 RMD160 3a2f49b843aeea2f41fc8c04c4dc4b68826a23c5 SHA1 cdf6af67da8cbfec5f41a0c70c2673de2f4d9ee8 SHA256 4c6d87da270f19a1871b5f6456afc43b5e2c7f60f26f17ce6db27642a9c87f55
-DIST vhba-module-1.2.1.tar.bz2 6585 RMD160 ecdbbd40f34b68816b0eefe43a64a4c664b31580 SHA1 5226b3dd16d793cd58a712e8ca44f3b45194e248 SHA256 1ab729d029c49e5e6231cdec3b9f88f17c44a292fe77f2bfbab506b62999a3ae
-DIST vhba-module-20101015.tar.bz2 16309 RMD160 6994cbffd44037d42b8c74b3786c1bea06e664c6 SHA1 e0bc1a9e5b99bf13e5dea1474254c51484ec217c SHA256 3b115054803cdbc1497591dc7a3a57ebeb2bd39086fb8909016ed418d3667d1a
DIST vhba-module-20110915.tar.gz 17773 RMD160 4a9cd360e81b9b73ee1909a70b92b18b04bb1d94 SHA1 7da02bfce3557e77b7895dfff5e11b4ec4bb4564 SHA256 9597ab6b66c364962a4db48d11cb324f789106e9e69d264e894f829bedb34fbd
-EBUILD vhba-1.2.1.ebuild 1580 RMD160 76a2164861382e580eeec58c82e9f6a95d7752c3 SHA1 6bea819e86d815e7a5c11e435aea1a3ba0eb248a SHA256 4e2b8f5a199934f07cbca759dd645c5dc2cb8a208a5262d6923ded2982b5d245
-EBUILD vhba-20101015-r1.ebuild 1570 RMD160 21b03551fd5fceae23eabaa82440fefac809ef90 SHA1 d559264424c901f84cb583d905c2d396da9daee9 SHA256 986396e62c6edf0e0fcfe2ee58129ea217282deb3fc83ef064101921aeac513c
+DIST vhba-module-20120422.tar.bz2 15299 RMD160 ffe05c52a54d3ecebf8a98da53158a2afb14ad3a SHA1 3204831ed832473a78dcb7cd6a81d21fb1416046 SHA256 23d968aa841af25579238bb75d0f8a8e73c2562d7205d22a5af63ef681e53f81
EBUILD vhba-20110915.ebuild 2444 RMD160 28703aa3ccb7703be0649629c2d00e8e6ea4c78c SHA1 5232b5f583b565bf3e349bd9160c6aa6f36f07a2 SHA256 c5836e5486616f10cbf5751861bdf25c01753d992b3b10ccac557a318614937e
-MISC ChangeLog 6247 RMD160 1644a71d56406cec975faae782ce471cd9f4cdf2 SHA1 39dd5b2b8ba8db3c95989f070019a62c6a7736eb SHA256 7d0c6cd57662f23c094103a806f7e82f11bef4b8a309c1886d9c891705c11eef
+EBUILD vhba-20120422.ebuild 2320 RMD160 1d69fae40ba070055c0f388e890719359495d877 SHA1 5bfbabd2560e5adc1de9531fb81d56924d74475d SHA256 d7d5946210432eddd611bf650ff94143c49a030657b068222c5711dd50dc0cb2
+MISC ChangeLog 6794 RMD160 0014a5ef7dbefdd393d31c2a86add6b8d35db210 SHA1 fba682c77726ecd1d46079826dbd6846ec24e49b SHA256 239c62a3d94bfbaa7ba3fd1f6c0cb67df02a0c75065c168cf084bb221b818fd4
MISC metadata.xml 240 RMD160 0e579a0eee987b510062c61fb213844574fee876 SHA1 0dcf565094dc7c485f71651d488cc41dfbca1132 SHA256 4a0db93c159180b93d98dadc1cb36f054f18a7413357a0dd753c9264a43f7477
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQIcBAEBAgAGBQJPvbdiAAoJELEHsLL7fEFWUF4P/ijlGU/yVHft9HgFBM2r8Ms/
-44+mGOhitcc+kf6byvaLId7h/W9ryeTe4A++1xVnMQ5+4PSWMOjMP47Om/QGui4x
-Ll7XB7Vq/W/TP57sXh9adz30OsHb1ZHW5NFkiube7/Y+/5tPBg5MJ/bAcgEqxI8C
-a/ATBi2C+V7J3n8fK20BuB8i20TNUkhALeYfxZzxVCTa51fHQdLSmODOCwOq3iTd
-NljvKv5LjbKY8DnltMAq7UYFO6/LkVyMuQ6lZolg+flV7+mVoS3Czqvi1QwAjGHD
-JbG0WAhPkv4k9S1SaPmhq4sxW0PnOWfZ149ulLbPoe5h+WdJRtxbloOLYoh5Qzj4
-er+tNPFJ7FggBEw8vbRheKfEgd9B8hrlcdvMb4+ElBoD7tLuOqrkuOreM3LOpwq6
-Ov7HvR9r75++dl56YT1m720V5ns1etsIq0y8pMwfas9mvf9Qaxp1KH0U1g3txvJk
-f6u8j8UvnzD05JpTxc70aGIkBoItki1Qur3hM1xWff+fdmfe1Ypo7WKY5dk9/7vb
-I9k1AC4jVm65CZssi97dtnIr1c1RIGCL3rFG5hJm2hQ0OPtEPXGT4HWtRRQdvRDz
-TUGbdXYUBrr7yY9MzaYUQWfHPC1Ab7SbhxxCaOVEqe2bSg1VOJRdEcULgOGDIUQO
-73K/YaWlsi16+xYSGedi
-=vdcp
+iQEcBAEBAgAGBQJP9NuhAAoJEJ0WA1zPCt1hb3AH/2DRBUog48RWBrQWvI2PnYWx
+RsSoG7k0TPjo4GfKi1DvhSn/GUEtlgpnc2Z3FmbPyAEFQzI3FBib3PJ4nl2otmhb
+VUEmLFGKqWcIZDxsB66U03Moohgo/Wge7v80rN/HNquvr4GyY32DHx0sdR+sbqZw
+sKoCbzas74/wIaXNChNpwWZ5tkRkmy6/98KujPSP+G5JNjfVqmLdRLLzgvJvXClD
+XZOgBKru25OSu2vjEfex8A0g8li6wHAzo7ENb/P+VeZK5oK+5ToYVIWTQ7Qay3Pm
+CK4s3D9rX+A6/NuTvMRhwGbn2avf28xMzgHLL0Xk7dMrQGqNYuKJpbPQ58cSA/I=
+=u0gi
-----END PGP SIGNATURE-----
diff --git a/sys-fs/vhba/files/1.2.1-kerneldir.patch b/sys-fs/vhba/files/1.2.1-kerneldir.patch
deleted file mode 100644
index 7388d5414462..000000000000
--- a/sys-fs/vhba/files/1.2.1-kerneldir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur vhba-module-1.2.1.orig/Makefile vhba-module-1.2.1/Makefile
---- vhba-module-1.2.1.orig/Makefile 2009-09-19 13:10:07.790478925 +0200
-+++ vhba-module-1.2.1/Makefile 2009-09-19 13:16:03.484646317 +0200
-@@ -9,7 +9,7 @@
- ifndef KERNELRELEASE
- KERNELRELEASE := `uname -r`
- endif
--KDIR := /lib/modules/$(KERNELRELEASE)/build
-+KDIR ?= /lib/modules/$(KERNELRELEASE)/build
- KMAKE := $(MAKE) -C $(KDIR) M=$(PWD)
-
- all: kernel.api.h modules
diff --git a/sys-fs/vhba/files/1.2.1-parallel_build.patch b/sys-fs/vhba/files/1.2.1-parallel_build.patch
deleted file mode 100644
index 2de83a56375f..000000000000
--- a/sys-fs/vhba/files/1.2.1-parallel_build.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- vhba-module-1.2.1/Makefile.orig 2009-03-12 07:27:57.162795736 +0100
-+++ vhba-module-1.2.1/Makefile 2009-03-12 07:28:11.929429127 +0100
-@@ -12,12 +12,12 @@
- KDIR := /lib/modules/$(KERNELRELEASE)/build
- KMAKE := $(MAKE) -C $(KDIR) M=$(PWD)
-
--all: kernel.api.h modules
-+all: modules
-
- kernel.api.h: kat/*.c
- kat/kat ${KDIR} $@ $^
-
--modules:
-+modules: kernel.api.h
- $(KMAKE) modules
-
- module_install:
diff --git a/sys-fs/vhba/files/vhba-1.0.0-makefile.patch b/sys-fs/vhba/files/vhba-1.0.0-makefile.patch
deleted file mode 100644
index 289387005113..000000000000
--- a/sys-fs/vhba/files/vhba-1.0.0-makefile.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- vhba-module-1.0.0/Makefile 2007-12-20 02:56:57.000000000 +0100
-+++ vhba-module-new/Makefile 2008-01-10 21:59:56.000000000 +0100
-@@ -1,21 +1,20 @@
- VHBA_VERSION = 1.0.0
- PACKAGE = vhba-module-$(VHBA_VERSION)
-
--CFLAGS += -DVHBA_VERSION=\"$(VHBA_VERSION)\"
-+EXTRA_CFLAGS += -DVHBA_VERSION=\"$(VHBA_VERSION)\"
-
- obj-m += vhba.o
-
- PWD ?= `pwd`
- KDIR := /lib/modules/`uname -r`/build
--KMAKE := $(MAKE) -C $(KDIR) M=$(PWD)
-
- all: modules
-
- modules:
-- $(KMAKE) modules
-+ $(MAKE) -C $(KDIR) M=$(PWD) modules
-
- module_install:
-- $(KMAKE) modules_install
-+ $(MAKE) -C $(KDIR) M=$(PWD) modules_install
-
- install: module_install
-
-@@ -24,7 +23,7 @@
- cp Makefile $(distdir)
-
- clean:
-- $(KMAKE) clean
-+ $(MAKE) -C $(KDIR) M=$(PWD) clean
- rm -fr $(PACKAGE)
-
- dist: dist-gzip
diff --git a/sys-fs/vhba/files/vhba-1.0.0-scatterlist.patch b/sys-fs/vhba/files/vhba-1.0.0-scatterlist.patch
deleted file mode 100644
index 5473ac3dd50e..000000000000
--- a/sys-fs/vhba/files/vhba-1.0.0-scatterlist.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- vhba-module-1.0.0/vhba.c 2007-12-20 02:56:57.000000000 +0100
-+++ vhba-module-new/vhba.c 2008-01-06 08:49:18.000000000 +0100
-@@ -26,6 +26,7 @@
- #include <linux/platform_device.h>
- #include <linux/miscdevice.h>
- #include <linux/poll.h>
-+#include <linux/scatterlist.h>
- #include <asm/uaccess.h>
- #include <scsi/scsi.h>
- #include <scsi/scsi_host.h>
-@@ -520,7 +521,7 @@
- }
- uaddr += len;
-
-- kaddr = kmap_atomic(sg[i].page, KM_USER0);
-+ kaddr = kmap_atomic(sg_page(&sg[i]), KM_USER0);
- memcpy(kaddr + sg[i].offset, kbuf, len);
- kunmap_atomic(kaddr, KM_USER0);
-
diff --git a/sys-fs/vhba/files/vhba-1.0.0-scsicmnd.patch b/sys-fs/vhba/files/vhba-1.0.0-scsicmnd.patch
deleted file mode 100644
index bc8e64656dd6..000000000000
--- a/sys-fs/vhba/files/vhba-1.0.0-scsicmnd.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- vhba-module-org/vhba.c 2008-03-03 19:31:06.000000000 +0100
-+++ vhba-module-1.0.0/vhba.c 2008-03-03 20:04:30.000000000 +0100
-@@ -425,11 +425,11 @@
- ssize_t ret;
-
- scmd_dbg(cmd, "request %lu, cdb 0x%x, bufflen %d, use_sg %d\n",
-- cmd->serial_number, cmd->cmnd[0], cmd->request_bufflen, cmd->use_sg);
-+ cmd->serial_number, cmd->cmnd[0], cmd->sdb.length, cmd->sdb.table.nents);
-
- ret = sizeof(vreq);
- if (DATA_TO_DEVICE(cmd->sc_data_direction))
-- ret += cmd->request_bufflen;
-+ ret += cmd->sdb.length;
-
- if (ret > buf_len)
- {
-@@ -442,7 +442,7 @@
- vreq.lun = cmd->device->lun;
- memcpy(vreq.cdb, cmd->cmnd, MAX_COMMAND_SIZE);
- vreq.cdb_len = cmd->cmd_len;
-- vreq.data_len = cmd->request_bufflen;
-+ vreq.data_len = cmd->sdb.length;
-
- if (copy_to_user(buf, &vreq, sizeof(vreq)))
- return -EFAULT;
-@@ -452,7 +452,7 @@
- buf += sizeof(vreq);
-
- /* XXX use_sg? */
-- if (copy_to_user(buf, cmd->request_buffer, vreq.data_len))
-+ if (copy_to_user(buf, cmd->sdb.table.sgl, vreq.data_len))
- return -EFAULT;
- }
-
-@@ -464,7 +464,7 @@
- ssize_t ret = 0;
-
- scmd_dbg(cmd, "response %lu, status %x, data len %d, use_sg %d\n",
-- cmd->serial_number, res->status, res->data_len, cmd->use_sg);
-+ cmd->serial_number, res->status, res->data_len, cmd->sdb.table.nents);
-
- if (res->status)
- {
-@@ -481,23 +481,23 @@
-
- ret += res->data_len;
- }
-- else if (DATA_FROM_DEVICE(cmd->sc_data_direction) && cmd->request_bufflen)
-+ else if (DATA_FROM_DEVICE(cmd->sc_data_direction) && cmd->sdb.length)
- {
- size_t to_read;
-
-- if (res->data_len > cmd->request_bufflen)
-+ if (res->data_len > cmd->sdb.length)
- {
-- scmd_warn(cmd, "truncate data (%d < %d)\n", cmd->request_bufflen, res->data_len);
-- res->data_len = cmd->request_bufflen;
-+ scmd_warn(cmd, "truncate data (%d < %d)\n", cmd->sdb.length, res->data_len);
-+ res->data_len = cmd->sdb.length;
- }
-
- to_read = res->data_len;
-
-- if (cmd->use_sg)
-+ if (cmd->sdb.table.nents)
- {
- unsigned char buf_stack[64];
- unsigned char *kaddr, *uaddr, *kbuf;
-- struct scatterlist *sg = cmd->request_buffer;
-+ struct scatterlist *sg = cmd->sdb.table.sgl;
- int i;
-
- uaddr = (unsigned char *) buf;
-@@ -507,7 +507,7 @@
- else
- kbuf = buf_stack;
-
-- for (i = 0; i < cmd->use_sg; i++)
-+ for (i = 0; i < cmd->sdb.table.nents; i++)
- {
- size_t len = (sg[i].length < to_read) ? sg[i].length : to_read;
-
-@@ -534,13 +534,13 @@
- }
- else
- {
-- if (copy_from_user(cmd->request_buffer, buf, res->data_len))
-+ if (copy_from_user(cmd->sdb.table.sgl, buf, res->data_len))
- return -EFAULT;
-
- to_read -= res->data_len;
- }
-
-- cmd->resid = to_read;
-+ cmd->sdb.resid = to_read;
-
- ret += res->data_len - to_read;
- }
diff --git a/sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.33.patch b/sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.33.patch
deleted file mode 100644
index 68e12dcb6ee2..000000000000
--- a/sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.33.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- trunk/vhba-module/kat/have_scsi_macros.c 2010/03/01 19:11:48 673
-+++ trunk/vhba-module/kat/have_scsi_macros.c 2010/03/05 10:50:24 674
-@@ -1,4 +1,3 @@
--#include <linux/autoconf.h>
- #include <scsi/scsi_cmnd.h>
-
- void testfunc (void);
---- trunk/vhba-module/kat/scatterlist_has_page_link.c 2010/03/01 19:11:48 673
-+++ trunk/vhba-module/kat/scatterlist_has_page_link.c 2010/03/05 10:50:24 674
-@@ -1,4 +1,3 @@
--#include <linux/autoconf.h>
- #include <linux/scatterlist.h>
-
- /* Note: scatterlist.page_link is used in kernel (2.6.24 <= version < X) */
diff --git a/sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.34.patch b/sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.34.patch
deleted file mode 100644
index 1ec5112777c9..000000000000
--- a/sys-fs/vhba/files/vhba-1.2.1-kernel-2.6.34.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://cdemu.svn.sourceforge.net/viewvc/cdemu/trunk/vhba-module/vhba.c?r1=678&r2=677&pathrev=678
-https://sourceforge.net/tracker/?func=detail&atid=603423&aid=2992162&group_id=93175
-http://bugs.gentoo.org/show_bug.cgi?id=317119
-
---- vhba.c 2010-04-26 19:35:04 +0000
-+++ vhba.c 2010-04-26 19:35:20 +0000
-@@ -26,6 +26,7 @@
- #include <linux/platform_device.h>
- #include <linux/miscdevice.h>
- #include <linux/poll.h>
-+#include <linux/slab.h>
- #include <asm/uaccess.h>
- #include <scsi/scsi.h>
- #include <scsi/scsi_host.h>
-
diff --git a/sys-fs/vhba/files/vhba-20101015-scsi-host-lock-push-down.patch b/sys-fs/vhba/files/vhba-20101015-scsi-host-lock-push-down.patch
deleted file mode 100644
index e2b619c74ba8..000000000000
--- a/sys-fs/vhba/files/vhba-20101015-scsi-host-lock-push-down.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 9ad7ec7fae387f05249b9f4e6accb3bc3b0b8b0f Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gmail.com>
-Date: Thu, 6 Jan 2011 03:39:26 -0500
-Subject: [PATCH] Make vhba compatible with kernel 2.6.37 SCSI host API
-
-Due to the SCSI host lock push-down changes introduced in 2.6.37 (see
-http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f281233d3eba15fb225d21ae2e228fd4553d824a
-for more details), trying to use current vhba on 2.6.37 leads to oopses
-and kernel panics - e.g. see http://bugs.gentoo.org/show_bug.cgi?id=350753
-
-Add some #ifdefs to enable compatibility both with 2.6.37 and older API.
-Note that if future kernel versions remove the DEF_SCSI_QCMD macro, this
-issue will need to be revisited.
-
-Signed-off-by: Alexandre Rostovtsev <tetromino@gmail.com>
----
- vhba-module/vhba.c | 9 ++++++++-
- 1 files changed, 8 insertions(+), 1 deletions(-)
-
-diff --git a/vhba-module/vhba.c b/vhba-module/vhba.c
-index 059f6ce..9d13016 100644
---- a/vhba-module/vhba.c
-+++ b/vhba-module/vhba.c
-@@ -27,6 +27,7 @@
- #include <linux/miscdevice.h>
- #include <linux/poll.h>
- #include <linux/slab.h>
-+#include <linux/version.h>
- #ifdef CONFIG_COMPAT
- #include <linux/compat.h>
- #endif
-@@ -363,7 +364,7 @@ static void vhba_free_command(struct vhba_command *vcmd)
- spin_unlock_irqrestore(&vhost->cmd_lock, flags);
- }
-
--static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
-+static int vhba_queuecommand_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
- {
- struct vhba_device *vdev;
- int retval;
-@@ -388,6 +389,12 @@ static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmn
- return retval;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
-+DEF_SCSI_QCMD(vhba_queuecommand)
-+#else
-+#define vhba_queuecommand vhba_queuecommand_lck
-+#endif
-+
- static int vhba_abort(struct scsi_cmnd *cmd)
- {
- struct vhba_device *vdev;
---
-1.7.3.4
-
diff --git a/sys-fs/vhba/vhba-1.2.1.ebuild b/sys-fs/vhba/vhba-1.2.1.ebuild
deleted file mode 100644
index 41f00d42e901..000000000000
--- a/sys-fs/vhba/vhba-1.2.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/vhba/vhba-1.2.1.ebuild,v 1.10 2012/05/24 04:20:30 vapier Exp $
-
-EAPI="2"
-
-inherit linux-mod eutils user
-
-DESCRIPTION="Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite"
-HOMEPAGE="http://cdemu.org"
-SRC_URI="mirror://sourceforge/cdemu/vhba-module-${PV}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S="${WORKDIR}/vhba-module-${PV}"
-MODULE_NAMES="vhba(block:${S})"
-BUILD_TARGETS="all"
-
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
- check_extra_config
- BUILD_PARAMS="KDIR=${KV_DIR}"
- linux-mod_pkg_setup
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/${PV}-parallel_build.patch" \
- "${FILESDIR}/${PV}-kerneldir.patch" \
- "${FILESDIR}/${P}-kernel-2.6.33.patch" \
- "${FILESDIR}/${P}-kernel-2.6.34.patch"
-}
-
-src_install() {
- KV_OBJ="ko"
- linux-mod_src_install || die "Error: installing module failed!"
- UDEV_RULES="/etc/udev/rules.d/70-vhba.rules"
- einfo "Generating UDEV-rules ..."
- mkdir -p "${D}"/${UDEV_RULES%/*}
- echo -e "# do not edit this file, it will be overwritten on update\n#" \
- > "${D}"/${UDEV_RULES}
- echo -e "KERNEL==\"vhba_ctl\", NAME=\"%k\", MODE=\"0660\", OWNER=\"root\",GROUP=\"cdemu\"" >> "${D}"/${UDEV_RULES}
-}
-
-pkg_postinst() {
- einfo "Generating cdemu group ..."
- enewgroup cdemu
-
- elog "Don't forget to add your user to the cdemu group "
- elog "if you want to be able to use virtual cdemu devices."
- linux-mod_pkg_postinst
-}
diff --git a/sys-fs/vhba/vhba-20101015-r1.ebuild b/sys-fs/vhba/vhba-20101015-r1.ebuild
deleted file mode 100644
index 578e6d87380a..000000000000
--- a/sys-fs/vhba/vhba-20101015-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/vhba/vhba-20101015-r1.ebuild,v 1.6 2012/05/24 04:20:30 vapier Exp $
-
-# Use svn snapshots:
-# https://sourceforge.net/tracker/?func=detail&atid=603423&aid=3041832&group_id=93175
-# "As for the release, could you package the SVN version instead? I'd prefer
-# if people used latest SVN at any time anyway..." -- Upstream
-
-EAPI="2"
-
-inherit linux-mod eutils user
-
-MY_P=vhba-module-${PV}
-DESCRIPTION="Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite"
-HOMEPAGE="http://cdemu.org"
-SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND="virtual/linux-sources"
-RDEPEND=""
-
-S=${WORKDIR}/${MY_P}
-MODULE_NAMES="vhba(block:${S})"
-BUILD_TARGETS=all
-
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
- check_extra_config
- BUILD_PARAMS="KDIR=${KV_DIR}"
- linux-mod_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-scsi-host-lock-push-down.patch
-}
-
-src_install() {
- linux-mod_src_install || die "Error: installing module failed!"
-
- einfo "Generating udev rules ..."
- dodir /etc/udev/rules.d/
- cat > "${D}"/etc/udev/rules.d/70-vhba.rules <<-EOF || die
- # do not edit this file, it will be overwritten on update
- #
- KERNEL=="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu"
- EOF
-}
-
-pkg_postinst() {
- enewgroup cdemu
-
- elog "Don't forget to add your user to the cdemu group"
- elog "if you want to be able to use virtual cdemu devices."
- linux-mod_pkg_postinst
-}
diff --git a/sys-fs/vhba/vhba-20120422.ebuild b/sys-fs/vhba/vhba-20120422.ebuild
new file mode 100644
index 000000000000..b4e8143d2bd0
--- /dev/null
+++ b/sys-fs/vhba/vhba-20120422.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/vhba/vhba-20120422.ebuild,v 1.1 2012/07/05 00:11:07 tetromino Exp $
+
+EAPI="4"
+
+inherit linux-mod user
+
+MY_P=vhba-module-${PV}
+DESCRIPTION="Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite"
+HOMEPAGE="http://cdemu.org"
+SRC_URI="mirror://sourceforge/cdemu/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE=""
+
+RDEPEND=">=sys-fs/udev-125"
+DEPEND=""
+
+S=${WORKDIR}/${MY_P}
+MODULE_NAMES="vhba(block:${S})"
+BUILD_TARGETS=all
+
+pkg_setup() {
+ CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
+ check_extra_config
+ BUILD_PARAMS="KDIR=${KV_DIR}"
+ linux-mod_pkg_setup
+
+ enewgroup cdemu
+}
+
+src_prepare() {
+ # Avoid "make jobserver unavailable" warning
+ sed -e 's:\t$(KMAKE):\t+$(KMAKE):g' -i Makefile || die "sed failed"
+}
+
+src_install() {
+ dodoc AUTHORS ChangeLog README
+ linux-mod_src_install
+
+ einfo "Generating udev rules ..."
+ dodir /lib/udev/rules.d/
+ cat > "${D}"/lib/udev/rules.d/70-vhba.rules <<-EOF || die
+ # do not edit this file, it will be overwritten on update
+ #
+ KERNEL=="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu"
+ EOF
+}
+
+pkg_postinst() {
+ elog "Don't forget to add your user to the cdemu group if you want to"
+ elog "be able to use virtual cdemu devices."
+
+ # Older versions of vhba installed their rule file in /etc/udev/rules.d,
+ # which overrides rules in /lib/udev/rules.d. We remove the old file
+ # automatically if it is identical to the default one installed by
+ # vhba-1.2.1 or 20101015-r1. Note that the comment at the top of the rules
+ # file states that it can be automatically overwritten by the system.
+ old_rules="${ROOT}etc/udev/rules.d/70-vhba.rules"
+ if [[ -f "${old_rules}" ]]; then
+ case "$(md5sum ${old_rules})" in
+ 2959b3cf61cfe6e466cc3516a7bc19de* | 1e7a7e5d6d28c811eeec98ec26ed5d28* )
+ elog
+ elog "Removing old ${old_rules} ..."
+ rm -f "${old_rules}" ||
+ eerror "Failed, please remove ${old_rules} manually."
+ ;;
+ * )
+ ewarn
+ ewarn "The ${old_rules} file from a previous"
+ ewarn "installation of ${PN} is overriding ${P}'s"
+ ewarn "udev rules. Unless you had deliberately customized it,"
+ ewarn "you should remove it."
+ ewarn
+ ;;
+ esac
+ fi
+
+ linux-mod_pkg_postinst
+}