Initial import
This commit is contained in:
10
sys-cluster/drbd-utils/Manifest
Normal file
10
sys-cluster/drbd-utils/Manifest
Normal file
@@ -0,0 +1,10 @@
|
||||
AUX 9.15.1_configure-git-path.patch 428 SHA256 4a2a08b66fbf4f0fc006c1f8920db263a226f92435759233917caa52ef69fe05 SHA512 03af7f20da79b68f463d27502773074861c3b80cb832526845b4b1c79c99e2a9e777645564a97f24e000521e6ba6e3792f263420f73c9864d68b3006bc5fe294 WHIRLPOOL c1385a6b40a9e4d0d8001399455ae1da5ecc4079cc7378fe9bfe49638324eb40c051f01c99b7ce08c16c7f99b8852a17a232eabe986c25ae1b96e22f1298a78c
|
||||
AUX 9.15.1_git-path.patch 596 SHA256 b6e8a1daeb571d67da02b884d8e561789c2de78ad82ccfb2a0b52cc319f60b14 SHA512 0b0a10eb5a87294648619779d494e2e4c978c4063b295d2c97201d31affa5a44a68bddfd970ed56c97d823c8ab94a5bbe76e2c82acb4aaf1456535c2790b7095 WHIRLPOOL fdad514d3343609432ba2037ba7557c78ed467f4a7bc82d74c51128c01339f01801831ba7fab09cbcc923fb2bbaa66e62871a9162524a6135040213f6be61f3b
|
||||
AUX 9.15.1_run-lock.patch 741 SHA256 7a6dad5b9f1c1793b984b3b20b5f4618e7f1a1c7271e05816d30e33147628b72 SHA512 92f39f187ca60f7ad31d637fc580e528758ef3dddda1f75cf26a20a319ff56f3d957f2e1ada940ebc6b00b5e767e4c0834a066b8bc7ee4094c655a9185ae46a3 WHIRLPOOL 56e3e08fff6a52026e8f52fe5d63c54244054e93da66c4408161e0b247efd171c6fe6d4f2ade7ee70565c21a9eda3d69cc2f67ecbb4985a2a57405d61484a6f8
|
||||
AUX drbd-utils-8.0.rc 3073 SHA256 6c81121e5d1543b8ab8ec4aa525bb5afe18f853748c8a8f3d14a697aecc735fc SHA512 9cd9de6d41552f080f3d590630ecd1686ea32b9e9db3b78a132e7fb55318a338331c09af5d80ba885d48a001ee3f7a6f791ddd806e834d2a7c72f01a00ec2f6c WHIRLPOOL 9dda501dff640fd1bfe432711f89dea87ef4ed225413cd51481a71ff2817ab3072084deed64767d170d76ea5b43828a19e9a85ca0ec3558a40c9f22c6f8c9fe9
|
||||
AUX drbd-utils-9.0.rc 3070 SHA256 315b5c12356871198b4509ab92b087dbe7c0177dda9e612714f6b651d16a7cef SHA512 fc4765424f6a1cf5b6157f105e099a6ffa91d6db2017ceb887608c4b0ed410d9e26beddba203e96880d85535511f830e36ce95a45da8e9c3e830d86be01c715a WHIRLPOOL 4bf211aaa0fc269ae00f6e02ebdccf9401b95361fb23a48adf1f80099a10ab80cd6ce7223a3485cec24120c6c86b5d54b3cde5f90970e0d7fba80ad6c5f1e17b
|
||||
AUX run-lock.patch 564 SHA256 37e9485d4bf647fa11a78631965350a3dc0f0e8de1624170dd393a3da7743939 SHA512 779ad53c9f019b9dcc748177d6017ca06f1b450bf0889307c9660c574c09414964e4c5e4d6f2f3e8fc540ba14a1d489d09991b813af1581b2f6cd4ba491455ab WHIRLPOOL 3a361d18c9d83759f121ffb744158f75d8cf2c78400f646d77ac8da4b9d8433b4b0ee37dea0bdb61f21d41c1aa2cb9ba7930dfbf13a09b66ba4b48e63fed7169
|
||||
DIST drbd-utils-9.12.2.tar.gz 1204980 SHA256 caedaa8545cfc94f40e63e4a29f53324732878dd0d10320989d38de1c0114dc1 SHA512 051c2b7c2b1804a70a48b7784e80e49604b910027b67f1cb6041069f94ad31468c038f505a3bc20e22b11f76e69cf5a8ae623ee1913c5dc410f146fc03da677e WHIRLPOOL 57c97916933d86603fcd13746dc0cc044541354ae218ee7367d71ec1676843fcc398218e2fa1f024ce8da0509682a6b6d89c514d313ad41b774c771f59af6070
|
||||
DIST drbd-utils-9.15.1.tar.gz 1229196 SHA256 315c3e9341d8e2bef28b4047ca0a977bf7ebd8f2ac3be3639273e27c2d5f22e1 SHA512 bf9c46335500c0dd7afdc160221acaf8fd053afc453cb26cd76ef085c41580be5a62021ef1f1a57eac9df70d1158a008f489d1a8bb5c3329c5a187f79e4942de WHIRLPOOL 488ccfd98bbb328c39e4803b631e040db8b9dde2536ed3458e295c8ae9709940ecee7fc00442d35295899144aa22e1da736c77bf716d8084af8dca70676bc7d5
|
||||
EBUILD drbd-utils-9.12.2.ebuild 2793 SHA256 1701643ebf118e233129edb01507a4ae3701fe6d180afd85b9874fdf926b5e1a SHA512 c9def674afa09f9d88ec2014b795450bed11878539f139e9deaffeeb8c5baacfd78f6c7c472e5d36f85e9f82dc1dc708d84815ed2da24e1c640b23e61ee53b33 WHIRLPOOL bc0b8d812466a3687acf4320edc61386581a307d0a6260cc409696b5acca19e6d5f643c371ee71d45fcfad6b415b3e72fa84afde150cec19cca5da390646363d
|
||||
EBUILD drbd-utils-9.15.1.ebuild 2539 SHA256 dbe7d5746f9cda6a787aafb4fc68c43544b64729ea28103acd58b4e7d21256c5 SHA512 7e1029601458fce8abbda9af8078c8939a644a901daca67c42434741fafea013da51d0388e055900c62ebefe83f1964ed1c275defa1a0fc15b6d2700874103f0 WHIRLPOOL 1a5eb3c7137076fe37fcab7fcf08881e468c91f192d5752dde05826f406f6bf1e0bd74d325df98d12a730f025d1bcaff80bcd7e6f3e80581f671ec034b2b71d9
|
||||
107
sys-cluster/drbd-utils/drbd-utils-9.12.2.ebuild
Normal file
107
sys-cluster/drbd-utils/drbd-utils-9.12.2.ebuild
Normal file
@@ -0,0 +1,107 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit bash-completion-r1 eutils flag-o-matic multilib udev
|
||||
|
||||
LICENSE="GPL-2"
|
||||
|
||||
DESCRIPTION="mirror/replicate block-devices across a network-connection"
|
||||
SRC_URI="http://www.linbit.com/downloads/drbd/utils/${P}.tar.gz"
|
||||
HOMEPAGE="http://www.drbd.org"
|
||||
|
||||
KEYWORDS="amd64 ~x86"
|
||||
IUSE="bash-completion heartbeat pacemaker +udev xen"
|
||||
SLOT="0"
|
||||
|
||||
COMMON_DEPEND="heartbeat? ( sys-cluster/heartbeat )
|
||||
pacemaker? ( sys-cluster/pacemaker )
|
||||
udev? ( virtual/udev )
|
||||
!!sys-cluster/drbd"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
pkg_pretend() {
|
||||
if ! test-flag-CXX -std=c++11 ; then
|
||||
die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# respect LDFLAGS, #453442
|
||||
sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
|
||||
-e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
|
||||
-i user/*/Makefile.in || die
|
||||
|
||||
# respect multilib
|
||||
sed -i -e "s:/lib/:/$(get_libdir)/:g" \
|
||||
Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
|
||||
sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
|
||||
-e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
|
||||
-i user/*/Makefile.in || die
|
||||
|
||||
# correct install paths (really correct this time)
|
||||
sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
|
||||
scripts/Makefile.in || die
|
||||
|
||||
# don't participate in user survey bug 360483
|
||||
sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die
|
||||
sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
|
||||
|
||||
# fix buggy C++11 detection
|
||||
sed -i -e 's/-z "\$ac_ct_CXX" -o//' configure.ac
|
||||
|
||||
epatch "${FILESDIR}"/run-lock.patch
|
||||
|
||||
autoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--localstatedir=/var \
|
||||
--without-rgmanager \
|
||||
$(use_with udev) \
|
||||
$(use_with xen) \
|
||||
$(use_with pacemaker) \
|
||||
$(use_with heartbeat) \
|
||||
$(use_with bash-completion bashcompletion) \
|
||||
--with-distro=gentoo
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# only compile the tools
|
||||
emake OPTFLAGS="${CFLAGS}" tools doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# only install the tools and man pages
|
||||
emake DESTDIR="${D}" install-tools install-doc
|
||||
dodoc README.md ChangeLog
|
||||
|
||||
# install our own init script
|
||||
newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/}
|
||||
|
||||
dodoc scripts/drbd.conf.example
|
||||
|
||||
dosym ../../usr/sbin/drbdadm /sbin/drbdadm
|
||||
keepdir "/var/lib/drbd"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo
|
||||
einfo "Please copy and gunzip the configuration file:"
|
||||
einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf"
|
||||
einfo "and edit it to your needs. Helpful commands:"
|
||||
einfo "man 5 drbd.conf"
|
||||
einfo "man 8 drbdsetup"
|
||||
einfo "man 8 drbdadm"
|
||||
einfo "man 8 drbddisk"
|
||||
einfo "man 8 drbdmeta"
|
||||
einfo
|
||||
elog "Remember to enable drbd support in kernel."
|
||||
}
|
||||
101
sys-cluster/drbd-utils/drbd-utils-9.15.1.ebuild
Normal file
101
sys-cluster/drbd-utils/drbd-utils-9.15.1.ebuild
Normal file
@@ -0,0 +1,101 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit bash-completion-r1 multilib udev
|
||||
|
||||
LICENSE="GPL-2"
|
||||
|
||||
DESCRIPTION="mirror/replicate block-devices across a network-connection"
|
||||
SRC_URI="https://www.linbit.com/downloads/drbd/utils/${P/_/}.tar.gz"
|
||||
HOMEPAGE="https://www.linbit.com/drbd/"
|
||||
|
||||
KEYWORDS="amd64 ~x86"
|
||||
IUSE="bash-completion heartbeat pacemaker +udev xen"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND="heartbeat? ( sys-cluster/heartbeat )
|
||||
pacemaker? ( sys-cluster/pacemaker )
|
||||
udev? ( virtual/udev )
|
||||
!!sys-cluster/drbd"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PV}_run-lock.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${P/_/}"
|
||||
|
||||
src_prepare() {
|
||||
# respect LDFLAGS, #453442
|
||||
sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
|
||||
-e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
|
||||
-i user/*/Makefile.in || die
|
||||
|
||||
# respect multilib
|
||||
sed -i -e "s:/lib/:/$(get_libdir)/:g" \
|
||||
Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
|
||||
sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
|
||||
-e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
|
||||
-i user/*/Makefile.in || die
|
||||
|
||||
# correct install paths (really correct this time)
|
||||
sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
|
||||
scripts/Makefile.in || die
|
||||
|
||||
# don't participate in user survey bug 360483
|
||||
sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die
|
||||
sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
|
||||
|
||||
eapply_user
|
||||
|
||||
# rm -rf .git
|
||||
|
||||
autoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--localstatedir=/var \
|
||||
--without-rgmanager \
|
||||
$(use_with udev) \
|
||||
$(use_with xen) \
|
||||
$(use_with pacemaker) \
|
||||
$(use_with heartbeat) \
|
||||
$(use_with bash-completion bashcompletion) \
|
||||
--with-distro=gentoo
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# only compile the tools
|
||||
emake OPTFLAGS="${CFLAGS}" tools doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# only install the tools
|
||||
emake DESTDIR="${D}" install-tools install-doc
|
||||
dodoc README.md ChangeLog
|
||||
|
||||
# install our own init script
|
||||
newinitd "${FILESDIR}"/${PN}-9.0.rc ${PN/-utils/}
|
||||
|
||||
dodoc scripts/drbd.conf.example
|
||||
|
||||
dosym ../usr/sbin/drbdadm /sbin/drbdadm
|
||||
keepdir "/var/lib/drbd"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo
|
||||
einfo "Please copy and gunzip the configuration file:"
|
||||
einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf"
|
||||
einfo "and edit it to your needs. Helpful commands:"
|
||||
einfo "man 5 drbd.conf"
|
||||
einfo "man 8 drbdsetup"
|
||||
einfo "man 8 drbdadm"
|
||||
einfo "man 8 drbddisk"
|
||||
einfo "man 8 drbdmeta"
|
||||
einfo
|
||||
elog "Remember to enable drbd support in kernel."
|
||||
}
|
||||
11
sys-cluster/drbd-utils/files/9.15.1_configure-git-path.patch
Normal file
11
sys-cluster/drbd-utils/files/9.15.1_configure-git-path.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- configure.ac.original 2021-01-25 12:12:21.410332285 -0500
|
||||
+++ configure.ac 2021-01-25 12:12:39.882925919 -0500
|
||||
@@ -229,7 +229,7 @@
|
||||
AC_PATH_PROG(XSLTPROC, xsltproc)
|
||||
AC_PATH_PROG(CLITEST, clitest)
|
||||
AC_PATH_PROG(TAR, tar)
|
||||
-AC_PATH_PROG(GIT, git)
|
||||
+AC_PATH_PROG(GIT, /usr/bin/git)
|
||||
AC_PATH_PROG(PO4A_TRANSLATE, po4a-translate)
|
||||
AC_PATH_PROG(PO4A_GETTEXTIZE, po4a-gettextize)
|
||||
AC_PATH_PROG(DPKG_BUILDPACKAGE, dpkg-buildpackage)
|
||||
13
sys-cluster/drbd-utils/files/9.15.1_git-path.patch
Normal file
13
sys-cluster/drbd-utils/files/9.15.1_git-path.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- user/shared/drbd_buildtag.sh.original 2021-01-25 00:57:10.817492405 -0500
|
||||
+++ user/shared/drbd_buildtag.sh 2021-01-25 00:57:59.501429694 -0500
|
||||
@@ -4,8 +4,8 @@
|
||||
local out=$1
|
||||
set -e; exec > ${out}.new
|
||||
echo -e "/* automatically generated. DO NOT EDIT. */"
|
||||
- if test -e ../../.git && GITHEAD=$(git rev-parse HEAD); then
|
||||
- GITDIFF=$(cd .. && git diff --name-only HEAD |
|
||||
+ if test -e ../../.git && GITHEAD=$(/usr/bin/git rev-parse HEAD); then
|
||||
+ GITDIFF=$(cd .. && /usr/bin/git diff --name-only HEAD |
|
||||
tr -s '\t\n' ' ' |
|
||||
sed -e 's/ *$//')
|
||||
echo -e "#define GITHASH \"${GITHEAD}\""
|
||||
13
sys-cluster/drbd-utils/files/9.15.1_run-lock.patch
Normal file
13
sys-cluster/drbd-utils/files/9.15.1_run-lock.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- configure.ac.original 2021-01-25 00:37:46.050875009 -0500
|
||||
+++ configure.ac 2021-01-25 00:38:26.747986868 -0500
|
||||
@@ -457,8 +457,8 @@
|
||||
AH_TEMPLATE(WINDRBD, [Include support for windrbd (do not use this under Linux)])
|
||||
|
||||
AC_SUBST(DRBD_LIB_DIR, [$localstatedir/lib/$PACKAGE_TARNAME])
|
||||
-AC_SUBST(DRBD_RUN_DIR, [$localstatedir/run/$PACKAGE_TARNAME])
|
||||
-AC_SUBST(DRBD_LOCK_DIR, [$localstatedir/lock])
|
||||
+AC_SUBST(DRBD_RUN_DIR, [/run/$PACKAGE_TARNAME])
|
||||
+AC_SUBST(DRBD_LOCK_DIR, [/run/lock])
|
||||
AC_SUBST(DRBD_CONFIG_DIR, [$sysconfdir])
|
||||
AC_SUBST(DRBD_BIN_DIR, [$exec_prefix/bin])
|
||||
|
||||
158
sys-cluster/drbd-utils/files/drbd-utils-8.0.rc
Normal file
158
sys-cluster/drbd-utils/files/drbd-utils-8.0.rc
Normal file
@@ -0,0 +1,158 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License, v2 or later
|
||||
|
||||
extra_started_commands="reload"
|
||||
|
||||
depend() {
|
||||
use logger
|
||||
need net
|
||||
before heartbeat
|
||||
after sshd
|
||||
}
|
||||
|
||||
DEFAULTFILE="/etc/conf.d/drbd"
|
||||
DRBDADM="/sbin/drbdadm"
|
||||
PROC_DRBD="/proc/drbd"
|
||||
MODPROBE="/sbin/modprobe"
|
||||
RMMOD="/sbin/rmmod"
|
||||
UDEV_TIMEOUT=10
|
||||
ADD_MOD_PARAM=""
|
||||
PATH=${PATH}:/lib/drbd:/lib64/drbd
|
||||
|
||||
if [ -f $DEFAULTFILE ]; then
|
||||
. $DEFAULTFILE
|
||||
fi
|
||||
|
||||
# Just in case drbdadm want to display any errors in the configuration
|
||||
# file, or we need to ask the user about registering this installation
|
||||
# at http://usage.drbd.org, we call drbdadm here without any IO
|
||||
# redirection.
|
||||
$DRBDADM sh-nop
|
||||
|
||||
assure_module_is_loaded() {
|
||||
[ -e "$PROC_DRBD" ] && return
|
||||
ebegin "Loading drbd module"
|
||||
ret=0
|
||||
|
||||
$MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20
|
||||
eend $ret
|
||||
return $ret
|
||||
}
|
||||
|
||||
adjust_with_progress() {
|
||||
IFS_O=$IFS
|
||||
NEWLINE='
|
||||
'
|
||||
IFS=$NEWLINE
|
||||
local D=0
|
||||
local S=0
|
||||
local N=0
|
||||
|
||||
einfon "Setting drbd parameters "
|
||||
COMMANDS=`$DRBDADM -d adjust all` || {
|
||||
eend 20 "Error executing drbdadm"
|
||||
return 20
|
||||
}
|
||||
echo -n "[ "
|
||||
|
||||
for CMD in $COMMANDS; do
|
||||
if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 ));
|
||||
elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 ));
|
||||
elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 ));
|
||||
else echo -n ".. ";
|
||||
fi
|
||||
IFS=$IFS_O
|
||||
eval $CMD || {
|
||||
echo
|
||||
eend 20 "cmd $CMD failed!"
|
||||
return 20
|
||||
}
|
||||
IFS=$NEWLINE
|
||||
done
|
||||
echo "]"
|
||||
eend 0
|
||||
|
||||
IFS=$IFS_O
|
||||
}
|
||||
|
||||
start() {
|
||||
einfo "Starting DRBD resources:"
|
||||
eindent
|
||||
assure_module_is_loaded || return $?
|
||||
adjust_with_progress || return $?
|
||||
|
||||
# make sure udev has time to create the device files
|
||||
ebegin "Waiting for udev device creation ..."
|
||||
for RESOURCE in `$DRBDADM sh-resources`; do
|
||||
for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do
|
||||
UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT
|
||||
while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do
|
||||
sleep 1
|
||||
UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 ))
|
||||
done
|
||||
done
|
||||
done
|
||||
eend 0
|
||||
|
||||
einfon "Waiting for connection "
|
||||
$DRBDADM wait-con-int
|
||||
ret=$?
|
||||
echo
|
||||
|
||||
sleep 5
|
||||
|
||||
einfon "Become primary if configured "
|
||||
$DRBDADM sh-b-pri all
|
||||
echo
|
||||
|
||||
eend $ret
|
||||
return $ret
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping all DRBD resources"
|
||||
|
||||
# Check for mounted drbd devices
|
||||
if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then
|
||||
if [ -e ${PROC_DRBD} ]; then
|
||||
${DRBDADM} down all
|
||||
ret=$?
|
||||
sleep 3
|
||||
if [ -e /proc/modules ] && grep -q '^drbd' /proc/modules ; then
|
||||
${RMMOD} drbd
|
||||
fi
|
||||
fi
|
||||
eend $ret
|
||||
return $ret
|
||||
else
|
||||
einfo "drbd devices mounted, please umount them before trying to stop drbd!"
|
||||
eend 1
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
# NEEDS to be heartbeat friendly...
|
||||
# so: put some "OK" in the output.
|
||||
|
||||
if [ -e $PROC_DRBD ]; then
|
||||
ret=0
|
||||
ebegin "drbd driver loaded OK; device status:"
|
||||
eend $ret
|
||||
cat $PROC_DRBD
|
||||
else
|
||||
ebegin "drbd not loaded"
|
||||
ret=3
|
||||
eend $ret
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading DRBD"
|
||||
${DRBDADM} adjust all
|
||||
ret=$?
|
||||
eend $ret
|
||||
return $ret
|
||||
}
|
||||
158
sys-cluster/drbd-utils/files/drbd-utils-9.0.rc
Normal file
158
sys-cluster/drbd-utils/files/drbd-utils-9.0.rc
Normal file
@@ -0,0 +1,158 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License, v2 or later
|
||||
|
||||
extra_started_commands="reload"
|
||||
|
||||
depend() {
|
||||
use logger
|
||||
need net
|
||||
before heartbeat
|
||||
after sshd
|
||||
}
|
||||
|
||||
DEFAULTFILE="/etc/conf.d/drbd"
|
||||
DRBDADM="/sbin/drbdadm"
|
||||
PROC_DRBD="/proc/drbd"
|
||||
MODPROBE="/sbin/modprobe"
|
||||
RMMOD="/sbin/rmmod"
|
||||
UDEV_TIMEOUT=10
|
||||
ADD_MOD_PARAM=""
|
||||
PATH=${PATH}:/lib/drbd:/lib64/drbd
|
||||
|
||||
if [ -f $DEFAULTFILE ]; then
|
||||
. $DEFAULTFILE
|
||||
fi
|
||||
|
||||
# Just in case drbdadm want to display any errors in the configuration
|
||||
# file, or we need to ask the user about registering this installation
|
||||
# at http://usage.drbd.org, we call drbdadm here without any IO
|
||||
# redirection.
|
||||
$DRBDADM sh-nop
|
||||
|
||||
assure_module_is_loaded() {
|
||||
[ -e "$PROC_DRBD" ] && return
|
||||
ebegin "Loading drbd module"
|
||||
ret=0
|
||||
|
||||
$MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20
|
||||
eend $ret
|
||||
return $ret
|
||||
}
|
||||
|
||||
adjust_with_progress() {
|
||||
IFS_O=$IFS
|
||||
NEWLINE='
|
||||
'
|
||||
IFS=$NEWLINE
|
||||
local D=0
|
||||
local S=0
|
||||
local N=0
|
||||
|
||||
einfon "Setting drbd parameters "
|
||||
COMMANDS=`$DRBDADM -d adjust all` || {
|
||||
eend 20 "Error executing drbdadm"
|
||||
return 20
|
||||
}
|
||||
echo -n "[ "
|
||||
|
||||
for CMD in $COMMANDS; do
|
||||
if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 ));
|
||||
elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 ));
|
||||
elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 ));
|
||||
else echo -n ".. ";
|
||||
fi
|
||||
IFS=$IFS_O
|
||||
eval $CMD || {
|
||||
echo
|
||||
eend 20 "cmd $CMD failed!"
|
||||
return 20
|
||||
}
|
||||
IFS=$NEWLINE
|
||||
done
|
||||
echo "]"
|
||||
eend 0
|
||||
|
||||
IFS=$IFS_O
|
||||
}
|
||||
|
||||
start() {
|
||||
einfo "Starting DRBD resources:"
|
||||
eindent
|
||||
assure_module_is_loaded || return $?
|
||||
adjust_with_progress || return $?
|
||||
|
||||
# make sure udev has time to create the device files
|
||||
ebegin "Waiting for udev device creation ..."
|
||||
for RESOURCE in `$DRBDADM sh-resources`; do
|
||||
for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do
|
||||
UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT
|
||||
while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do
|
||||
sleep 1
|
||||
UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 ))
|
||||
done
|
||||
done
|
||||
done
|
||||
eend 0
|
||||
|
||||
einfon "Waiting for connection "
|
||||
$DRBDADM wait-con-int
|
||||
ret=$?
|
||||
echo
|
||||
|
||||
sleep 5
|
||||
|
||||
einfon "Become primary if configured "
|
||||
$DRBDADM sh-b-pri all
|
||||
echo
|
||||
|
||||
eend $ret
|
||||
return $ret
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping all DRBD resources"
|
||||
|
||||
# Check for mounted drbd devices
|
||||
if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then
|
||||
if [ -e ${PROC_DRBD} ]; then
|
||||
${DRBDADM} down all
|
||||
ret=$?
|
||||
sleep 3
|
||||
if [ -e /proc/modules ] && grep -q '^drbd' /proc/modules ; then
|
||||
${RMMOD} drbd
|
||||
fi
|
||||
fi
|
||||
eend $ret
|
||||
return $ret
|
||||
else
|
||||
einfo "drbd devices mounted, please umount them before trying to stop drbd!"
|
||||
eend 1
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
# NEEDS to be heartbeat friendly...
|
||||
# so: put some "OK" in the output.
|
||||
|
||||
if [ -e $PROC_DRBD ]; then
|
||||
ret=0
|
||||
ebegin "drbd driver loaded OK; device status:"
|
||||
eend $ret
|
||||
cat $PROC_DRBD
|
||||
else
|
||||
ebegin "drbd not loaded"
|
||||
ret=3
|
||||
eend $ret
|
||||
fi
|
||||
return $ret
|
||||
}
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading DRBD"
|
||||
${DRBDADM} adjust all
|
||||
ret=$?
|
||||
eend $ret
|
||||
return $ret
|
||||
}
|
||||
13
sys-cluster/drbd-utils/files/run-lock.patch
Normal file
13
sys-cluster/drbd-utils/files/run-lock.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- configure.ac.orig 2015-01-31 23:19:18.745021931 +0000
|
||||
+++ configure.ac 2015-01-31 23:19:38.988027506 +0000
|
||||
@@ -353,8 +353,8 @@
|
||||
AH_TEMPLATE(DRBD_LEGACY_84, [Include support for drbd-8.4 kernel code])
|
||||
|
||||
AC_SUBST(DRBD_LIB_DIR, [$localstatedir/lib/$PACKAGE_TARNAME])
|
||||
-AC_SUBST(DRBD_RUN_DIR, [$localstatedir/run/$PACKAGE_TARNAME])
|
||||
-AC_SUBST(DRBD_LOCK_DIR, [$localstatedir/lock])
|
||||
+AC_SUBST(DRBD_RUN_DIR, [/run/$PACKAGE_TARNAME])
|
||||
+AC_SUBST(DRBD_LOCK_DIR, [/run/lock])
|
||||
AC_SUBST(DRBD_CONFIG_DIR, [$sysconfdir])
|
||||
|
||||
AC_DEFINE_UNQUOTED(DRBD_LIB_DIR, ["$DRBD_LIB_DIR"])
|
||||
Reference in New Issue
Block a user