public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Robin H. Johnson" <robbat2@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/mysql:master commit in: sys-cluster/galera/, sys-cluster/galera/files/
Date: Wed, 12 Jun 2013 18:21:44 +0000 (UTC)	[thread overview]
Message-ID: <1370976753.f7bdab91cbe3145b4bb9550e08b274c9b7616968.robbat2@gentoo> (raw)

commit:     f7bdab91cbe3145b4bb9550e08b274c9b7616968
Author:     Brian Evans <grknight <AT> lavabit <DOT> com>
AuthorDate: Tue May 14 01:06:47 2013 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Tue Jun 11 18:52:33 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=f7bdab91

Add required runtime-only library for mariadb-galera

Package-Manager: portage-2.1.11.62

---
 sys-cluster/galera/ChangeLog                 |  5 ++
 sys-cluster/galera/Manifest                  |  1 +
 sys-cluster/galera/files/disable-tests.patch | 80 ++++++++++++++++++++++++++++
 sys-cluster/galera/files/garb.cnf            | 17 ++++++
 sys-cluster/galera/files/garb.sh             | 58 ++++++++++++++++++++
 sys-cluster/galera/galera-23.2.4.ebuild      | 78 +++++++++++++++++++++++++++
 sys-cluster/galera/metadata.xml              |  8 +++
 7 files changed, 247 insertions(+)

diff --git a/sys-cluster/galera/ChangeLog b/sys-cluster/galera/ChangeLog
new file mode 100644
index 0000000..ef382a7
--- /dev/null
+++ b/sys-cluster/galera/ChangeLog
@@ -0,0 +1,5 @@
+*galera-23.2.4 (14 May 2013)
+
+  14 May 2013;  <grknight@lavabit.com> +files/disable-tests.patch,
+  +files/garb.cnf, +files/garb.sh, +galera-23.2.4.ebuild, +metadata.xml:
+  Add required runtime-only library for mariadb-galera

diff --git a/sys-cluster/galera/Manifest b/sys-cluster/galera/Manifest
new file mode 100644
index 0000000..4b82998
--- /dev/null
+++ b/sys-cluster/galera/Manifest
@@ -0,0 +1 @@
+DIST galera-23.2.4-src.tar.gz 3061934 SHA256 83eec5e8df53b9adcd601a84312a54e843b2584b0cbe445125c2266b22590e78 SHA512 b953d07cdd69c7e42e80053125bb69f4becf457529924768348846612db49d92c4a46e6c85739cc0c0b102d703dc3a3b73bc368171e6f863a1f56b2cd22cb711 WHIRLPOOL 3842dd7f4bd11ab4cb656c3d89758232b96d85ba64919932d03dde2f44cb13bdf7913e6d217e6ca49f376aaf15b7271d3a870a16ba1010d522b57ff59247edc2

diff --git a/sys-cluster/galera/files/disable-tests.patch b/sys-cluster/galera/files/disable-tests.patch
new file mode 100644
index 0000000..b82294b
--- /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 0000000..4f0047a
--- /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 100755
index 0000000..1744639
--- /dev/null
+++ b/sys-cluster/galera/files/garb.sh
@@ -0,0 +1,58 @@
+#!/sbin/runscript
+#
+# Copyright (C) 2012 Codership Oy <info@codership.com>
+# Modified by: Brian Evans <grknight@lavabit.com> for OpenRC
+# $Header: $
+
+depend() {
+	need net
+}
+
+stop() {
+	ebegin $"Shutting down "${SVCNAME}" "
+	start-stop-daemon --stop --quiet --oknodo --retry TERM/30/KILL/5 \
+		                  --pidfile $PIDFILE
+	eend $?
+}
+
+start() {
+	local rcode
+
+	# Check that node addresses are configured
+	if [ -z "$GALERA_NODES" ]; then
+		eerror "List of GALERA_NODES is not configured"
+		return 6
+	fi
+	if [ -z "$GALERA_GROUP" ]; then
+		eerror "GALERA_GROUP name is not configured" 
+		return 6
+	fi
+
+	GALERA_PORT=${GALERA_PORT:-4567}
+
+	# Find a working node
+	for ADDRESS in ${GALERA_NODES} 0; do
+		HOST=$(echo $ADDRESS | cut -d \: -f 1 )
+		PORT=$(echo $ADDRESS | cut -d \: -f 2 )
+		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="-d -a gcomm://$ADDRESS"
+	[ -n "$GALERA_GROUP" ]   && OPTIONS="$OPTIONS -g $GALERA_GROUP"
+	[ -n "$GALERA_OPTIONS" ] && OPTIONS="$OPTIONS -o $GALERA_OPTIONS"
+	[ -n "$LOG_FILE" ]       && OPTIONS="$OPTIONS -l $LOG_FILE"
+
+	ebegin "Starting ${SVCNAME} "
+	start-stop-daemon --start --quiet --background \
+			--pidfile "${PIDFILE}" --make-pidfile \
+	                  --exec /usr/bin/garbd -- $OPTIONS
+	rcode=$?
+	# Hack: sleep a bit to give garbd some time to fork
+	sleep 1
+	eend $rcode
+}

diff --git a/sys-cluster/galera/galera-23.2.4.ebuild b/sys-cluster/galera/galera-23.2.4.ebuild
new file mode 100644
index 0000000..3dab48e
--- /dev/null
+++ b/sys-cluster/galera/galera-23.2.4.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+MY_P="${PN}-${PV}-src"
+
+inherit scons-utils multilib toolchain-funcs base versionator
+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-3"
+
+SLOT="0"
+
+KEYWORDS="~x86 ~amd64"
+IUSE="garbd ssl test"
+
+RDEPEND="
+	 ssl? ( dev-libs/openssl )
+	>=dev-libs/boost-1.41
+	"
+DEPEND="${DEPEND}
+	${RDEPEND}
+	test? ( dev-libs/check )
+	>=sys-devel/gcc-4.4
+	>=dev-cpp/asio-1.4.8[ssl?]
+	"
+#Run time only
+RDEPEND="${RDEPEND}
+	garbd? ( || (
+		net-analyzer/netcat
+		net-analyzer/netcat6
+		net-analyzer/gnu-netcat
+		net-analyzer/openbsd-netcat
+	) )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+	#Remove bundled dev-cpp/asio
+	rm -fr "${S}/asio"
+	#Remove Werror from build file, no way to disable
+	sed -i	-e "s/-Werror //" \
+		-e "s/LINKFLAGS = link_arch/LINKFLAGS = link_arch + ' ' + os.environ['LDFLAGS']/" \
+		"${S}/SConstruct"
+	#Remove optional garbd daemon
+	if ! use garbd ; then
+		rm -fr "${S}/garb"
+	fi
+	if ! use test ; then
+		epatch "${FILESDIR}/disable-tests.patch"
+	fi
+}
+
+src_configure() {
+	tc-export CC
+	tc-export CXX
+	myesconsargs=(
+		$(use_scons ssl ssl 1 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}/garbd.cnf" garbd
+		newinitd "${FILESDIR}/garbd.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 0000000..6c8e585
--- /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>


             reply	other threads:[~2013-06-12 18:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-12 18:21 Robin H. Johnson [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-08-21 17:28 [gentoo-commits] proj/mysql:master commit in: sys-cluster/galera/, sys-cluster/galera/files/ Brian Evans
2013-11-18 21:34 Brian Evans
2014-03-07 20:30 Brian Evans
2018-03-08 17:37 Brian Evans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1370976753.f7bdab91cbe3145b4bb9550e08b274c9b7616968.robbat2@gentoo \
    --to=robbat2@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox