diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-07-12 22:53:11 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2013-07-12 22:53:11 -0300 |
commit | e14736ca7ac051726b587d8fdb8368be502a9109 (patch) | |
tree | 6a40b3b2de9bf45e8f31ba5fd45ee8f2615bd4ae /pcr/cluster-glue | |
parent | e6e169990bdfc35fb6151f148510bf3f0da1dc1e (diff) | |
parent | 360a407f262ac47087ff29718465fbfc7765cb73 (diff) |
Merge branch 'master' of ssh://gparabola/srv/git/abslibre
Diffstat (limited to 'pcr/cluster-glue')
-rw-r--r-- | pcr/cluster-glue/PKGBUILD | 169 | ||||
-rw-r--r-- | pcr/cluster-glue/cluster-glue.install | 17 | ||||
-rw-r--r-- | pcr/cluster-glue/fixing-path.sed | 29 | ||||
-rw-r--r-- | pcr/cluster-glue/ha-log.service | 12 | ||||
-rw-r--r-- | pcr/cluster-glue/replace-linux_os-to-gnulinux_os-term.sed | 73 | ||||
-rw-r--r-- | pcr/cluster-glue/replace-opensource-to-free-term.sed | 19 |
6 files changed, 319 insertions, 0 deletions
diff --git a/pcr/cluster-glue/PKGBUILD b/pcr/cluster-glue/PKGBUILD new file mode 100644 index 000000000..2c45a3b0c --- /dev/null +++ b/pcr/cluster-glue/PKGBUILD @@ -0,0 +1,169 @@ +# Maintainer: Márcio Silva <coadde@lavabit.com> + +pkgname=cluster-glue +_pkgname1=${pkgname::7} +_pkgname2=${pkgname:8} +_pkgname=${_pkgname1^}_${_pkgname2^} +pkgver=1.0.11 +pkgrel=14 +pkgdesc='Set of libraries, tools and utilities suitable for the Heartbeat/Pacemaker cluster stack (Linux-HA)' +arch=( + i686 + x86_64 + mips64el +) +group=linux-ha +url=http://$group.org/wiki/$_pkgname +license=( + GPL2 + LGPL2.1 +) +depends=( + curl + dbus-glib + glib2 + libaio + libesmtp + libltdl + libnet + libxml2 + net-snmp + openhpi + openipmi + openssh + python2 + util-linux +) +optdepends=net-tools +makedepends=( + help2man + libxslt + lynx + net-tools + openssh + valgrind + w3m +) +options=(!libtool) +provides=(ha-$_pkgname2) +conflicts=ha-$_pkgname2 +replaces=ha-$_pkgname2 +install=$pkgname.install +source=( + http://hg.$group.org/$_pkgname2/archive/$_pkgname2-$pkgver.tar.bz2 + ha-log.service + fixing-path.sed + replace-linux_os-to-gnulinux_os-term.sed + replace-opensource-to-free-term.sed +) +sha512sums=( + 35ac8ac555c39f24c11e3a768cc50eba051fe617edf4cdc0429dac73f45a472f144cfe6ec5faff575606f2b04ff76a2f732556d848b61410c2683d93ba928413 + bb5bc5c5a9347302be583c43b100c0c3760ec4dcc3348a9f9708d5b2c58ec02dd5782c5ac9dcb86223258493ad3fba8ddd8dc5670390f0f602c34869b26bee6d + ce58a2af9f32265f12cc4984e9ae7f285fdb7737813ecccc0780015d048938d9dd79278635eb1cc6833f12f37a8c43211fec17411780220cf38fc44b91ecc076 + e59386aee4db5857fa131798327aa449a5efcd7d50c3ab45dadfa0becc31698a62367ce83b85ca739bdebaad4a9daf96d02c42673a4e26294ec0fa67323fdb5b + c82bd919d1cd02afccd10aea3e015f289ac97e387a1485097d681f9161a00c64859a5dce0ed36b98ad6a340264c2d854dcc83e3248e12828795b73c6ff67ef5b +) + +prepare() { + export _CLUSTER_USER=hacluster + export _CLUSTER_GROUP=haclient + _DGID=666 + _DUID=666 + + #verify the cluster user and group + if ! getent group $_CLUSTER_GROUP >/dev/null;then + msg 'BEFORE COMPILE THIS SOFTWARE YOU MUST CREATE A CLUSTER GROUP, EXECUTE AS ROOT:' + echo -e "# groupadd -r -g $_DGID $_CLUSTER_GROUP\n" + _EXITCODE=1 + fi + if ! getent passwd $_CLUSTER_USER >/dev/null;then + msg 'BEFORE COMPILE THIS SOFTWARE YOU MUST CREATE A CLUSTER USER, EXECUTE AS ROOT:' + echo -e "# useradd -r -g $_CLUSTER_GROUP -u $_DUID -d /var/lib/heartbeat/cores/$_CLUSTER_USER -s /sbin/nologin -c \"cluster user\" $_CLUSTER_USER\n" + _EXITCODE=1 + fi + if [[ $_EXITCODE -eq 1 ]] ;then + return 1 + fi + + cd $srcdir/Reusable-${_pkgname1^}-Components-$_pkgname2--$_pkgname2-$pkgver + sed -i 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|; + s| -O0||; + s|AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)|AM_INIT_AUTOMAKE|; + s|${localstatedir}/lock ${localstatedir}/spool/lock ${localstatedir}/spool/locks ${localstatedir}/lock|/run/lock|; + s|/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin|/usr/bin|; + ' configure.ac + sed -i 's|INCLUDES|AM_CPPFLAGS|; + ' $(grep -rlI INCLUDES | grep Makefile.am) + + # fixing path + sed -i -f $srcdir/fixing-path.sed\ + $(grep -rlI /bin)\ + $(grep -rlI /sbin)\ + $(grep -rlI /lib)\ + $(grep -rlI /var) + + # fixing python2 path + sed -i 's|bin/env python|bin/env python2|g; + s|bin/python|bin/python2|g; + ' $(grep -rlI 'bin/env python')\ + $(grep -rlI bin/python) + + # remove Linux (OS) term to GNU/Linux (OS) term + sed -i -f $srcdir/replace-linux_os-to-gnulinux_os-term.sed\ + $(grep -rlI Linux) + + # replace Open Source term to Free term + sed -i -f $srcdir/replace-opensource-to-free-term.sed\ + $(grep -rilI 'open.\{0,1\}source') +#} + +#build() { # disabled, due that is needed internet for generating man pages with libxslt. + cd $srcdir/Reusable-${_pkgname1^}-Components-$_pkgname2--$_pkgname2-$pkgver + setarch $CARCH ./autogen.sh + setarch $CARCH ./configure\ + --sysconfdir=/etc\ + --prefix=/usr\ + --exec-prefix=/usr\ + --bindir=/usr/bin\ + --sbindir=/usr/bin\ + --includedir=/usr/include\ + --oldincludedir=/usr/include\ + --libdir=/usr/lib\ + --libexecdir=/usr/lib\ + --datarootdir=/usr/share\ + --datadir=/usr/share\ + --docdir=/usr/share/doc/$pkgname\ + --dvidir=/usr/share/doc/$pkgname\ + --htmldir=/usr/share/doc/$pkgname\ + --pdfdir=/usr/share/doc/$pkgname\ + --psdir=/usr/share/doc/$pkgname\ + --infodir=/usr/share/info\ + --localedir=/usr/share/locale\ + --mandir=/usr/share/man\ + --localstatedir=/var\ + --disable-ansi\ + --disable-fatal-warnings\ + --disable-static\ + --enable-doc\ + --enable-libnet\ + --enable-shared\ + --enable-upstart\ + --with-daemon-group=haclient\ + --with-daemon-user=hacluster\ + --with-ocf-root=/usr/lib/ocf + setarch $CARCH make +} + +package() { + cd $srcdir/Reusable-${_pkgname1^}-Components-$_pkgname2--$_pkgname2-$pkgver + setarch $CARCH make DESTDIR=$pkgdir install + + install -d $pkgdir/usr/lib/systemd/system + install -m644 $srcdir/ha-log.service $pkgdir/usr/lib/systemd/system + + msg 'AFTER COMPILE THIS SOFTWARE YOU MUST DELETE A CLUSTER USER AND A CLUSTER GROUP, EXECUTE AS ROOT:' + echo -e "# userdel $_CLUSTER_USER" + echo -e "# groupdel $_CLUSTER_GROUP" +} + +# vim:set ts=2 sw=2 et: diff --git a/pcr/cluster-glue/cluster-glue.install b/pcr/cluster-glue/cluster-glue.install new file mode 100644 index 000000000..05e2160d3 --- /dev/null +++ b/pcr/cluster-glue/cluster-glue.install @@ -0,0 +1,17 @@ +_CLUSTER_USER=hacluster +_CLUSTER_GROUP=haclient +_DGID=666 +_DUID=666 + +pre_install() { + getent group $_CLUSTER_GROUP >/dev/null || groupadd -r -g $_DGID $_CLUSTER_GROUP + getent passwd $_CLUSTER_USER >/dev/null || useradd -r -g $_CLUSTER_GROUP -u $_DUID -d /var/lib/heartbeat/cores/hacluster -s /sbin/nologin -c 'cluster user' $_CLUSTER_USER +} + +post_install() { + echo -e 'Now you must install ha-resourceagent, ha-heartbeat and ha-pacemaker' +} +post_remove() { + echo -e "Deleting user $_CLUSTER_USER and group $_CLUSTER_GROUP" + userdel $_CLUSTER_USER && groupdel $_CLUSTER_GROUP +} diff --git a/pcr/cluster-glue/fixing-path.sed b/pcr/cluster-glue/fixing-path.sed new file mode 100644 index 000000000..43ef66253 --- /dev/null +++ b/pcr/cluster-glue/fixing-path.sed @@ -0,0 +1,29 @@ +s|/bin/sh|/bin/bash|g; +s| /bin| /usr/bin|g; +s|=/bin|=/usr/bin|g; +s|!/bin|!/usr/bin|g; +s|:/bin|:/usr/bin|g; +s|#/bin|#/usr/bin|g; +s| /sbin| /usr/bin|g; +s|=/sbin|=/usr/bin|g; +s|!/sbin|!/usr/bin|g; +s|:/sbin|:/usr/bin|g; +s|#/sbin|#/usr/bin|g; +s| /usr/sbin| /usr/bin|g; +s|=/usr/sbin|=/usr/bin|g; +s|!/usr/sbin|!/usr/bin|g; +s|:/usr/sbin|:/usr/bin|g; +s|#/usr/sbin|#/usr/bin|g; +s|:/usr/bin:/usr/bin|:/usr/bin|g; +s|lib64|lib|g; +s| /lib| /usr/lib|g; +s|=/lib|=/usr/lib|g; +s|#/lib|#/usr/lib|g; +s| /usr/libexec| /usr/lib|g; +s|=/usr/libexec|=/usr/lib|g; +s|#/usr/libexec|#/usr/lib|g; +s| /usr/var| /var|g; +s|=/usr/var|=/var|g; +s|#/usr/var|#/var|g; +s|/var/lock|/run/lock|g; +s|/var/run|/run|g; diff --git a/pcr/cluster-glue/ha-log.service b/pcr/cluster-glue/ha-log.service new file mode 100644 index 000000000..5115298d7 --- /dev/null +++ b/pcr/cluster-glue/ha-log.service @@ -0,0 +1,12 @@ +[Unit] +Description=Non-blocking logging daemon. +Requires=network.target remote-fs.target +Before=heartbeat.service openais.service corosync.service + +[Service] +Type=forking +ExecStart=/usr/lib/heartbeat/ha_logd -d >/dev/null 2>&1 +ExecStop=/usr/lib/heartbeat/ha_logd -k >/dev/null 2>&1 + +[Install] +WantedBy=multi-user.target diff --git a/pcr/cluster-glue/replace-linux_os-to-gnulinux_os-term.sed b/pcr/cluster-glue/replace-linux_os-to-gnulinux_os-term.sed new file mode 100644 index 000000000..2c9801c11 --- /dev/null +++ b/pcr/cluster-glue/replace-linux_os-to-gnulinux_os-term.sed @@ -0,0 +1,73 @@ +s|Linux,|GNU/Linux,|g; +s|Linux and|GNU/Linux and|g; +s|Linux distro|GNU/Linux distro|g; +s|Linux distribution|GNU/Linux distribution|g; +s|Linux machine|GNU/Linux machine|g; +s|Linux Only|GNU/Linux Only|g; +s|Linux only|GNU/Linux only|g; +s|Linux operating|GNU/Linux operating|g; +s|Linux OS|GNU/Linux OS|g; +s|Linux platform|GNU/Linux platform|g; +s|Linux software|GNU/Linux software|g; +s|Linux specific|GNU/Linux specific|g; +s|Linux system|GNU/Linux system|g; +s|Linux will|GNU/Linux will|g; +s|# Linux$|# GNU/Linux|g; +s|# Linux[.]$|# GNU/Linux.|g; +s|* Linux$|* GNU/Linux|g; +s|* Linux[.]$|* GNU/Linux.|g; +s|// Linux$|// GNU/Linux|g; +s|// Linux[.]$|// GNU/Linux.|g; +s|, Linux|, GNU/Linux|g; +s|As Linux|As GNU/Linux|g; +s|as Linux|as GNU/Linux|g; +s|And Linux|And GNU/Linux|g; +s|and Linux|and GNU/Linux|g; +s|Be Linux|Be GNU/Linux|g; +s|be Linux|be GNU/Linux|g; +s|Because Linux|Because GNU/Linux|g; +s|because Linux|because GNU/Linux|g; +s|e[.]g[.] Linux|e.g. GNU/Linux|g; +s|For Linux|For GNU/Linux|g; +s|for Linux|for GNU/Linux|g; +s|In Linux|In GNU/Linux|g; +s|in Linux|in GNU/Linux|g; +s|Like Linux|Like GNU/Linux|g; +s|like Linux|like GNU/Linux|g; +s|non-Linux|non GNU/Linux|g; +s|Of Linux|Of GNU/Linux|g; +s|of Linux|of GNU/Linux|g; +s|On Linux|On GNU/Linux|g; +s|on Linux|on GNU/Linux|g; +s|OS type: Linux|OS type: GNU/Linux|g; +s|Other Linux|Other GNU/Linux|g; +s|other Linux|other GNU/Linux|g; +s|The Linux|The GNU/Linux|g; +s|the Linux|the GNU/Linux|g; +s|Typically Linux|Typically GNU/Linux|g; +s|typically Linux|typically GNU/Linux|g; +s|To Linux|To GNU/Linux|g; +s|to Linux|to GNU/Linux|g; +s|Under Linux|Under GNU/Linux|g; +s|under Linux|under GNU/Linux|g; +s|e2fsprogs, typically GNU/Linux|e2fsprogs, typically Linux|g; +s|GNU/GNU|GNU|g; +s|ArchGNU/Linux|ArchLinux|g; +s|MkGNU/Linux|MkLinux|g; +s|GNU/Linux device|Linux device|g; +s|GNU/Linux Director Daemon|Linux Director Daemon|g; +s|GNU/Linux is a registered trademark of Linus Torvalds|Linux is a registered trademark of Linus Torvalds|g; +s|GNU/Linux kernel|Linux kernel|g; +s|GNU/Linux specific kernel|Linux specific kernel|g; +s|GNU/Linux Standard Base|Linux Standard Base|g; +s|GNU/Linux sysfs|Linux sysfs|g; +s|GNU/Linux Virtual Server|Linux Virtual Server|g; +s|GNU/Linux Watchdog|Linux Watchdog|g; +s|GNU/Linux watchdog|Linux watchdog|g; +s|GNU/LinuxHA|LinuxHA|g; +s|GNU/Linux-HA|Linux-HA|g; +s|GNU/LinuxSCSI|LinuxSCSI|g; +s|HA GNU/Linux|HA Linux|g; +s|High-Availability GNU/Linux|High-Availability Linux|g; +s|SEGNU/Linux|SELinux|g; +s|VA GNU/Linux Cluster|VA Linux Cluster|g; diff --git a/pcr/cluster-glue/replace-opensource-to-free-term.sed b/pcr/cluster-glue/replace-opensource-to-free-term.sed new file mode 100644 index 000000000..c086bb91e --- /dev/null +++ b/pcr/cluster-glue/replace-opensource-to-free-term.sed @@ -0,0 +1,19 @@ +s|Open Source Definition (Version [0-9].[0-9])|Free Software Definition|g; +s|Open Source Definition|Free Software Definition|g; +s|Open Source Initiative|Free Software Foundation|g; +s|OSI Certifi|FSF Certif|g; +s|OSI certifi|FSF certif|g; +s|opensource[.]org/osd-annotated|gnu.org/philosophy/free-sw.html|g; +s|opensource[.]org/osd|gnu.org/philosophy/free-sw.html|g; +s|opensource[.]org/|gnu.org/philosophy/free-sw.html|g; +s|[ _-].\{1,3\}[ _-][oO][pP][eE][nN].\{0,1\}[sS][oO][uU][rR][cC][eE]||g; +s|[oO][pP][eE][nN].\{0,1\}[sS][oO][uU][rR][cC][eE][ _-].\{1,3\}[ _-]||g; +s|OPEN.\{0,1\}SOURCE|FREE|g; +s|Open.\{0,1\}[sS]ource|Free|g; +s|open.\{0,1\}[sS]ource|free|g; +s|Free Development Lab|Open Source Development Lab|g; +s|free[.]org|opensource.org|g; +s|gnu[.]org/philosophy/free-sw[.]htmllicenses|opensource.org/licenses|g; +s|oss[.]software[.]ibm[.]com/developerworks/free|oss.software.ibm.com/developerworks/opensource|g; +s|oberhumer[.]com/free|oberhumer.com/opensource|g; +s|free@google[.]com|opensource@google.com|g; |