diff options
author | 2014-07-30 06:26:12 +0000 | |
---|---|---|
committer | 2014-07-30 06:26:12 +0000 | |
commit | 5d5122dc8d390522e9ebccf0169e1e9b48a9bc77 (patch) | |
tree | d4f6860bbda0cc54fae83323020a95c21899cb28 /sys-cluster | |
parent | old (diff) | |
download | historical-5d5122dc8d390522e9ebccf0169e1e9b48a9bc77.tar.gz historical-5d5122dc8d390522e9ebccf0169e1e9b48a9bc77.tar.bz2 historical-5d5122dc8d390522e9ebccf0169e1e9b48a9bc77.zip |
Bring MariaDB-Galera from the overlay into the tree. Thanks to the great work of Brian Evans <grknight@gentoo.org>.
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/galera/ChangeLog | 11 | ||||
-rw-r--r-- | sys-cluster/galera/Manifest | 8 | ||||
-rw-r--r-- | sys-cluster/galera/files/disable-tests.patch | 80 | ||||
-rw-r--r-- | sys-cluster/galera/files/garb.cnf | 17 | ||||
-rw-r--r-- | sys-cluster/galera/files/garb.sh | 63 | ||||
-rw-r--r-- | sys-cluster/galera/files/respect-flags.patch | 35 | ||||
-rw-r--r-- | sys-cluster/galera/galera-25.3.5.ebuild | 87 | ||||
-rw-r--r-- | sys-cluster/galera/metadata.xml | 8 |
8 files changed, 309 insertions, 0 deletions
diff --git a/sys-cluster/galera/ChangeLog b/sys-cluster/galera/ChangeLog new file mode 100644 index 000000000000..c299b5b013db --- /dev/null +++ b/sys-cluster/galera/ChangeLog @@ -0,0 +1,11 @@ +# ChangeLog for sys-cluster/galera +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/galera/ChangeLog,v 1.1 2014/07/30 06:26:05 robbat2 Exp $ + +*galera-25.3.5 (30 Jul 2014) + + 30 Jul 2014; Robin H. Johnson <robbat2@gentoo.org> +files/disable-tests.patch, + +files/garb.cnf, +files/garb.sh, +files/respect-flags.patch, + +galera-25.3.5.ebuild, +metadata.xml: + Bring MariaDB-Galera from the overlay into the tree. Thanks to the great work + of Brian Evans <grknight@gentoo.org>. diff --git a/sys-cluster/galera/Manifest b/sys-cluster/galera/Manifest new file mode 100644 index 000000000000..a47714489c8b --- /dev/null +++ b/sys-cluster/galera/Manifest @@ -0,0 +1,8 @@ +AUX disable-tests.patch 2703 SHA256 80da2484a51c7ff6f9a1ccd37481c006d87fb1e0964600a132d6a72fc3eba6fa SHA512 6ae782e9ab346c77be434c285d3bb291cc3056b0180c4b8987ab8356e793999e4efb40b9e516a01f3fe2486fcc63339fc6a6b6ba7ea470b65cf408c1c3098e9b WHIRLPOOL 9e5702fe21e13e91a43b61708c35b491c33a048277d390f86c34e80c22652b6d61fd8fc5058db6a136195cfdb1ae1717f753cfe9ea6c3b889702385f41d1cee4 +AUX garb.cnf 526 SHA256 5fdf48f4a908c1b4cd680dc607ec6fee11ae098893bd66fd8a18ed11dab958ea SHA512 e7ca11b169074e70d62a49f9b494f502ebe051f543ef5bd5e24ded6dc1ba7080f2d9813de7ba870783290a67f1e01dc8a57902d9f90544e7470c42947a383689 WHIRLPOOL 8a1e0db0c49ac863a1055933bbbe105522282b7d887834db471fcadb5ce384a5896aa844d0580ed26fb7bec3f3f20967cbd385bc902551decfbad3d9bda6cde5 +AUX garb.sh 1336 SHA256 0d1cf49d9d33e816a9d2caf215a98068a91f65591ae510868814c2a1c1b227f2 SHA512 3aded833797857e3421f796ddc40cad444e588be74c38afda8943226ba1510e16b432e610012fa302ff31a14db9ce408ba8e7fced804e6ab68041ac10228205a WHIRLPOOL 08e7cfa4522f23589e825f827c0c6be689ab537b7ccbc9aadb87278f87ffe28605dbef40364d49f997019c1de4e570aaecf1d83a16ab6b1fc33d0041a27c4ecd +AUX respect-flags.patch 1210 SHA256 3c0463df1ae23d219bd411f08a238f2eabb31f29ed8c97bdc4433b7031942dc8 SHA512 73a9284d8da412f822ec2a57811c1785a5057d10f647184ead9ae6eb4469d0bd0efada3f53b1ce40700d4f161bae05761abf7800ffce8c91f0e8fbda571cfde7 WHIRLPOOL 5a23ad3dc3710987ff22deb5cebee93220b821fb0700bfd5626c836be1001d907f9bfb376ad659afa74426ff59e6d80f0aafac344001c12180afc4ff2d03d199 +DIST galera-25.3.5-src.tar.gz 3820268 SHA256 9e6d718bac9608c69cbfc0662963b29c13659c576aaa8469b6a325d75603f7a3 SHA512 34bd01c46b080219106e140a7ff011c39ce2c9afaf6b8205daca91347ac3979a3af61bcddaf9c5cc63748b19236a2e4efa88532760b347fefa38e037f90b0995 WHIRLPOOL 055a59cc3631ccb0501c2ce4c5812ae0e001104254a97540f78a3f8feaed94b85bd82ecc3e1e4a3c2e477ab6f02d638dc8e8ea1471b8a63ca603f3a9ecd6403d +EBUILD galera-25.3.5.ebuild 1851 SHA256 04f18bef3aef3b06adeba994c33b642b5506d924a1d2267c9a03dba11f28bc07 SHA512 0c7ac410bd0090b2dc57261ddca653ec6191fc53af2317e645bf6df7958d1fbe66546de17e11eb7591dfa44934bfa98ba45a5b309818b79bf9e67193e3dfa2de WHIRLPOOL 761e19b37312a73a998d0b42c812641528846d982939acddbdcd342c8177f86ff63c75eb928b6b86ea6600b157f2d2e474e0a88d5d58e44bc8ce034295d12dc3 +MISC ChangeLog 544 SHA256 f6cda15a2d2669e6fe46efe3f87259439727f784bad50c6ccc8443af22ab6c5a SHA512 8ee0f8b73b6223e2494addbc4a4d734a491bff51ff230eb6cfe4941aec0d9e6a6aa128871f1ee5ec7382077a518ff6179b23644c75b37bfa2d55b8d4816374dd WHIRLPOOL d00919c1e40273eaf403d21f18d9da6f43c2c9b6127dd10c1937cba039674065af8fcadcd7ebe8acd7a128e22bf12ab7b08939170c2402acf71d217e058099b1 +MISC metadata.xml 287 SHA256 a721bbdc105190e59b893dd6045954be5335317a3cb3ee04ade10ae84e91ed66 SHA512 b948f84f81ab15a82c332c9daecd73da57f7029c09a1779475dbd08667f90932ffb05507756d2daa7035dd949979f0233ddc15a68ccce01f05ad4fc57028d582 WHIRLPOOL 4a7f7eef9bf626325e0690d772b16e8816db42cac95f4df19e6ccde55beb36671246ea9e8878b904ce93b336f2d235a56d1df795bd059161694ac67f86193da7 diff --git a/sys-cluster/galera/files/disable-tests.patch b/sys-cluster/galera/files/disable-tests.patch new file mode 100644 index 000000000000..b82294b32241 --- /dev/null +++ b/sys-cluster/galera/files/disable-tests.patch @@ -0,0 +1,80 @@ +diff -aurN a/galera/SConscript b/galera/SConscript +--- a/galera/SConscript 2013-03-11 02:44:50.000000000 -0400 ++++ b/galera/SConscript 2013-05-13 13:13:20.851827437 -0400 +@@ -1,2 +1,2 @@ + +-SConscript(['src/SConscript', 'tests/SConscript']) ++SConscript(['src/SConscript']) +diff -aurN a/galerautils/SConscript b/galerautils/SConscript +--- a/galerautils/SConscript 2013-03-11 02:44:50.000000000 -0400 ++++ b/galerautils/SConscript 2013-05-13 13:15:37.010071765 -0400 +@@ -1,3 +1,3 @@ + # SConscript for building galerautils + +-SConscript(Split('''src/SConscript tests/SConscript''')) ++SConscript(Split('''src/SConscript''')) +diff -aurN a/gcache/SConscript b/gcache/SConscript +--- a/gcache/SConscript 2013-03-11 02:44:50.000000000 -0400 ++++ b/gcache/SConscript 2013-05-13 13:15:55.179837389 -0400 +@@ -1,3 +1,3 @@ + # SConscript for building galerautils + +-SConscript(Split('''src/SConscript tests/SConscript''')) ++SConscript(Split('''src/SConscript''')) +diff -aurN a/gcomm/SConscript b/gcomm/SConscript +--- a/gcomm/SConscript 2013-03-11 02:44:50.000000000 -0400 ++++ b/gcomm/SConscript 2013-05-13 13:16:08.979659369 -0400 +@@ -1,3 +1,3 @@ + # SCons build script for building gcomm + +-SConscript(Split('''src/SConscript test/SConscript''')) ++SConscript(Split('''src/SConscript''')) +diff -aurN a/gcs/src/SConscript b/gcs/src/SConscript +--- a/gcs/src/SConscript 2013-03-11 02:44:50.000000000 -0400 ++++ b/gcs/src/SConscript 2013-05-13 13:12:53.122184848 -0400 +@@ -46,8 +46,6 @@ + source = 'gcs_test.c', + LINK = libgcs_env['CXX']) + +-SConscript('unit_tests/SConscript') +- + # + env.Append(LIBGALERA_OBJS = libgcs_env.SharedObject(libgcs_sources)) + +diff -aurN a/SConstruct b/SConstruct +--- a/SConstruct 2013-03-11 02:44:50.000000000 -0400 ++++ b/SConstruct 2013-05-13 13:11:03.493597370 -0400 +@@ -305,20 +305,6 @@ + # Clone base from default environment + check_env = env.Clone() + +-conf = Configure(check_env) +- +-# Check header and library +- +-if not conf.CheckHeader('check.h'): +- print 'Error: check header file not found or not usable' +- Exit(1) +- +-if not conf.CheckLib('check'): +- print 'Error: check library not found or not usable' +- Exit(1) +- +-conf.Finish() +- + # Note: Don't do this, glibc does not like static linking + # Link unit tests statically + # check_env.Append(LINKFLAGS = ' -static') +@@ -328,11 +314,7 @@ + # + + def builder_unit_test(target, source, env): +- app = str(source[0].abspath) +- if os.spawnl(os.P_WAIT, app, app)==0: +- open(str(target[0]),'w').write("PASSED\n") +- else: +- return 1 ++ print("Disabled\n") + # Create a builder for tests + bld = Builder(action = builder_unit_test) + check_env.Append(BUILDERS = {'Test' : bld}) diff --git a/sys-cluster/galera/files/garb.cnf b/sys-cluster/galera/files/garb.cnf new file mode 100644 index 000000000000..4f0047a02c25 --- /dev/null +++ b/sys-cluster/galera/files/garb.cnf @@ -0,0 +1,17 @@ +# Copyright (C) 2012 Coedership Oy +# This config file is to be sourced by garbd service script. + +# A space-separated list of node addresses (address[:port]) in the cluster +# GALERA_NODES="" + +# Galera cluster name, should be the same as on the rest of the nodes. +# GALERA_GROUP="" + +# Optional Galera internal options string (e.g. SSL settings) +# see http://www.codership.com/wiki/doku.php?id=galera_parameters +# GALERA_OPTIONS="" + +# Log file for garbd. Optional, by default logs to syslog +# LOG_FILE="" + +PIDFILE=/var/run/garbd diff --git a/sys-cluster/galera/files/garb.sh b/sys-cluster/galera/files/garb.sh new file mode 100644 index 000000000000..e5538bcb4269 --- /dev/null +++ b/sys-cluster/galera/files/garb.sh @@ -0,0 +1,63 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net + after mysql +} + +start() { + ebegin "Starting ${SVCNAME}" + + if [ -z "${GALERA_NODES}" ]; then + eerror "List of GALERA_NODES is not configured" + return 1 + fi + + if [ -z "${GALERA_GROUP}" ]; then + eerror "GALERA_GROUP name is not configured" + return 1 + fi + + GALERA_PORT="${GALERA_PORT:-4567}" + + for ADDRESS in ${GALERA_NODES} 0; do + HOST=$(echo $ADDRESS | cut -d \: -f 1 ) + PORT=$(echo $ADDRESS | cut -d \: -f 2 ) + if [[ "${HOST}" == "${PORT}" ]]; then + PORT=${GALERA_PORT} + fi + PORT=${PORT:-$GALERA_PORT} + nc -z ${HOST} ${PORT} > /dev/null && break + done + if [ ${ADDRESS} == "0" ]; then + eerror "None of the nodes in GALERA_NODES is accessible" + return 1 + fi + + OPTIONS="-a gcomm://${ADDRESS} -g ${GALERA_GROUP}" + [ -n "${GALERA_OPTIONS}" ] && OPTIONS="${OPTIONS} -o ${GALERA_OPTIONS}" + [ -n "${LOG_FILE}" ] && OPTIONS="${OPTIONS} -l ${LOG_FILE}" + + start-stop-daemon \ + --start \ + --exec /usr/bin/garbd \ + --pidfile "${PIDFILE}" \ + --make-pidfile \ + --user garbd \ + --group garbd \ + --background \ + -- ${OPTIONS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon \ + --stop \ + --exec /usr/bin/garbd \ + --pidfile "${PIDFILE}" + eend $? +} + diff --git a/sys-cluster/galera/files/respect-flags.patch b/sys-cluster/galera/files/respect-flags.patch new file mode 100644 index 000000000000..d7e5f37817ef --- /dev/null +++ b/sys-cluster/galera/files/respect-flags.patch @@ -0,0 +1,35 @@ +--- a/SConstruct 2014-03-07 14:27:26.797904671 -0500 ++++ b/SConstruct 2014-03-07 14:31:18.672478115 -0500 +@@ -49,7 +49,7 @@ + build_target = 'all' + + # Optimization level +-opt_flags = ' -g -O3 -DNDEBUG' ++opt_flags = ' -DNDEBUG' + + # Architecture (defaults to build host type) + compile_arch = '' +@@ -214,12 +214,12 @@ + ' -Wall -Wextra -Wno-unused-parameter') + + # C-specific flags +-env.Replace(CFLAGS = ' -std=c99 -fno-strict-aliasing -pipe') ++env.Replace(CFLAGS = os.getenv('CFLAGS','') + ' -std=c99 -fno-strict-aliasing -pipe') + + # CXX-specific flags + # Note: not all 3rd-party libs like '-Wold-style-cast -Weffc++' + # adding those after checks +-env.Replace(CXXFLAGS = ' -Wno-long-long -Wno-deprecated -ansi') ++env.Replace(CXXFLAGS = os.getenv('CXXFLAGS','') + ' -Wno-long-long -Wno-deprecated -ansi') + if sysname != 'sunos': + env.Append(CXXFLAGS = ' -pipe') + +@@ -228,7 +228,7 @@ + # TODO: enable '-Wl,--warn-common -Wl,--fatal-warnings' after warnings from + # static linking have beed addressed + # +-env.Append(LINKFLAGS = link_arch) ++env.Append(LINKFLAGS = link_arch + ' ' + os.getenv('LDFLAGS','')) + + # + # Check required headers and libraries (autoconf functionality) diff --git a/sys-cluster/galera/galera-25.3.5.ebuild b/sys-cluster/galera/galera-25.3.5.ebuild new file mode 100644 index 000000000000..bc4359116e58 --- /dev/null +++ b/sys-cluster/galera/galera-25.3.5.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/galera/galera-25.3.5.ebuild,v 1.1 2014/07/30 06:26:05 robbat2 Exp $ + +EAPI=5 + +MY_P="${PN}-${PV}-src" + +inherit scons-utils multilib toolchain-funcs base versionator eutils +DESCRIPTION="Synchronous multi-master replication engine that provides its service through wsrep API" +HOMEPAGE="http://www.codership.org/" +SRC_URI="https://launchpad.net/${PN}/$(get_version_component_range 2).x/${PV}/+download/${MY_P}.tar.gz" +LICENSE="GPL-2 BSD" + +SLOT="0" + +KEYWORDS="~amd64 ~x86" +IUSE="garbd ssl test" + +CDEPEND=" + ssl? ( dev-libs/openssl ) + >=dev-libs/boost-1.41 + " +DEPEND="${DEPEND} + ${CDEPEND} + dev-libs/check + >=sys-devel/gcc-4.4 + >=dev-cpp/asio-1.4.8[ssl?] + " +#Run time only +RDEPEND="${CDEPEND} + garbd? ( || ( + net-analyzer/netcat + net-analyzer/netcat6 + net-analyzer/gnu-netcat + net-analyzer/openbsd-netcat + ) )" + +S="${WORKDIR}/${MY_P}" + +pkg_preinst() { + if use garbd ; then + enewgroup garbd + enewuser garbd + fi +} + +src_prepare() { + # Remove bundled dev-cpp/asio + rm -r "${S}/asio" || die + + # Respect {C,LD}FLAGS. + epatch "${FILESDIR}/respect-flags.patch" + + #Remove optional garbd daemon + if ! use garbd ; then + rm -r "${S}/garb" || die + fi + + epatch_user +} + +src_configure() { + tc-export CC CXX + # strict_build_flags=0 disables -Werror, -pedantic, -Weffc++, + # and -Wold-style-cast + myesconsargs=( + $(use_scons ssl ssl 1 0) + $(use_scons test tests 1 0) + strict_build_flags=0 + ) +} + +src_compile() { + escons --warn=no-missing-sconscript +} + +src_install() { + dodoc scripts/packages/README scripts/packages/README-MySQL + if use garbd ; then + dobin garb/garbd + newconfd "${FILESDIR}/garb.cnf" garbd + newinitd "${FILESDIR}/garb.sh" garbd + fi + exeinto /usr/$(get_libdir)/${PN} + doexe libgalera_smm.so +} diff --git a/sys-cluster/galera/metadata.xml b/sys-cluster/galera/metadata.xml new file mode 100644 index 000000000000..6c8e5852a141 --- /dev/null +++ b/sys-cluster/galera/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>mysql</herd> +<use> + <flag name='garbd'>Install Galera Arbitrator - a stateless daemon which acts as a lightweight group member</flag> +</use> +</pkgmetadata> |