diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-cluster/heartbeat |
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-cluster/heartbeat')
-rw-r--r-- | sys-cluster/heartbeat/Manifest | 14 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.4-docs.patch | 57 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.4-fix_configure.patch | 110 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.4-python_tests.patch | 29 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch | 145 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.6-configure.patch | 103 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/3.0.6-docs.patch | 59 | ||||
-rw-r--r-- | sys-cluster/heartbeat/files/heartbeat-init | 92 | ||||
-rw-r--r-- | sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild | 86 | ||||
-rw-r--r-- | sys-cluster/heartbeat/heartbeat-3.0.6.ebuild | 85 | ||||
-rw-r--r-- | sys-cluster/heartbeat/metadata.xml | 12 |
11 files changed, 792 insertions, 0 deletions
diff --git a/sys-cluster/heartbeat/Manifest b/sys-cluster/heartbeat/Manifest new file mode 100644 index 000000000000..8229d960ea4e --- /dev/null +++ b/sys-cluster/heartbeat/Manifest @@ -0,0 +1,14 @@ +AUX 3.0.4-docs.patch 1735 SHA256 6ca069d0a6862f03026d59078c84dc503cfdd562a159d1e0a3151ed889a108bc SHA512 d8b9328ad8417998f6b3f8ae06a2d99d1b4a1fc53c21770df58b5ae1d2b38b9a396e5b77c9fc74a8a01e7cb239337bdc1b44065161a21f07261c18b7378c0f44 WHIRLPOOL ea5d10e1bd1530cb3939a992af36bea38d8cc8df5c195719bbb7ed7b84ed211144e6db1284fc0a15da4a987847e9f9bc52677434f0a0dd99e71a9abd8acb8b12 +AUX 3.0.4-fix_configure.patch 3300 SHA256 caa4fc8379626aa7c8a021aef47a49eb8d2ef57f30d84bc31a5613ebf814eb48 SHA512 39bb089d2ac6e4d7afb828b24d41e3b261588d8029347ab968dbe3909a3a2a9197fc0ac8f16e920f45870fefaeb86bae064a8625c24ca7cda68cbb79bb1b360b WHIRLPOOL 171a85271b08b9c19201d12112c1c446760b429212a607fc78f6858988f46be34935c89af04b65a1f0da14d417575688935eaae9646a11a46dab229baed929a8 +AUX 3.0.4-python_tests.patch 468 SHA256 b13b88ddb6cbeffea19d756ae54fb2acfb4aa7a169f075e974593a8b40146645 SHA512 e5652ec24b7a5b03347baabb4d09f058df9766020879562822ed3edcd26f78d28456df532c6c12dacfb609d197d06dc565f0bf25ba1b33736d89df2d36f43b9b WHIRLPOOL ba81fbdc1c7efa64be38c817a720e9b90e0ab92dff89fa86d0e3dd70ec17744eabf4d7f9831784907a763b595e6cd16c2d96d0ed4d0bf6e2fea64c722cec2963 +AUX 3.0.5-fix_ucast.patch 4343 SHA256 f8a755ee17145ae1be2e870efaefa01ef3b414a0c32206296471a8d64d5b46ca SHA512 9eac05636bd72be663ab51085310f23ff506290000a8227b24be0efdaa2fb88a7868a848063311af91c0c151e73792a1e9a0ad33ab565f117f339ed6c3241b62 WHIRLPOOL 8f545697b1bcc7707f3e6e78508d5e8b5c99c5d4ec8d784277a653b69f1afbfc2edfe13e3459a97707f7414e752e92550d465b6b68794970341a0d1779fbcdaf +AUX 3.0.6-configure.patch 2943 SHA256 49d089d9765a5c333e4b18ab3d069f5ee7504f282b507e716e0e5c6cdcf4e6f5 SHA512 408402dd41aaa2afd14c5bcfafade753e4f2ca34b7668cb9f29566c3a41cd231ed8ab6b29f9865177c10e820b177aa9a899cf5a2b98db78b267e2bfb8f1d03d6 WHIRLPOOL 3880ba45d61f13a37c212bb0959ef115992d01aaf19cb8cdf5cc96bc0b6574907e537cd6fee379bde19462c782e6ba1bf362bc63b5028bce98a881987bf06289 +AUX 3.0.6-docs.patch 1946 SHA256 11618fbce7ddcb8b4421c6cd7f50b99a61adf8243bd522b58003516f9b74de77 SHA512 e75f4b75a3340d0df9f81e3ef26a6212b2e6ed447f9f7b4a911f05eb6e383726164e7552e4b20d85874d3d3d7c82ce0aa176e886deab76a944e5d716e4a3a0a2 WHIRLPOOL df6c9c42a3b15004f01f248183ee2810bfb33bfacd5f8ffa5ceddb416038d4a51875d252ac0bff1b30144db3c4bc8d04ddd8c99cc237d6909f7fc757a81457dc +AUX heartbeat-init 1711 SHA256 fc0e4270b42d47712c7e9547d0b3e8753382e62d70356591271bccf28fbdec19 SHA512 2c91aea1a7fdcfd35a1b7e824fd7467f776f3f1e0d46b8b14a249f756ec6ac4b3ed379f291bc5c8075094bd386e06ca9e15279f136ae89be5c7551b1f20e208d WHIRLPOOL baf071d9bfaad9fb78d9b0cbf5a9b9e1e69f02517dcd37e0bbcc4981b5d192eef06bc348a3f1f8ea53343a9a61c34ebd4a93335153691d4b1d65c8836702a44f +DIST STABLE-3.0.5.tar.bz2 538986 SHA256 fc7b11f9e1f16bc853434208a1ce86803acf1d0fb6f43715209a84c1c34661c3 SHA512 e38083b87c56a72eb8925ac42adeabb92618608e92218a63960ec0d0bca264f92a8e9c3ebfb0589cc4538da1a82b268b5cc9ee5a51ed33057c969e694e16b27d WHIRLPOOL 699c2679c38f17aacbf230dd68203a8967748c086713ad8bf55688b1e8933caf117ec2a8d2be2ec19b0fa077eacaa1cceec0fea14d181510abb24644a486f6c4 +DIST STABLE-3.0.6.tar.bz2 532796 SHA256 1ab098e6fd22b5a3522b5f9a852ff41a3baff24e5c479801142dbce5f048f42b SHA512 c11fc2e333040b494e63cc0b55d7e5f7555850ba79d8ec6fea17960ec22ee210a81a63a6e486383b6d44d2532c0dc0d69dcffddf9354b7830771a7a532c33f33 WHIRLPOOL d72c74c48917daad202d196a5d0dfc8d80d1dc1f15aa112113d772d8e0c772061169e3f500d36427112720fb316efdbb92a02e897c8c1b8d8c5d7242f3de19b0 +EBUILD heartbeat-3.0.5-r3.ebuild 1860 SHA256 aa64610042d17ebd64dbbfc4fdb37b99d68aef472b263192f710254a0286c2e6 SHA512 9af6307d9cb2cff03944e8d50df61d5ba34b7266ce5d0ae9ddbc226c6136a4d6370c7738f181e2e28edec7f19c71488faa84e983924b4bcb72b288a1b70dcff7 WHIRLPOOL 13fb7543b1d484875593efa35d352f3870148e7fc991a7b64726bee7e1a2ea1852b5821280ae29c3468c2eca2b426b4f25ec4b2b80d461b03c8be4720ef9adbc +EBUILD heartbeat-3.0.6.ebuild 1820 SHA256 83b280655be9114e460a23b7d84604415c61255173a544064ade2c781d164650 SHA512 9624da9444c81816d314732cb72ef5073d93f89426968f9464a6f443c739f1370e505b76c24758b178a32431e5fa2c25e18474c9c37caee8b38790539c4083cd WHIRLPOOL 6b5932061b71e3159c1251af71a39c6808d882c953ea063e1dd82faca982de46754c6b6564478e51d6b33ecce40c7d2b27181d659d3a160688da007a69ef7872 +MISC ChangeLog 2751 SHA256 d27f8d18daad623347d0c374d2b7c0444253af400d5d9efd94b51ce269a81264 SHA512 2bff4b17366784c5eaff1c23890b2818a3ec72856116f00833e832f9b29a610816796fa662490707981e6f381308baac927e61bc0a1f9daea17fc7835b97c866 WHIRLPOOL a8fdfb38fefcbebdcdc37c1441c7d9ee7380d2de30448a6d422ad06d19a1658e6ab4c95964347df1ff3256118af58485b6d8282d8cfe7e55aece28fc586ecacc +MISC ChangeLog-2015 18107 SHA256 6943dcf6a540eb794aecacdaca747b8fb0f8e99f2d8068d09aba0eed39eb36eb SHA512 7c3cfb253741800e37c858fd89b91079220d88359ebee84abc388a74dacd0852731ee3df2b50bf6a4c2a67d902b6b3d02496a12e91b688f4a455f2b1d4f58c5e WHIRLPOOL 7e8b2f08ee9de369c42e00b0e11f68b13b4ca7b3e7e00917cc24af163ac1e90fd649228b4687e943c7944085cfb07752239e480c26fccab5e5d0d11783cd0bda +MISC metadata.xml 373 SHA256 ea66452195c635b5b4df7f5788abc2244498133bae769e7965879c0f1292f581 SHA512 8908e9983ffda4e1bbbd57b772834eb4d79b49193d354de7a336e42aa6eeaf4fae365298e28f074648d1f8681a20c69f86f512cb329f9ad1482dd030d9d38ef6 WHIRLPOOL f4d73d95ef249917818587f3bccdb0a78959d00658b915c0c0e398706ea340eed4d9ee50630807a63b73c34de89bd991971e85c489990bed376bd55d750aee42 diff --git a/sys-cluster/heartbeat/files/3.0.4-docs.patch b/sys-cluster/heartbeat/files/3.0.4-docs.patch new file mode 100644 index 000000000000..a558dd36f5a3 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.4-docs.patch @@ -0,0 +1,57 @@ +--- a/configure.in ++++ b/configure.in +@@ -505,8 +505,15 @@ + AC_PATH_PROGS(TEST, test) + AC_PATH_PROGS(PKGCONFIG, pkg-config) + +-dnl xsltproc is required for building the man pages +-AC_PATH_PROGS(XSLTPROC, xsltproc) ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build documentation] ++)) ++AS_IF([test "x$enable_doc" = "xyes"], [ ++ AC_PATH_PROGS(XSLTPROC, xsltproc) ++]) ++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] ) ++AC_SUBST(XSLTPROC) ++ + + dnl ************************************************************************ + dnl Check whether non-root user can chown. +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -33,11 +33,12 @@ + + doc_DATA = $(OTHER_DOCS) + ++if BUILD_DOC + man_MANS = heartbeat.8 apphbd.8 cl_status.1 \ + hb_standby.1 hb_takeover.1 hb_addnode.1 hb_delnode.1 \ + ha.cf.5 authkeys.5 + +-STYLESHEET_PREFIX ?= http://docbook.sourceforge.net/release/xsl/current ++STYLESHEET_PREFIX ?= /usr/share/sgml/docbook/xsl-stylesheets + MANPAGES_STYLESHEET ?= $(STYLESHEET_PREFIX)/manpages/docbook.xsl + HTML_STYLESHEET ?= $(STYLESHEET_PREFIX)/xhtml/docbook.xsl + FO_STYLESHEET ?= $(STYLESHEET_PREFIX)/fo/docbook.xsl +@@ -47,6 +48,12 @@ + XSLTPROC_HTML_OPTIONS ?= $(XSLTPROC_OPTIONS) + XSLTPROC_FO_OPTIONS ?= $(XSLTPROC_OPTIONS) + ++%.5 %.8 %.1: %.xml ++ $(XSLTPROC) \ ++ $(XSLTPROC_MANPAGES_OPTIONS) \ ++ $(MANPAGES_STYLESHEET) $< ++endif ++ + EXTRA_DIST = $(txtfiles) $(htmlfiles) $(man_MANS) $(OTHER_DOCS) + + ChangeLog: $(SPECSRC) +@@ -56,7 +63,3 @@ + .html.txt: + if [ "X$(HTML2TXT)" = "X" ]; then echo "Lynx or w3m or user-defined HTML2TXT required to convert $< to $@" >$@ ; else $(HTML2TXT) -dump $< >$@ ; fi + +-%.5 %.8 %.1: %.xml +- $(XSLTPROC) \ +- $(XSLTPROC_MANPAGES_OPTIONS) \ +- $(MANPAGES_STYLESHEET) $< diff --git a/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch b/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch new file mode 100644 index 000000000000..1df22b337c5a --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch @@ -0,0 +1,110 @@ +--- Heartbeat-3-0-STABLE-3.0.4/configure.in 2010-12-09 21:09:47.000000000 +0100 ++++ Heartbeat-3-0-STABLE-3.0.4/configure.in 2010-12-28 17:37:45.080773140 +0100 +@@ -243,9 +243,9 @@ + mandir=`var "$mandir" "$exec_prefix/man"` + dnl docdir is available in autoconf 2.60+, for older versions preseed + dnl with the same value that 2.60+ uses +-docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"` +-libdir=`var "$libdir" "$exec_prefix/lib"` +-libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` ++dnl docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"` ++dnl libdir=`var "$libdir" "$exec_prefix/lib"` ++dnl libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` + noarchlibdir=`var "$noarchlibdir" "$prefix/lib"` + + +@@ -284,59 +284,11 @@ + LIBC=`${LDD} ${tmpOutfile} | grep libc | sed -e 's%.*=> *%%' -e 's% .*$%%'` + LibCdir=`dirname $LIBC` + dirlist=`echo $LibCdir | tr '/' ' '` +- LibDirSuffix=unknown +- for dir in $dirlist +- do +- case $dir in +- *lib*) LibDirSuffix=$dir; break;; +- *);; +- esac +- done +- case $LibDirSuffix in +- unknown) LibDirSuffix=`basename $LibCdir`;; +- esac + OutFileType=`file $tmpOutfile` + rm -f $tmpCfile $tmpOutfile + else + AC_MSG_ERROR([Cannot Compile trivial C program]) + fi +-# +-# The code above doesn't work right everywhere +-# (like Fedora and OpenBSD) +-# +-case ${LibDirSuffix} in +- *lib*) : Cool;; +- *) : Sigh... +- case $OutFileType in +- *64-bit*) +- case $host_os in +- openbsd*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib64;; +- esac;; +- *32-bit*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib;; +- esac;; +-esac +-# +-# This may not yet be quite right for PPC where the default +-# is to produce 32-bit binaries, even though the OS is 64-bit +-# or for that matter for system Z, But, it's a lot better than +-# it used to be. +-# +-AC_MSG_RESULT($LibDirSuffix) +- +-case $libdir in +- */*${LibDirSuffix}) : Cool ;; +- *) : Uh Oh... +- libdir=`dirname $libdir`/$LibDirSuffix +- AC_MSG_WARN([Overriding libdir to: $libdir]);; +-esac +-case $libexecdir in +- */$LibDirSuffix) : Cool ;; +- *) : Uh Oh... +- libexecdir=`dirname $libexecdir`/$LibDirSuffix +- AC_MSG_WARN([Overriding libexecdir to: $libexecdir]);; +-esac + + for j in exec_prefix bindir sbindir datadir sysconfdir localstatedir \ + includedir oldincludedir mandir docdir stdocdir libdir noarchlibdir +@@ -386,7 +338,6 @@ + fi + + AC_CHECK_HEADERS(heartbeat/glue_config.h) +-GLUE_HEADER=none + if test "$ac_cv_header_heartbeat_glue_config_h" = "yes"; then + GLUE_HEADER=heartbeat/glue_config.h + else +@@ -453,15 +404,6 @@ + + dnl We use this in the RPM specfile... + AC_SUBST(ac_configure_args) +-cleaned_configure_args="" +-for j in ${ac_configure_args} +-do +- case $j in +- *--libdir=*|*--libexecdir=*) ;; +- *) cleaned_configure_args="$cleaned_configure_args $j";; +- esac +-done +-AC_SUBST(cleaned_configure_args) + + dnl ************************************************************************* + PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin" +--- Heartbeat-3-0-STABLE-3.0.5/configure.in 2011-12-28 11:51:05.601673071 +0100 ++++ Heartbeat-3-0-STABLE-3.0.5/configure.in 2011-12-28 11:54:34.223094385 +0100 +@@ -2002,7 +2002,7 @@ + fi + + if test "$GCC" = yes; then +- CFLAGS="$CFLAGS -ggdb3" ++ CFLAGS="$CFLAGS" + if + cc_supports_flag -funsigned-char + then diff --git a/sys-cluster/heartbeat/files/3.0.4-python_tests.patch b/sys-cluster/heartbeat/files/3.0.4-python_tests.patch new file mode 100644 index 000000000000..e6e1071573a9 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.4-python_tests.patch @@ -0,0 +1,29 @@ +--- a/cts/Makefile.am ++++ b/cts/Makefile.am +@@ -21,7 +21,7 @@ + + ctsdir = @HA_NOARCHDATAHBDIR@/cts + +-cts_PYTHON = \ ++cts_SCRIPTS = \ + CM_fs.py \ + CM_hb.py \ + CM_LinuxHAv2.py \ +@@ -32,14 +32,12 @@ + extracttests.py \ + getpeinputs.sh \ + OCFIPraTest.py \ +- CIB.py ++ CIB.py \ ++ CTSproxy.py \ ++ LSBDummy + + cts_DATA = README + +-cts_SCRIPTS = \ +- CTSproxy.py \ +- getpeinputs.sh \ +- LSBDummy + + all-local: $(cts_PYTHON) + diff --git a/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch new file mode 100644 index 000000000000..3bec9c89dd86 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch @@ -0,0 +1,145 @@ + +# HG changeset patch +# User Lars Ellenberg <lars@linbit.com> +# Date 1392200751 -3600 +# Node ID 37f57a36a2dd1abf8461a9b758e62f6fe7a22f77 +# Parent 6d4324633600dc7ae7aa08c56d86c2fcc767977f +Medium: fix usage of SO_REUSEPORT in ucast sockets + +Linux learned SO_REUSEPORT only with kernel 3.9, +but some linux headers already define SO_REUSEPORT. +Which, on older kernels, will result in ENOPROTOOPT, +"Protocol not available". + +Failure to set SO_REUSEPORT is NOT critical in general. +It *may* be a problem on certain BSDs, +with more than two nodes, all using ucast. + +Refusing to start because of failure to set SO_REUSEPORT is +not helpful for the vast majority of the clusters out there. + +While at it, downgrade "critical" log messages to warnings +in non-fatal situations. + +--- a/lib/plugins/HBcomm/ucast.c ++++ b/lib/plugins/HBcomm/ucast.c +@@ -461,12 +461,6 @@ static int HB_make_send_sock(struct hb_m + int sockfd; + struct ip_private *ei; + int tos; +-#if defined(SO_BINDTODEVICE) +- struct ifreq i; +-#endif +-#if defined(SO_REUSEPORT) +- int i = 1; +-#endif + + UCASTASSERT(mp); + ei = (struct ip_private*)mp->pd; +@@ -494,6 +488,7 @@ static int HB_make_send_sock(struct hb_m + + #if defined(SO_BINDTODEVICE) + { ++ struct ifreq i; + /* + * We want to send out this particular interface + * +@@ -515,12 +510,13 @@ static int HB_make_send_sock(struct hb_m + #endif + #if defined(SO_REUSEPORT) + { ++ int one = 1; + /* this is for OpenBSD to allow multiple * + * ucast connections, e.g. a more than * + * two node cluster */ + + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, +- &i, sizeof(i)) == -1) { ++ &one, sizeof(one)) == -1) { + PILCallLog(LOG, PIL_CRIT, + "ucast: error setting option SO_REUSEPORT(w): %s", strerror(errno)); + close(sockfd); +@@ -548,7 +544,7 @@ static int HB_make_receive_sock(struct h + int sockfd; + int bindtries; + int boundyet = 0; +- int j; ++ int one = 1; + + UCASTASSERT(mp); + ei = (struct ip_private*)mp->pd; +@@ -563,22 +559,19 @@ static int HB_make_receive_sock(struct h + strerror(errno)); + return -1; + } +- /* +- * Set SO_REUSEADDR on the server socket s. Variable j is used +- * as a scratch varable. +- * +- * 16th February 2000 +- * Added by Horms <horms@vergenet.net> +- * with thanks to Clinton Work <work@scripty.com> +- */ +- j = 1; ++ /* ++ * Set SO_REUSEADDR on the server socket s. ++ * Below, also try to set SO_REUSEPORT, ++ * if known and supported. ++ */ + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, +- (void *)&j, sizeof j) < 0) { ++ &one, sizeof(one)) < 0) { + /* Ignore it. It will almost always be OK anyway. */ +- PILCallLog(LOG, PIL_CRIT, ++ PILCallLog(LOG, PIL_WARN, + "ucast: error setting socket option SO_REUSEADDR: %s", + strerror(errno)); +- } ++ } else ++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEADDR"); + #if defined(SO_BINDTODEVICE) + { + /* +@@ -600,20 +593,32 @@ static int HB_make_receive_sock(struct h + } + #endif + #if defined(SO_REUSEPORT) +- { ++ /* ++ * Needed for OpenBSD for more than two nodes in a ucast cluster ++ */ ++ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, ++ &one, sizeof(one)) == -1) { + /* +- * Needed for OpenBSD for more than two nodes in a ucast cluster ++ * Linux learned SO_REUSEPORT only with kernel 3.9, ++ * but some linux headers already define SO_REUSEPORT. ++ * Which will result in ENOPROTOOPT, "Protocol not available" ++ * on older kernels. ++ * Failure to set SO_REUSEPORT is NOT critical in general. ++ * It *may* be a problem on certain BSDs with more than ++ * two nodes all using ucast. ++ * Refusing to start because of failure to set SO_REUSEPORT is ++ * not helpful for the vast majority of the clusters out there. + */ +- int i = 1; +- if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, +- &i, sizeof(i)) == -1) { ++ if (errno == ENOPROTOOPT) { ++ PILCallLog(LOG, PIL_WARN, ++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno)); ++ } else { + PILCallLog(LOG, PIL_CRIT, +- "ucast: error setting option SO_REUSEPORT(r) %s", strerror(errno)); +- close(sockfd); ++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno)); + return -1; + } +- PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT(w)"); +- } ++ } else ++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT"); + #endif + + /* Try binding a few times before giving up */ + diff --git a/sys-cluster/heartbeat/files/3.0.6-configure.patch b/sys-cluster/heartbeat/files/3.0.6-configure.patch new file mode 100644 index 000000000000..36054dd23d3b --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.6-configure.patch @@ -0,0 +1,103 @@ +diff -ru a/configure.ac b/configure.ac +--- a/configure.ac 2015-02-04 15:57:04.000000000 +0100 ++++ b/configure.ac 2017-04-25 13:33:58.668521006 +0200 +@@ -243,9 +243,9 @@ + mandir=`var "$mandir" "$exec_prefix/man"` + dnl docdir is available in autoconf 2.60+, for older versions preseed + dnl with the same value that 2.60+ uses +-docdir=`var "$docdir" "${datadir}/doc/${HB_PKG}"` +-libdir=`var "$libdir" "$exec_prefix/lib"` +-libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` ++dnl docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"` ++dnl libdir=`var "$libdir" "$exec_prefix/lib"` ++dnl libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` + noarchlibdir=`var "$noarchlibdir" "$prefix/lib"` + + +@@ -284,53 +284,12 @@ + LIBC=`${LDD} ${tmpOutfile} | grep libc | sed -e 's%.*=> *%%' -e 's% .*$%%'` + LibCdir=`dirname $LIBC` + dirlist=`echo $LibCdir | tr '/' ' '` +- LibDirSuffix=unknown +- for dir in $dirlist +- do +- case $dir in +- *lib*) LibDirSuffix=$dir; break;; +- *);; +- esac +- done +- case $LibDirSuffix in +- unknown) LibDirSuffix=`basename $LibCdir`;; +- esac + OutFileType=`file $tmpOutfile` + rm -f $tmpCfile $tmpOutfile + else + AC_MSG_ERROR([Cannot Compile trivial C program]) + fi +-# +-# The code above doesn't work right everywhere +-# (like Fedora and OpenBSD) +-# +-case ${LibDirSuffix} in +- *lib*) : Cool;; +- *) : Sigh... +- case $OutFileType in +- *64-bit*) +- case $host_os in +- openbsd*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib64;; +- esac;; +- *32-bit*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib;; +- esac;; +-esac +-# +-# This may not yet be quite right for PPC where the default +-# is to produce 32-bit binaries, even though the OS is 64-bit +-# or for that matter for system Z, But, it's a lot better than +-# it used to be. +-# +-AC_MSG_RESULT($LibDirSuffix) + +-case $libdir in +- */*${LibDirSuffix}) : Cool ;; +- *) : Uh Oh... +- libdir=`dirname $libdir`/$LibDirSuffix +- AC_MSG_WARN([Overriding libdir to: $libdir]);; +-esac + for j in exec_prefix bindir sbindir datadir sysconfdir localstatedir \ + includedir oldincludedir mandir docdir stdocdir libdir noarchlibdir + do +@@ -379,7 +338,6 @@ + fi + + AC_CHECK_HEADERS(heartbeat/glue_config.h) +-GLUE_HEADER=none + if test "$ac_cv_header_heartbeat_glue_config_h" = "yes"; then + GLUE_HEADER=heartbeat/glue_config.h + else +@@ -463,15 +421,6 @@ + + dnl We use this in the RPM specfile... + AC_SUBST(ac_configure_args) +-cleaned_configure_args="" +-for j in ${ac_configure_args} +-do +- case $j in +- *--libdir=*|*--libexecdir=*) ;; +- *) cleaned_configure_args="$cleaned_configure_args $j";; +- esac +-done +-AC_SUBST(cleaned_configure_args) + + dnl ************************************************************************* + PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin" +@@ -2087,7 +2036,7 @@ + fi + + if test "$GCC" = yes; then +- CFLAGS="$CFLAGS -ggdb3" ++ CFLAGS="$CFLAGS" + if + cc_supports_flag -funsigned-char + then diff --git a/sys-cluster/heartbeat/files/3.0.6-docs.patch b/sys-cluster/heartbeat/files/3.0.6-docs.patch new file mode 100644 index 000000000000..7c5c9573109f --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.6-docs.patch @@ -0,0 +1,59 @@ +diff -ru a/configure.ac b/configure.ac +--- a/configure.ac 2015-02-04 15:57:04.000000000 +0100 ++++ b/configure.ac 2017-04-25 11:57:33.706753890 +0200 +@@ -574,8 +574,14 @@ + AC_PATH_PROGS(TEST, test) + PKG_PROG_PKG_CONFIG + +-dnl xsltproc is required for building the man pages +-AC_PATH_PROGS(XSLTPROC, xsltproc) ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build documentation] ++)) ++AS_IF([test "x$enable_doc" = "xyes"], [ ++ AC_PATH_PROGS(XSLTPROC, xsltproc) ++]) ++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] ) ++AC_SUBST(XSLTPROC) + + dnl ************************************************************************ + dnl Check whether non-root user can chown. +diff -ru a/doc/Makefile.am b/doc/Makefile.am +--- a/doc/Makefile.am 2015-02-04 15:57:04.000000000 +0100 ++++ b/doc/Makefile.am 2017-04-25 11:58:35.459257834 +0200 +@@ -33,11 +33,12 @@ + + doc_DATA = $(OTHER_DOCS) + ++if BUILD_DOC + man_MANS = heartbeat.8 apphbd.8 cl_status.1 \ + hb_standby.1 hb_takeover.1 hb_addnode.1 hb_delnode.1 \ + ha.cf.5 authkeys.5 + +-STYLESHEET_PREFIX ?= http://docbook.sourceforge.net/release/xsl/current ++STYLESHEET_PREFIX ?= /usr/share/sgml/docbook/xsl-stylesheets + MANPAGES_STYLESHEET ?= $(STYLESHEET_PREFIX)/manpages/docbook.xsl + HTML_STYLESHEET ?= $(STYLESHEET_PREFIX)/xhtml/docbook.xsl + FO_STYLESHEET ?= $(STYLESHEET_PREFIX)/fo/docbook.xsl +@@ -47,6 +48,12 @@ + XSLTPROC_HTML_OPTIONS ?= $(XSLTPROC_OPTIONS) + XSLTPROC_FO_OPTIONS ?= $(XSLTPROC_OPTIONS) + ++%.5 %.8 %.1: %.xml ++ $(XSLTPROC) \ ++ $(XSLTPROC_MANPAGES_OPTIONS) \ ++ $(MANPAGES_STYLESHEET) $< ++endif ++ + EXTRA_DIST = $(txtfiles) $(htmlfiles) $(man_MANS) $(OTHER_DOCS) + + ChangeLog: $(SPECSRC) +@@ -55,8 +62,3 @@ + + .html.txt: + if [ "X$(HTML2TXT)" = "X" ]; then echo "Lynx or w3m or user-defined HTML2TXT required to convert $< to $@" >$@ ; else $(HTML2TXT) -dump $< >$@ ; fi +- +-%.5 %.8 %.1: %.xml +- $(XSLTPROC) \ +- $(XSLTPROC_MANPAGES_OPTIONS) \ +- $(MANPAGES_STYLESHEET) $< diff --git a/sys-cluster/heartbeat/files/heartbeat-init b/sys-cluster/heartbeat/files/heartbeat-init new file mode 100644 index 000000000000..9316fcc81e8f --- /dev/null +++ b/sys-cluster/heartbeat/files/heartbeat-init @@ -0,0 +1,92 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +HA_DIR=/etc/ha.d +. $HA_DIR/shellfuncs + +depend() { + use logger + need net +} + +opts="start stop status reload restart" + +CheckBool() { + case `echo "$1" | tr A-Z a-z` in + y|yes|enable|on|true|1) true;; + *) false;; + esac +} + +# Run pre-startup script if it exists +RunStartStop() { + [ -f $HA_DIR/resource.d/startstop ] && $HA_DIR/resource.d/startstop "$@" +} + +start() { + checkpath -q -d -m 0755 -o root:root /var/run/heartbeat + + ebegin "Starting heartbeat" + + . $HA_DIR/shellfuncs + + # start the log subsystem + CheckBool "`ha_parameter use_logd`" && \ + ( /usr/lib/heartbeat/ha_logd -s &>/dev/null || \ + /usr/lib/heartbeat/ha_logd -d -c /etc/ha.d/ha_logd.cf) + + RunStartStop pre-start + + CheckBool "`ha_parameter crm`" || \ + /usr/lib/heartbeat/ResourceManager verifyallidle + + /usr/lib/heartbeat/heartbeat &>/dev/null + ret=$? + + RunStartStop post-start + + eend ${ret} +} + +stop() { + ebegin "Stopping heartbeat" + + RunStartStop pre-stop + + /usr/lib/heartbeat/heartbeat -k &>/dev/null + ret=$? + + RunStartStop post-stop ${ret} + + # stop log subsystem + CheckBool "`ha_parameter use_logd`" && \ + ( /usr/lib/heartbeat/ha_logd -s &>/dev/null && \ + /usr/lib/heartbeat/ha_logd -k &>/dev/null ) + + eend ${ret} +} + +status() { + /usr/lib/heartbeat/heartbeat -s +} + +reload() { + ebegin "Reloading heartbeat" + /usr/lib/heartbeat/heartbeat -r &>/dev/null + eend $? +} + +restart() { + . $HA_DIR/shellfuncs + + sleeptime=$(( `ha_parameter deadtime` + 10 )) + + svc_stop + + ebegin " waiting ${sleeptime}s to allow resource takeover to complete" + sleep ${sleeptime} + eend 0 + + svc_start +} diff --git a/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild new file mode 100644 index 000000000000..20aadc77cebf --- /dev/null +++ b/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +inherit autotools python-single-r1 + +DESCRIPTION="Heartbeat high availability cluster manager" +HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat" +SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="doc snmp static-libs" + +RDEPEND="sys-cluster/cluster-glue + dev-libs/glib:2 + virtual/ssh + net-libs/gnutls + snmp? ( net-analyzer/net-snmp ) + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-lang/swig + doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )" + +PDEPEND="sys-cluster/resource-agents" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV} + +PATCHES=( + "${FILESDIR}/3.0.4-fix_configure.patch" + "${FILESDIR}/3.0.4-docs.patch" + "${FILESDIR}/3.0.4-python_tests.patch" + "${FILESDIR}/3.0.5-fix_ucast.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup + + ewarn "If you're upgrading from heartbeat-2.x please follow:" + ewarn "https://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml" +} + +src_prepare() { + default + eautoreconf + + cp "${FILESDIR}"/heartbeat-init "${WORKDIR}" || die + sed -i \ + -e "/ResourceManager/ s/lib/share/" \ + -e "s:lib:$(get_libdir):g" \ + "${WORKDIR}"/heartbeat-init || die +} + +src_configure() { + econf \ + --disable-fatal-warnings \ + $(use_enable static-libs static) \ + $(use_enable doc) \ + --disable-tipc \ + --enable-dopd \ + $(use_enable snmp) +} + +src_install() { + default + + newinitd "${WORKDIR}/heartbeat-init" heartbeat + + # fix collisions + rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h || die + + if ! use static-libs; then + find "${D}" -name "*.la" -delete || die + fi + + if use doc ; then + dodoc README doc/*.txt doc/AUTHORS || die + fi +} diff --git a/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild new file mode 100644 index 000000000000..87b148818ad4 --- /dev/null +++ b/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools python-single-r1 + +DESCRIPTION="Heartbeat high availability cluster manager" +HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat" +SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc snmp static-libs" + +RDEPEND="sys-cluster/cluster-glue + dev-libs/glib:2 + virtual/ssh + net-libs/gnutls + snmp? ( net-analyzer/net-snmp ) + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-lang/swig + doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )" + +PDEPEND="sys-cluster/resource-agents" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV} + +PATCHES=( + "${FILESDIR}/3.0.6-configure.patch" + "${FILESDIR}/3.0.6-docs.patch" + "${FILESDIR}/3.0.4-python_tests.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup + + ewarn "If you're upgrading from heartbeat-2.x please follow:" + ewarn "https://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml" +} + +src_prepare() { + default + eautoreconf + + cp "${FILESDIR}"/heartbeat-init "${WORKDIR}" || die + sed -i \ + -e "/ResourceManager/ s/lib/share/" \ + -e "s:lib:$(get_libdir):g" \ + "${WORKDIR}"/heartbeat-init || die +} + +src_configure() { + econf \ + --disable-fatal-warnings \ + $(use_enable static-libs static) \ + $(use_enable doc) \ + --disable-tipc \ + --enable-dopd \ + $(use_enable snmp) +} + +src_install() { + default + + newinitd "${WORKDIR}/heartbeat-init" heartbeat + + # fix collisions + rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h || die + + if ! use static-libs; then + find "${D}" -name "*.la" -delete || die + fi + + if use doc ; then + dodoc README doc/*.txt doc/AUTHORS || die + fi +} diff --git a/sys-cluster/heartbeat/metadata.xml b/sys-cluster/heartbeat/metadata.xml new file mode 100644 index 000000000000..5b089a69229f --- /dev/null +++ b/sys-cluster/heartbeat/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + + <longdescription> + Heartbeat is a cluster manager to handle failover of 2 nodes. + </longdescription> +</pkgmetadata> |