aboutsummaryrefslogtreecommitdiff
path: root/system/drbd-kernel
diff options
context:
space:
mode:
authorZordrak <slackbuilds@tpa.me.uk>2010-03-22 23:39:51 -0500
committerRobby Workman <rworkman@slackbuilds.org>2010-05-13 14:28:21 +0200
commit765152504d5dbd61737ed958dae3381740497b89 (patch)
treee4bc328da6d567e0bd3a9c1c357193ad622e89ab /system/drbd-kernel
parent1b876d2c89636129d36cd9945f90100d1aa04bbd (diff)
system/drbd-kernel: Added (split from system/drbd).
Diffstat (limited to 'system/drbd-kernel')
-rw-r--r--system/drbd-kernel/README22
-rw-r--r--system/drbd-kernel/doinst.sh2
-rwxr-xr-xsystem/drbd-kernel/drbd-kernel.SlackBuild93
-rw-r--r--system/drbd-kernel/drbd-kernel.info10
-rw-r--r--system/drbd-kernel/slack-desc19
5 files changed, 146 insertions, 0 deletions
diff --git a/system/drbd-kernel/README b/system/drbd-kernel/README
new file mode 100644
index 000000000000..e700ac1f739c
--- /dev/null
+++ b/system/drbd-kernel/README
@@ -0,0 +1,22 @@
+drbd-kernel (Kernel Module for Distributed Replicated Block Device)
+
+DRBD is a block device which is designed to build high availability clusters.
+This is done by mirroring a whole block device via (a dedicated) network.
+You could see it as a network RAID1. DRBD takes over the data, writes it to
+the local disk and sends it to the other host. On the other host, it takes it
+to the disk there.
+
+Starting with Linux 2.6.33, DRBD is officially integrated into the vanilla
+Linux kernel source. Besides the kernel integration, DRBD continues to be
+developed out of tree.
+
+If you have a 2.6.33 kernel, you should use the DRBD module shipped with
+your kernel, or compile it from your kernel sources if it is not available
+in your current configuration.
+
+If you have an earlier kernel version then DRBD can be built as a module,
+or it can be patched into the kernel. This build creates a kernel module
+based on your current kernel using /lib/modules/$(uname -r)/build as the
+kernel source tree. This may not be appropriate for you and you may need to
+edit either KERNEL (uname -r) or KERNELPATH (/lib/modules/2.6.x-foo/build)
+environment variable to point to the correct source or headers.
diff --git a/system/drbd-kernel/doinst.sh b/system/drbd-kernel/doinst.sh
new file mode 100644
index 000000000000..f786c2237241
--- /dev/null
+++ b/system/drbd-kernel/doinst.sh
@@ -0,0 +1,2 @@
+chroot . /sbin/depmod -a @KERNEL@
+
diff --git a/system/drbd-kernel/drbd-kernel.SlackBuild b/system/drbd-kernel/drbd-kernel.SlackBuild
new file mode 100755
index 000000000000..ad41397476ab
--- /dev/null
+++ b/system/drbd-kernel/drbd-kernel.SlackBuild
@@ -0,0 +1,93 @@
+#!/bin/sh
+# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
+# Copyright 2009 Eric Hameleers <alien@slackware.com>, Eindhoven, Netherlands
+
+# Slackware build script for the drbd kernel module
+# Written by Zordrak <sbo@tpa.me.uk>
+# Based on http://slackbuilds.org/template.SlackBuild
+
+PRGNAM=drbd-kernel
+SRCNAM=drbd
+VERSION=${VERSION:-8.3.7}
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+KERNEL=${KERNEL:-$(uname -r)}
+KERNELPATH=${KERNELPATH:-/lib/modules/$KERNEL/build}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ SRCARCH=x86
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ SRCARCH=x86
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ SRCARCH=x86
+fi
+
+set -e # Exit on most errors
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+KDIR=$KERNELPATH \
+SRCARCH=$SRCARCH \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux \
+ --without-utils \
+ --with-km \
+ --without-udev \
+ --without-pacemaker \
+ --without-heartbeat \
+ --with-distro=slackware \
+ --without-xen \
+ --without-rgmanager \
+ --without-bashcompletion \
+ --build=$ARCH-slackware-linux
+
+make module KDIR=$KERNELPATH SRCARCH=$SRCARCH
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ COPYING ChangeLog README \
+ $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
+sed "s%@KERNEL@%$KERNEL%" $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/drbd-kernel/drbd-kernel.info b/system/drbd-kernel/drbd-kernel.info
new file mode 100644
index 000000000000..c4cb9f0a4ee6
--- /dev/null
+++ b/system/drbd-kernel/drbd-kernel.info
@@ -0,0 +1,10 @@
+PRGNAM="drbd-kernel"
+VERSION="8.3.7"
+HOMEPAGE="http://www.drbd.org"
+DOWNLOAD="http://oss.linbit.com/drbd/8.3/drbd-8.3.7.tar.gz"
+MD5SUM="3b37c028b18bf2c8f5414396f681cf17"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="Zordrak"
+EMAIL="slackbuilds@tpa.me.uk"
+APPROVED="rworkman"
diff --git a/system/drbd-kernel/slack-desc b/system/drbd-kernel/slack-desc
new file mode 100644
index 000000000000..5cac57f9bf93
--- /dev/null
+++ b/system/drbd-kernel/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------------------------------------------------------|
+drbd-kernel: drbd-kernel (Kernel Module for Distributed Replicated Block Device)
+drbd-kernel:
+drbd-kernel: DRBD is a block device which is designed to build high availability
+drbd-kernel: clusters. This is done by mirroring a whole block device via
+drbd-kernel: (a dedicated) network. You could see it as a network RAID1. DRBD
+drbd-kernel: takes over the data, writes it to the local disk and sends it to
+drbd-kernel: the other host. On the other host, it takes it to the disk there.
+drbd-kernel:
+drbd-kernel: This package provides the DRBD kernel module for pre-2.6.33 kernels.
+drbd-kernel:
+drbd-kernel: Home: http://www.drbd.org