From c40883520f917311c212dc4a22e86be30cef658f Mon Sep 17 00:00:00 2001 From: root Date: Thu, 23 Aug 2012 00:03:08 +0000 Subject: Thu Aug 23 00:03:08 UTC 2012 --- .../drbd/01-remove-old-sanity-check.diff | 24 ++++++++ community-testing/drbd/PKGBUILD | 67 ++++++++++++++++++++++ community-testing/drbd/drbd.rc | 58 +++++++++++++++++++ community-testing/drbd/drbd.service | 19 ++++++ 4 files changed, 168 insertions(+) create mode 100644 community-testing/drbd/01-remove-old-sanity-check.diff create mode 100644 community-testing/drbd/PKGBUILD create mode 100644 community-testing/drbd/drbd.rc create mode 100644 community-testing/drbd/drbd.service (limited to 'community-testing/drbd') diff --git a/community-testing/drbd/01-remove-old-sanity-check.diff b/community-testing/drbd/01-remove-old-sanity-check.diff new file mode 100644 index 000000000..04edb7571 --- /dev/null +++ b/community-testing/drbd/01-remove-old-sanity-check.diff @@ -0,0 +1,24 @@ +From: Lars Ellenberg +Date: Thu, 3 Nov 2011 09:40:43 +0000 (+0100) +Subject: build: remove old sanity check to allow build against linux 3.1 +X-Git-Url: http://git.drbd.org/gitweb.cgi?p=drbd-8.3.git;a=commitdiff_plain;h=790c26b09519b9e02b3a7cf7897fb17c2ae339bf + +build: remove old sanity check to allow build against linux 3.1 +--- + +diff --git a/drbd/Makefile b/drbd/Makefile +index 0985340..7a09603 100644 +--- a/drbd/Makefile ++++ b/drbd/Makefile +@@ -90,11 +90,6 @@ else + endif + endif + +- KDIR_Makefile_PATCHLEVEL = $(shell test -e $(KDIR)/Makefile && grep "^PATCHLEVEL = " $(KDIR)/Makefile | cut -d " " -f 3) +- ifneq ($(findstring $(KDIR_Makefile_PATCHLEVEL),12345),) +- $(error "won't compile with this kernel version") +- endif +- + .PHONY: drbd.o default all greeting clean kbuild install dep tags + + drbd.o: greeting kbuild diff --git a/community-testing/drbd/PKGBUILD b/community-testing/drbd/PKGBUILD new file mode 100644 index 000000000..5afc6db41 --- /dev/null +++ b/community-testing/drbd/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 75398 2012-08-21 20:52:40Z seblu $ +# Maintainer: Sébastien Luttringer + +pkgname=drbd +pkgver=8.3.13 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc='Userland tools for Distributed Replicated Block Device' +url='http://www.drbd.org' +license=('GPL2') +depends=('perl' 'bash') +source=("http://oss.linbit.com/drbd/8.3/$pkgname-$pkgver.tar.gz" + "$pkgname.rc" + "$pkgname.service") +backup=('etc/drbd.conf' 'etc/drbd.d/global_common.conf') +md5sums=('760a25459ef6b7262a2a3572c1561c5b' + '8902a2f7aca6245c27e9566a1509312c' + 'afbb345094db49b0a474c0b4e51c0acd') + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-distro=generic \ + --with-utils \ + --with-bashcompletion \ + --with-udev \ + --without-km \ + --without-rgmanager \ + --without-pacemaker \ + --without-heartbeat \ + --without-xen \ + --with-initdir=/etc/rc.d + #--with-legacy_utils \ + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + # move forced /sbin binaries + cd "$pkgdir" + mv sbin/* usr/sbin + rmdir sbin + # fix hardcoded path in udev rules + sed -i 's,/sbin/drbdadm,/usr/sbin/drbdadm,' etc/udev/rules.d/65-drbd.rules + # move udev files + mv etc/udev usr/lib + # move bash completion + install -dm 755 usr/share/bash-completion + mv etc/bash_completion.d usr/share/bash-completion/completions + # remove /var/lock + rmdir var/lock + # autoload module + install -Dm 644 /dev/null usr/lib/modules-load.d/$pkgname.conf + echo 'drbd' > usr/lib/modules-load.d/$pkgname.conf + # setup initscript (replace) + cd "$srcdir" + install -Dm 755 $pkgname.rc "$pkgdir/etc/rc.d/$pkgname" + # install systemd stuff + install -Dm 644 $pkgname.service \ + "$pkgdir/usr/lib/systemd/system/$pkgname.service" +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community-testing/drbd/drbd.rc b/community-testing/drbd/drbd.rc new file mode 100644 index 000000000..b8b196e4b --- /dev/null +++ b/community-testing/drbd/drbd.rc @@ -0,0 +1,58 @@ +#!/bin/bash +# Written by Sébastien Luttringer + +. /etc/rc.conf +. /etc/rc.d/functions + +DRBDADM='/usr/sbin/drbdadm' +PROC_DRBD='/proc/drbd' + +check_config() { + # check if module is loaded + if [[ ! -e $PROC_DRBD ]]; then + echo "Missing $PROC_DRBD. Try to load drbd module!" + stat_fail + exit 1 + fi + # check if config is correct + if ! $DRBDADM dump &>/dev/null; then + echo 'Invalid configuration' + stat_fail + exit 1 + fi +} + +case "$1" in + start) + stat_busy 'Starting DRBD resources' + # check module and config + check_config + # load config + $DRBDADM adjust all 2>/dev/null || { stat_fail; exit 1; } + # user interruptible version of wait-connect all + $DRBDADM wait-con-int 2>/dev/null || { stat_fail; exit 1; } + # become primary if configured + $DRBDADM sh-b-pri all 2>/dev/nul l|| { stat_fail; exit 1; } + add_daemon drbd + stat_done + ;; + stop) + stat_busy 'Stopping DRBD resources' + # check module and config + check_config + # disconnect and detach all resources + $DRBDADM down all 2>/dev/null || { stat_fail; exit 1; } + rm_daemon drbd + stat_done + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + +exit 0 + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/community-testing/drbd/drbd.service b/community-testing/drbd/drbd.service new file mode 100644 index 000000000..ddd6c62b7 --- /dev/null +++ b/community-testing/drbd/drbd.service @@ -0,0 +1,19 @@ +[Unit] +Description=Distributed Replicated Block Device +After=systemd-modules-load.service network.target + +[Service] +Type=oneshot +RemainAfterExit=yes + +# load config +ExecStart=/usr/sbin/drbdadm adjust all +# user interruptible version of wait-connect all +ExecStart=/usr/sbin/drbdadm wait-con-int +# become primary if configured +ExecStart=/usr/sbin/drbdadm sh-b-pri all +# disconnect and detach all resources +ExecStop=/usr/sbin/drbdadm down all + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3-54-g00ecf