From 0d899f2d3b4f7dfcca9bb6585f4ab1788b22bf34 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Wed, 30 Jun 2010 23:45:20 -0500 Subject: system/vhba-module: Added (Virtual SCSI Host Bus adapter) Re-added from 13.0 repository with a patch to bring everything up to what's in the upstream svn repository (so it will build on 2.6.33 and 2.6.34 kernels). If the previous maintainer is no longer interested, we can look at removing it for 13.2/14.0, but for now, let's eliminate the missing dependency on it in our repo. Signed-off-by: Robby Workman --- system/vhba-module/README | 4 ++ system/vhba-module/doinst.sh | 2 + system/vhba-module/slack-desc | 19 +++++++ system/vhba-module/vhba-module.SlackBuild | 73 +++++++++++++++++++++++++ system/vhba-module/vhba-module.info | 10 ++++ system/vhba-module/vhba-update_to_svn.diff | 85 ++++++++++++++++++++++++++++++ 6 files changed, 193 insertions(+) create mode 100644 system/vhba-module/README create mode 100644 system/vhba-module/doinst.sh create mode 100644 system/vhba-module/slack-desc create mode 100644 system/vhba-module/vhba-module.SlackBuild create mode 100644 system/vhba-module/vhba-module.info create mode 100644 system/vhba-module/vhba-update_to_svn.diff (limited to 'system') diff --git a/system/vhba-module/README b/system/vhba-module/README new file mode 100644 index 0000000000000..1c7ddd2b4d504 --- /dev/null +++ b/system/vhba-module/README @@ -0,0 +1,4 @@ +This is VHBA (Virtual SCSI Host Bus adapter), a Linux kernel module which +acts as a low-level SCSI driver and which provides the SCSI layer with a +virtual SCSI adapter which can have multiple virtual devices. It is part +of the userspace-cdemu suite, a free GPL CD/DVD-ROM device emulator for linux. diff --git a/system/vhba-module/doinst.sh b/system/vhba-module/doinst.sh new file mode 100644 index 0000000000000..f61efdf685234 --- /dev/null +++ b/system/vhba-module/doinst.sh @@ -0,0 +1,2 @@ +chroot . /sbin/depmod -a + diff --git a/system/vhba-module/slack-desc b/system/vhba-module/slack-desc new file mode 100644 index 0000000000000..ab38030776d90 --- /dev/null +++ b/system/vhba-module/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------| +vhba-module: vhba-module (virtual scsi host bus adapter module) +vhba-module: +vhba-module: This is VHBA (Virtual SCSI Host Bus adapter), a Linux kernel +vhba-module: module which acts as a low-level SCSI driver and which provides +vhba-module: the SCSI layer with a virtual SCSI adapter which can have +vhba-module: multiple virtual devices. It is part of the userspace-cdemu +vhba-module: suite, a free, GPL CD/DVD-ROM device emulator for linux. +vhba-module: +vhba-module: Homepage: http://cdemu.sourceforge.net/pkg_vhba.php +vhba-module: +vhba-module: diff --git a/system/vhba-module/vhba-module.SlackBuild b/system/vhba-module/vhba-module.SlackBuild new file mode 100644 index 0000000000000..7d8e33450d21f --- /dev/null +++ b/system/vhba-module/vhba-module.SlackBuild @@ -0,0 +1,73 @@ +#!/bin/sh + +# Slackware build script for vhba-module + +# Copyright 2008-2009 Heinz Wiesinger +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=vhba-module +SRC_VERSION=1.2.1 +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +KERNEL=${KERNEL:-$(uname -r)} +VERSION=${SRC_VERSION}_$(echo $KERNEL | tr - _) + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=${PKG:-$TMP/package-$PRGNAM} +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRC_VERSION +tar xvf $CWD/$PRGNAM-$SRC_VERSION.tar.bz2 +cd $PRGNAM-$SRC_VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +# Bring vhba.c up to date with the svn repo copy +patch -p1 < $CWD/vhba-update_to_svn.diff + +make KERNELRELEASE=$KERNEL + +mkdir -p $PKG/lib/modules/$KERNEL/extra +install -m 0644 vhba.ko $PKG/lib/modules/$KERNEL/extra/ + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/vhba-module/vhba-module.info b/system/vhba-module/vhba-module.info new file mode 100644 index 0000000000000..c62c6b339121b --- /dev/null +++ b/system/vhba-module/vhba-module.info @@ -0,0 +1,10 @@ +PRGNAM="vhba-module" +VERSION="1.2.1" +HOMEPAGE="http://cdemu.sourceforge.net/pkg_vhba.php" +DOWNLOAD="http://downloads.sourceforge.net/cdemu/vhba-module-1.2.1.tar.bz2" +MD5SUM="a3b6ad798f2b72ef599df797ef79e5ec" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Niklas 'Nille' Åkerström" +EMAIL="nille.kungen[AT]gmail.com" +APPROVED="rworkman" diff --git a/system/vhba-module/vhba-update_to_svn.diff b/system/vhba-module/vhba-update_to_svn.diff new file mode 100644 index 0000000000000..41591380eae92 --- /dev/null +++ b/system/vhba-module/vhba-update_to_svn.diff @@ -0,0 +1,85 @@ +diff -Nur vhba-module-1.2.1.orig//kat/have_scsi_macros.c vhba-module-1.2.1/kat/have_scsi_macros.c +--- vhba-module-1.2.1.orig//kat/have_scsi_macros.c 2009-01-17 17:21:16.000000000 -0600 ++++ vhba-module-1.2.1/kat/have_scsi_macros.c 2010-06-30 23:41:37.203194236 -0500 +@@ -1,4 +1,3 @@ +-#include + #include + + void testfunc (void); +diff -Nur vhba-module-1.2.1.orig//kat/scatterlist_has_page_link.c vhba-module-1.2.1/kat/scatterlist_has_page_link.c +--- vhba-module-1.2.1.orig//kat/scatterlist_has_page_link.c 2009-01-17 17:21:16.000000000 -0600 ++++ vhba-module-1.2.1/kat/scatterlist_has_page_link.c 2010-06-30 23:40:49.982069552 -0500 +@@ -1,4 +1,3 @@ +-#include + #include + + /* Note: scatterlist.page_link is used in kernel (2.6.24 <= version < X) */ +diff -Nur vhba-module-1.2.1.orig//vhba.c vhba-module-1.2.1/vhba.c +--- vhba-module-1.2.1.orig//vhba.c 2009-01-17 17:21:16.000000000 -0600 ++++ vhba-module-1.2.1/vhba.c 2010-06-30 23:40:14.430097774 -0500 +@@ -1,7 +1,7 @@ + /* + * vhba.c + * +- * Copyright (C) 2007 Chia-I Wu ++ * Copyright (C) 2007-2010 Chia-I Wu + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -26,6 +26,10 @@ + #include + #include + #include ++#include ++#ifdef CONFIG_COMPAT ++#include ++#endif + #include + #include + #include +@@ -52,7 +56,7 @@ + dev_warn(&(scmd)->device->sdev_gendev, fmt, ##a) + + +-#define VHBA_MAX_SECTORS_PER_IO 128 ++#define VHBA_MAX_SECTORS_PER_IO 256 + #define VHBA_MAX_ID 32 + #define VHBA_CAN_QUEUE 32 + #define VHBA_INVALID_ID VHBA_MAX_ID +@@ -671,7 +675,7 @@ + return ret; + } + +-static int vhba_ctl_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) ++static long vhba_ctl_ioctl (struct file *file, unsigned int cmd, unsigned long arg) + { + struct vhba_device *vdev = file->private_data; + struct vhba_host *vhost; +@@ -704,6 +708,15 @@ + return -ENOTTY; + } + ++#ifdef CONFIG_COMPAT ++static long vhba_ctl_compat_ioctl (struct file *file, unsigned int cmd, unsigned long arg) ++{ ++ unsigned long compat_arg = (unsigned long)compat_ptr(arg); ++ ++ return vhba_ctl_ioctl(file, cmd, compat_arg); ++} ++#endif ++ + static unsigned int vhba_ctl_poll(struct file *file, poll_table *wait) + { + struct vhba_device *vdev = file->private_data; +@@ -781,7 +794,10 @@ + .read = vhba_ctl_read, + .write = vhba_ctl_write, + .poll = vhba_ctl_poll, +- .ioctl = vhba_ctl_ioctl, ++ .unlocked_ioctl = vhba_ctl_ioctl, ++#ifdef CONFIG_COMPAT ++ .compat_ioctl = vhba_ctl_compat_ioctl, ++#endif + }; + + static struct miscdevice vhba_miscdev = { -- cgit v1.2.3