summaryrefslogtreecommitdiffstats
path: root/abs/extra/nbd
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/nbd')
-rw-r--r--abs/extra/nbd/PKGBUILD42
-rw-r--r--abs/extra/nbd/config33
-rw-r--r--abs/extra/nbd/nbd39
-rw-r--r--abs/extra/nbd/nbd.install13
-rw-r--r--abs/extra/nbd/nbd.service10
5 files changed, 137 insertions, 0 deletions
diff --git a/abs/extra/nbd/PKGBUILD b/abs/extra/nbd/PKGBUILD
new file mode 100644
index 0000000..e02e890
--- /dev/null
+++ b/abs/extra/nbd/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 73924 2012-07-17 05:54:37Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Christian Hesse <mail@eworm.de>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Gerhard Brauer <gerbra@archlinux.de>
+
+pkgname=nbd
+pkgver=3.2
+pkgrel=2
+pkgdesc="tools for network block devices, allowing you to use remote block devices over TCP/IP"
+arch=('i686' 'x86_64')
+url="http://nbd.sourceforge.net"
+license=('GPL')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
+ config nbd nbd.service)
+backup=('etc/nbd-server/config')
+depends=('glib2')
+install=nbd.install
+md5sums=('9cafce4ecfb55e670d7ded4c8f4e6bc9'
+ '2d05d426b8c2708d5f8a0d028fcbae05'
+ 'e7b13a8b3369e11927d9917664557efa'
+ '5d1acc143018117174f79eff15afa038')
+
+build(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 "${srcdir}"/config "${pkgdir}"/etc/nbd-server/config
+ install -D -m755 "${srcdir}"/nbd "${pkgdir}"/etc/rc.d/nbd
+ install -D -m644 "${srcdir}"/nbd.service "${pkgdir}"/usr/lib/systemd/system/nbd.service
+
+ install -D -m644 README "${pkgdir}"/usr/share/doc/nbd/README
+}
diff --git a/abs/extra/nbd/config b/abs/extra/nbd/config
new file mode 100644
index 0000000..777f0ef
--- /dev/null
+++ b/abs/extra/nbd/config
@@ -0,0 +1,33 @@
+[generic]
+ # The [generic] section is required, even if nothing is specified
+ # there.
+ # When either of these options are specified, nbd-server drops
+ # privileges to the given user and group after opening ports, but
+ # _before_ opening files.
+ user = nbd
+ group = nbd
+ # Since version 2.9.17, nbd-server will do exports on a name
+ # basis (the used name is the name of the section in which the
+ # export is specified). This however required an incompatible
+ # protocol change. To enable backwards-compatible port-based
+ # exports, uncomment the following line:
+ # oldstyle = true
+[export1]
+ exportname = /export/nbd/export1-file
+ # The following line will be ignored unless the
+ # "oldstyle = true" line in the generic section above is
+ # enabled.
+ #port = 12345
+ authfile = /export/nbd/export1-authfile
+ timeout = 30
+ filesize = 10000000
+ readonly = false
+ multifile = false
+ copyonwrite = false
+ prerun = dd if=/dev/zero of=%s bs=1k count=500
+ postrun = rm -f %s
+[otherexport]
+ exportname = /export/nbd/experiment
+ # The other options are all optional, except this one in case
+ # the oldstyle option is used in [generic]:
+ # port = 12346
diff --git a/abs/extra/nbd/nbd b/abs/extra/nbd/nbd
new file mode 100644
index 0000000..76d16c7
--- /dev/null
+++ b/abs/extra/nbd/nbd
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PIDFILE="/var/run/nbd-server.pid"
+PID=`cat $PIDFILE 2>/dev/null`
+case "$1" in
+ start)
+ stat_busy "Starting Network Block Device Server"
+ if [ "$PID" = "" ]; then
+ /usr/bin/nbd-server
+ fi
+ if [ "$PID" != "" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon nbd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Network Block Device Server"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ rm -f $PIDFILE
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon nbd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/abs/extra/nbd/nbd.install b/abs/extra/nbd/nbd.install
new file mode 100644
index 0000000..9e7a01e
--- /dev/null
+++ b/abs/extra/nbd/nbd.install
@@ -0,0 +1,13 @@
+post_install() {
+ getent group "nbd" &>/dev/null || groupadd -r -g 44 nbd 1>/dev/null
+ getent passwd "nbd" &>/dev/null || useradd -r -u 44 -g nbd -d "/var/empty" -s "/bin/false" nbd 1>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ getent passwd "nbd" &>/dev/null && userdel nbd 1>/dev/null
+ getent group "nbd" &>/dev/null && groupdel nbd 1>/dev/null
+}
diff --git a/abs/extra/nbd/nbd.service b/abs/extra/nbd/nbd.service
new file mode 100644
index 0000000..3d58051
--- /dev/null
+++ b/abs/extra/nbd/nbd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Network Block Device Server
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/nbd-server
+
+[Install]
+WantedBy=multi-user.target