system/drbd: Added to 13.0 repository

This commit is contained in:
Zordrak 2010-05-13 01:00:46 +02:00 committed by Robby Workman
parent e9baf9a07c
commit ae29ef7f6e
5 changed files with 174 additions and 0 deletions

14
system/drbd/README Normal file
View file

@ -0,0 +1,14 @@
drbd (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.
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 toi edit either
the KERNEL (uname -r) or KERNELPATH (/lib/modules/2.6.x-foo/build)
environment variable to point to the correct source or headers.

25
system/drbd/doinst.sh Normal file
View file

@ -0,0 +1,25 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
# Keep same perms on rc.drbd.new:
if [ -e etc/rc.d/rc.drbd ]; then
cp -a etc/rc.d/rc.drbd etc/rc.d/rc.drbd.new.incoming
cat etc/rc.d/rc.drbd.new > etc/rc.d/rc.drbd.new.incoming
mv etc/rc.d/rc.drbd.new.incoming etc/rc.d/rc.drbd.new
fi
config etc/rc.d/rc.drbd.new
config etc/drbd.conf.new
chroot . /sbin/depmod -ae @KERNEL@

106
system/drbd/drbd.SlackBuild Normal file
View file

@ -0,0 +1,106 @@
#!/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 drbd
# Written by Zordrak <sbo@tpa.me.uk>
# Based on http://slackbuilds.org/template.SlackBuild
PRGNAM=drbd
VERSION=${VERSION:-8.3.6}
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 $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$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" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
--with-utils \
--with-km \
--with-udev \
--with-pacemaker \
--with-heartbeat \
--with-distro=slackware \
--without-xen \
--without-rgmanager \
--with-bashcompletion \
--build=$ARCH-slackware-linux
make KDIR=$KERNELPATH SRCARCH=$SRCARCH
make install DESTDIR=$PKG
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null
)
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
mv $PKG/etc/rc.d/drbd $PKG/etc/rc.d/rc.drbd.new
mv $PKG/etc/drbd.conf $PKG/etc/drbd.conf.new
mkdir -p $PKG/lib/udev/rules.d
mv $PKG/{etc,lib}/udev/rules.d/65-drbd.rules
rm -r $PKG/etc/udev
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}

10
system/drbd/drbd.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="drbd"
VERSION="8.3.6"
HOMEPAGE="http://www.drbd.org"
DOWNLOAD="http://oss.linbit.com/drbd/8.3/drbd-8.3.6.tar.gz"
MD5SUM="23cd289eb1026b178f729708d8a3a6ca"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Zordrak"
EMAIL="slackbuilds@tpa.me.uk"
APPROVED="rworkman"

19
system/drbd/slack-desc Normal file
View file

@ -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: drbd (Distributed Replicated Block Device)
drbd:
drbd: DRBD is a block device which is designed to build high availability
drbd: clusters. This is done by mirroring a whole block device via
drbd: (a dedicated) network. You could see it as a network RAID1. DRBD
drbd: takes over the data, writes it to the local disk and sends it to
drbd: the other host. On the other host, it takes it to the disk there.
drbd:
drbd: Home: http://www.drbd.org
drbd:
drbd: