mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
Added aur/open-iscsi
This commit is contained in:
parent
866d75c49a
commit
2eaad28053
5 changed files with 238 additions and 0 deletions
48
aur/open-iscsi/PKGBUILD
Normal file
48
aur/open-iscsi/PKGBUILD
Normal file
|
@ -0,0 +1,48 @@
|
|||
# Contributor: Stefan Kirrmann <stefan.kirrmann at gmail dot com>
|
||||
# Modified: Marco Lima <cipparello@gmail.com>
|
||||
|
||||
# No Plugbox changes, straight from AUR
|
||||
|
||||
pkgname=open-iscsi
|
||||
pkgver=2.0.871.3
|
||||
_pkgver=2.0-871.3
|
||||
pkgrel=1
|
||||
pkgdesc="userland tools"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.open-iscsi.org"
|
||||
license=('GPL')
|
||||
depends=('bash')
|
||||
install="${pkgname}.install"
|
||||
backup=('etc/iscsi/iscsid.conf' 'etc/iscsi/initiatorname.iscsi' 'etc/conf.d/open-iscsi')
|
||||
source=("http://kernel.org/pub/linux/kernel/people/mnc/open-iscsi/releases/${pkgname}-${_pkgver}.tar.gz" \
|
||||
"open-iscsi" "open-iscsi.conf.d" "open-iscsi-build-error.patch")
|
||||
#source=("http://www.open-iscsi.org/bits/${pkgname}-${_pkgver}.tar.gz" \
|
||||
options=('docs')
|
||||
md5sums=('16474cb7cd5a41aea1b7b0b631ac996d'
|
||||
'b191af2549f7aff89321b54421eab96f'
|
||||
'd6e94c159ddfdeb1ebe69c0760ed1fa6'
|
||||
'cafea1118930cd7d9eb6209706020b6a')
|
||||
|
||||
build() {
|
||||
cd ${startdir}/src/${pkgname}-${_pkgver}
|
||||
|
||||
patch -Np1 -i ${srcdir}/open-iscsi-build-error.patch
|
||||
|
||||
# include iscsistart program in the package
|
||||
sed -i -e '/^PROGRAMS = /s/$/ usr\/iscsistart/' Makefile
|
||||
|
||||
make user
|
||||
make DESTDIR=${pkgdir} install_user
|
||||
|
||||
install -D -m755 ${startdir}/src/open-iscsi ${pkgdir}/etc/rc.d/open-iscsi
|
||||
install -D -m644 ${startdir}/src/open-iscsi.conf.d ${pkgdir}/etc/conf.d/open-iscsi
|
||||
|
||||
# change permission configuration file
|
||||
# chmod 600 ${startdir}/pkg/etc/iscsi/iscsid.conf
|
||||
install -D -m644 ${startdir}/src/${pkgname}-${_pkgver}/etc/iscsid.conf ${pkgdir}/etc/iscsi
|
||||
|
||||
# copy docs
|
||||
mkdir -p ${pkgdir}/usr/share/doc/${pkgname}
|
||||
install -m644 Changelog ${pkgdir}/usr/share/doc/${pkgname}/
|
||||
install -m644 README ${pkgdir}/usr/share/doc/${pkgname}/
|
||||
}
|
152
aur/open-iscsi/open-iscsi
Normal file
152
aur/open-iscsi/open-iscsi
Normal file
|
@ -0,0 +1,152 @@
|
|||
#!/bin/bash
|
||||
|
||||
. /etc/rc.conf
|
||||
. /etc/rc.d/functions
|
||||
|
||||
# general config
|
||||
[ -f /etc/conf.d/open-iscsi ] && . /etc/conf.d/open-iscsi
|
||||
|
||||
# Set defaults if settings are missing
|
||||
[ -z "${ISCSID_ARGS}" ] && ISCSID_ARGS=""
|
||||
[ -z "$SEC_BEFORE_MOUNT" ] && SEC_BEFORE_MOUNT=2
|
||||
[ -z "$ISCSIADM_EXTRAARGS" ] && ISCSIADM_EXTRAARGS=""
|
||||
DAEMON_NAME="open-iscsi"
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ "$SERVER" == "" ]; then
|
||||
echo "Please configure \$SERVER in /etc/conf.d/open-iscsi!"
|
||||
stat_fail
|
||||
exit 1
|
||||
fi
|
||||
|
||||
modprobe -q iscsi_tcp &>/dev/null
|
||||
modprobe -q ib_iser &>/dev/null
|
||||
stat_busy "Starting Open-iSCSI daemon"
|
||||
/sbin/iscsid ${ISCSID_ARGS}
|
||||
if [ $? -ne 0 ]; then
|
||||
stat_fail
|
||||
exit 2
|
||||
else
|
||||
add_daemon $DAEMON_NAME
|
||||
stat_done
|
||||
fi
|
||||
|
||||
stat_busy "Discovering targets"
|
||||
/sbin/iscsiadm -m discovery -t sendtargets -p $SERVER $ISCSIADM_EXTRAARGS > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
stat_fail
|
||||
exit 3
|
||||
else
|
||||
stat_done
|
||||
fi
|
||||
|
||||
stat_busy "Login to all portals"
|
||||
/sbin/iscsiadm -m node -L all > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
stat_fail
|
||||
exit 4
|
||||
else
|
||||
stat_done
|
||||
fi
|
||||
|
||||
if [[ "$MOUNT" != "" ]]; then
|
||||
# wait n seconds to settle
|
||||
sleep $SEC_BEFORE_MOUNT
|
||||
status "Mounting devices"
|
||||
for MTPT in ${MOUNT[@]}; do
|
||||
stat_busy "mounting $MTPT"
|
||||
mount $MTPT
|
||||
sleep 1
|
||||
if [ $? -eq 0 ]; then
|
||||
stat_done
|
||||
else
|
||||
stat_fail
|
||||
fi
|
||||
done
|
||||
else
|
||||
status "No devices to mount defined"
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
if [[ "$MOUNT" != "" ]]; then
|
||||
status "Unmounting devices"
|
||||
# unmounting in reverse order
|
||||
LEN=${#MOUNT[@]}
|
||||
while [ $LEN -ne 0 ]; do
|
||||
let LEN=$LEN-1;
|
||||
UMOUNT="$UMOUNT ${MOUNT[$LEN]}";
|
||||
done
|
||||
for MTPT in $UMOUNT; do
|
||||
MOUNTED=$(mount|grep -c `/bin/readlink -mns $MTPT`)
|
||||
if [ $MOUNTED -ne 0 ]; then
|
||||
stat_busy "unmounting $MTPT"
|
||||
umount $MTPT
|
||||
sleep 1
|
||||
if [ $? -eq 0 ]; then
|
||||
stat_done
|
||||
else
|
||||
stat_fail
|
||||
exit 5
|
||||
fi
|
||||
else
|
||||
status "$MTPT not mounted"
|
||||
fi
|
||||
done
|
||||
sleep 2
|
||||
else
|
||||
status "No devices to unmount defined"
|
||||
fi
|
||||
|
||||
stat_busy "Logout to all portals"
|
||||
/sbin/iscsiadm -m node -U all > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
stat_fail
|
||||
exit 6
|
||||
else
|
||||
stat_done
|
||||
fi
|
||||
|
||||
stat_busy "Stopping Open-iSCSI daemon"
|
||||
[ -f /var/run/iscsid.pid ] && kill -9 `cat /var/run/iscsid.pid` &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
stat_fail
|
||||
else
|
||||
rm -f /var/run/iscsid.pid
|
||||
killall iscsid > /dev/null
|
||||
rm_daemon $DAEMON_NAME
|
||||
stat_done
|
||||
fi
|
||||
;;
|
||||
status)
|
||||
status "Open-iSCSI status"
|
||||
ck_daemon $DAEMON_NAME
|
||||
status "Available portals on node"
|
||||
echo
|
||||
echo -ne " "
|
||||
/sbin/iscsiadm -m node
|
||||
echo
|
||||
status "Connected portals for this session"
|
||||
echo
|
||||
echo -ne " "
|
||||
/sbin/iscsiadm -m session
|
||||
echo
|
||||
;;
|
||||
statusv)
|
||||
status "Open-iSCSI status"
|
||||
ck_daemon $DAEMON_NAME
|
||||
status "Detailed session info"
|
||||
echo
|
||||
/sbin/iscsiadm -m session -P 2
|
||||
echo
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 2
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 {start|stop|status|statusv|restart}"
|
||||
;;
|
||||
esac
|
||||
exit 0
|
11
aur/open-iscsi/open-iscsi-build-error.patch
Normal file
11
aur/open-iscsi/open-iscsi-build-error.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/usr/iscsi_sysfs.c
|
||||
+++ b/usr/iscsi_sysfs.c
|
||||
@@ -22,6 +22,8 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <dirent.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
|
||||
#include "log.h"
|
||||
#include "initiator.h"
|
15
aur/open-iscsi/open-iscsi.conf.d
Normal file
15
aur/open-iscsi/open-iscsi.conf.d
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Parameters to be passed to the iscsid daemon.
|
||||
ISCSID_ARGS=""
|
||||
|
||||
# iSCSI server IP which will be discovered by iscsiadm
|
||||
SERVER=""
|
||||
|
||||
# mountpoints from fstab to mount (first entry will be mounted first, and so on)
|
||||
# example: MOUNT=(/dev/sdb1 /dev/sdb2)
|
||||
MOUNT=()
|
||||
|
||||
# wait n seconds before mounting connected nodes
|
||||
SEC_BEFORE_MOUNT=2
|
||||
|
||||
# Extra arguments to pass to iscsiadm
|
||||
ISCSIADM_EXTRAARGS=""
|
12
aur/open-iscsi/open-iscsi.install
Normal file
12
aur/open-iscsi/open-iscsi.install
Normal file
|
@ -0,0 +1,12 @@
|
|||
## arg 1: the new package version
|
||||
post_install() {
|
||||
echo
|
||||
echo "The open-iscsi package contains the userland tools of the"
|
||||
echo "Open-iSCSI project. It depends on iSCSI modules which are already"
|
||||
echo "present in current (>= 2.6.16) kernels and must be present on"
|
||||
echo "your system or statically compiled inside your kernel image."
|
||||
echo
|
||||
echo ">>> Setting Initiatorname ..."
|
||||
echo "InitiatorName=$(iscsi-iname)" > /etc/iscsi/initiatorname.iscsi
|
||||
echo
|
||||
}
|
Loading…
Reference in a new issue