summaryrefslogtreecommitdiff
path: root/databases/skytools
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2014-03-06 11:28:41 +0000
committerobache <obache@pkgsrc.org>2014-03-06 11:28:41 +0000
commitd44cdffb0590722eff611eb221e913e039be0409 (patch)
tree0ae0aa665452a9907a798552e96e7d6ffe1bb652 /databases/skytools
parentaca509e40dabc2b9cc88bcb2190a4ec56e9cb719 (diff)
downloadpkgsrc-d44cdffb0590722eff611eb221e913e039be0409.tar.gz
Import skytools-3.1.5 as databases/skytools.
Based on PR pkg/48639 by rudolf. SkyTools is a package of tools in use in Skype for replication and failover. It also includes a generic queuing mechanism called PgQ and a utility library for Python scripts, as well as a script for setting up and managing WAL based standby servers. PgQ is a queuing system written in PL/pgSQL, Python and C code. It is based on snapshot-based event handling ideas from Slony-I, and is written for general usage. PgQ provides an efficient, transactional, queueing system with multi-node support (including work sharing and splitting, failover and switchover, for queues and for consumers). PgQ is split into 3 layers: Producers, Ticker and Consumers. Londiste is a replication tool written in Python, using PgQ as event transport. Walmgr is a script that will setup WAL archiving, does the initial backup, and runtime WAL archive and restore. It can also be used for up-to-last-second partial file copying, so that less than the whole file is lost in case of loss of the master database server.
Diffstat (limited to 'databases/skytools')
-rw-r--r--databases/skytools/DESCR19
-rw-r--r--databases/skytools/Makefile45
-rw-r--r--databases/skytools/PLIST208
-rw-r--r--databases/skytools/distinfo5
4 files changed, 277 insertions, 0 deletions
diff --git a/databases/skytools/DESCR b/databases/skytools/DESCR
new file mode 100644
index 00000000000..7c81833e23f
--- /dev/null
+++ b/databases/skytools/DESCR
@@ -0,0 +1,19 @@
+SkyTools is a package of tools in use in Skype for replication and failover.
+It also includes a generic queuing mechanism called PgQ and a utility
+library for Python scripts, as well as a script for setting up and managing
+WAL based standby servers.
+
+PgQ is a queuing system written in PL/pgSQL, Python and C code. It is based
+on snapshot-based event handling ideas from Slony-I, and is written for
+general usage. PgQ provides an efficient, transactional, queueing system
+with multi-node support (including work sharing and splitting, failover and
+switchover, for queues and for consumers). PgQ is split into 3 layers:
+Producers, Ticker and Consumers.
+
+Londiste is a replication tool written in Python, using PgQ as event
+transport.
+
+Walmgr is a script that will setup WAL archiving, does the initial backup,
+and runtime WAL archive and restore. It can also be used for
+up-to-last-second partial file copying, so that less than the whole file is
+lost in case of loss of the master database server.
diff --git a/databases/skytools/Makefile b/databases/skytools/Makefile
new file mode 100644
index 00000000000..d1620fc2abd
--- /dev/null
+++ b/databases/skytools/Makefile
@@ -0,0 +1,45 @@
+# $NetBSD: Makefile,v 1.1 2014/03/06 11:28:41 obache Exp $
+
+DISTNAME= skytools-3.1.5
+CATEGORIES= databases
+MASTER_SITES= http://pgfoundry.org/frs/download.php/3515/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://pgfoundry.org/projects/skytools
+COMMENT= Tools for PostgreSQL for queueing, replication and failover
+LICENSE= isc
+
+DEPENDS+= ${PYPKGPREFIX}-psycopg2-[0-9]*:../../databases/py-psycopg2
+DEPENDS+= rsync-[0-9]*:../../net/rsync
+
+USE_LANGUAGES= c
+GNU_CONFIGURE= yes
+
+USE_TOOLS+= awk gmake grep sed
+
+PY_PATCHPLIST= yes
+PY_NO_EGG= no
+PLIST_SUBST+= PYVERSSUFFIX=${PYVERSSUFFIX}
+PRINT_PLIST_AWK+= { gsub("-py${PYVERSSUFFIX}.egg-info", \
+ "-py$${PYVERSSUFFIX}.egg-info") }
+
+REPLACE_PYTHON+= scripts/*.py
+REPLACE_PYTHON+= python/*.py
+REPLACE_PYTHON+= python/skytools/*.py
+REPLACE_PYTHON+= python/pgq/*.py
+REPLACE_PYTHON+= python/pgq/cascade/*.py
+REPLACE_PYTHON+= python/londiste/*.py
+REPLACE_PYTHON+= python/londiste/handlers/*.py
+REPLACE_PYTHON+= misc/*.py
+REPLACE_PYTHON+= *.py
+REPLACE_PYTHON+= tests/setadm/*.py
+REPLACE_PYTHON+= tests/londiste/*.py
+REPLACE_PYTHON+= tests/skylog/*.py
+REPLACE_PYTHON+= tests/cascade/*.py
+REPLACE_PYTHON+= tests/localconsumer/*.py
+REPLACE_PYTHON+= tests/quoting/*.py
+
+.include "../../mk/pgsql.buildlink3.mk"
+.include "../../lang/python/application.mk"
+.include "../../lang/python/extension.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/databases/skytools/PLIST b/databases/skytools/PLIST
new file mode 100644
index 00000000000..3491d96251c
--- /dev/null
+++ b/databases/skytools/PLIST
@@ -0,0 +1,208 @@
+@comment $NetBSD: PLIST,v 1.1 2014/03/06 11:28:41 obache Exp $
+bin/data_maintainer3
+bin/londiste3
+bin/pgqd
+bin/qadmin
+bin/queue_mover3
+bin/queue_splitter3
+bin/scriptmgr3
+bin/simple_consumer3
+bin/simple_local_consumer3
+bin/skytools_upgrade3
+bin/walmgr3
+lib/postgresql/pgq_lowlevel.so
+lib/postgresql/pgq_triggers.so
+${PYSITELIB}/londiste/__init__.py
+${PYSITELIB}/londiste/__init__.pyc
+${PYSITELIB}/londiste/compare.py
+${PYSITELIB}/londiste/compare.pyc
+${PYSITELIB}/londiste/exec_attrs.py
+${PYSITELIB}/londiste/exec_attrs.pyc
+${PYSITELIB}/londiste/handler.py
+${PYSITELIB}/londiste/handler.pyc
+${PYSITELIB}/londiste/handlers/__init__.py
+${PYSITELIB}/londiste/handlers/__init__.pyc
+${PYSITELIB}/londiste/handlers/applyfn.py
+${PYSITELIB}/londiste/handlers/applyfn.pyc
+${PYSITELIB}/londiste/handlers/bulk.py
+${PYSITELIB}/londiste/handlers/bulk.pyc
+${PYSITELIB}/londiste/handlers/dispatch.py
+${PYSITELIB}/londiste/handlers/dispatch.pyc
+${PYSITELIB}/londiste/handlers/multimaster.py
+${PYSITELIB}/londiste/handlers/multimaster.pyc
+${PYSITELIB}/londiste/handlers/qtable.py
+${PYSITELIB}/londiste/handlers/qtable.pyc
+${PYSITELIB}/londiste/handlers/shard.py
+${PYSITELIB}/londiste/handlers/shard.pyc
+${PYSITELIB}/londiste/handlers/vtable.py
+${PYSITELIB}/londiste/handlers/vtable.pyc
+${PYSITELIB}/londiste/playback.py
+${PYSITELIB}/londiste/playback.pyc
+${PYSITELIB}/londiste/repair.py
+${PYSITELIB}/londiste/repair.pyc
+${PYSITELIB}/londiste/setup.py
+${PYSITELIB}/londiste/setup.pyc
+${PYSITELIB}/londiste/syncer.py
+${PYSITELIB}/londiste/syncer.pyc
+${PYSITELIB}/londiste/table_copy.py
+${PYSITELIB}/londiste/table_copy.pyc
+${PYSITELIB}/londiste/util.py
+${PYSITELIB}/londiste/util.pyc
+${PYSITELIB}/pgq/__init__.py
+${PYSITELIB}/pgq/__init__.pyc
+${PYSITELIB}/pgq/baseconsumer.py
+${PYSITELIB}/pgq/baseconsumer.pyc
+${PYSITELIB}/pgq/cascade/__init__.py
+${PYSITELIB}/pgq/cascade/__init__.pyc
+${PYSITELIB}/pgq/cascade/admin.py
+${PYSITELIB}/pgq/cascade/admin.pyc
+${PYSITELIB}/pgq/cascade/consumer.py
+${PYSITELIB}/pgq/cascade/consumer.pyc
+${PYSITELIB}/pgq/cascade/nodeinfo.py
+${PYSITELIB}/pgq/cascade/nodeinfo.pyc
+${PYSITELIB}/pgq/cascade/worker.py
+${PYSITELIB}/pgq/cascade/worker.pyc
+${PYSITELIB}/pgq/consumer.py
+${PYSITELIB}/pgq/consumer.pyc
+${PYSITELIB}/pgq/coopconsumer.py
+${PYSITELIB}/pgq/coopconsumer.pyc
+${PYSITELIB}/pgq/event.py
+${PYSITELIB}/pgq/event.pyc
+${PYSITELIB}/pgq/localconsumer.py
+${PYSITELIB}/pgq/localconsumer.pyc
+${PYSITELIB}/pgq/producer.py
+${PYSITELIB}/pgq/producer.pyc
+${PYSITELIB}/pgq/remoteconsumer.py
+${PYSITELIB}/pgq/remoteconsumer.pyc
+${PYSITELIB}/pgq/status.py
+${PYSITELIB}/pgq/status.pyc
+${PYSITELIB}/pkgloader-1.0-py${PYVERSSUFFIX}.egg-info
+${PYSITELIB}/pkgloader.py
+${PYSITELIB}/pkgloader.pyc
+${PYSITELIB}/${PKGNAME}-py${PYVERSSUFFIX}.egg-info
+${PYSITELIB}/skytools/__init__.py
+${PYSITELIB}/skytools/__init__.pyc
+${PYSITELIB}/skytools/_chashtext.so
+${PYSITELIB}/skytools/_cquoting.so
+${PYSITELIB}/skytools/_pyquoting.py
+${PYSITELIB}/skytools/_pyquoting.pyc
+${PYSITELIB}/skytools/adminscript.py
+${PYSITELIB}/skytools/adminscript.pyc
+${PYSITELIB}/skytools/apipkg.py
+${PYSITELIB}/skytools/apipkg.pyc
+${PYSITELIB}/skytools/checker.py
+${PYSITELIB}/skytools/checker.pyc
+${PYSITELIB}/skytools/config.py
+${PYSITELIB}/skytools/config.pyc
+${PYSITELIB}/skytools/dbservice.py
+${PYSITELIB}/skytools/dbservice.pyc
+${PYSITELIB}/skytools/dbstruct.py
+${PYSITELIB}/skytools/dbstruct.pyc
+${PYSITELIB}/skytools/fileutil.py
+${PYSITELIB}/skytools/fileutil.pyc
+${PYSITELIB}/skytools/gzlog.py
+${PYSITELIB}/skytools/gzlog.pyc
+${PYSITELIB}/skytools/hashtext.py
+${PYSITELIB}/skytools/hashtext.pyc
+${PYSITELIB}/skytools/installer_config.py
+${PYSITELIB}/skytools/installer_config.pyc
+${PYSITELIB}/skytools/natsort.py
+${PYSITELIB}/skytools/natsort.pyc
+${PYSITELIB}/skytools/parsing.py
+${PYSITELIB}/skytools/parsing.pyc
+${PYSITELIB}/skytools/plpy_applyrow.py
+${PYSITELIB}/skytools/plpy_applyrow.pyc
+${PYSITELIB}/skytools/psycopgwrapper.py
+${PYSITELIB}/skytools/psycopgwrapper.pyc
+${PYSITELIB}/skytools/querybuilder.py
+${PYSITELIB}/skytools/querybuilder.pyc
+${PYSITELIB}/skytools/quoting.py
+${PYSITELIB}/skytools/quoting.pyc
+${PYSITELIB}/skytools/scripting.py
+${PYSITELIB}/skytools/scripting.pyc
+${PYSITELIB}/skytools/skylog.py
+${PYSITELIB}/skytools/skylog.pyc
+${PYSITELIB}/skytools/sockutil.py
+${PYSITELIB}/skytools/sockutil.pyc
+${PYSITELIB}/skytools/sqltools.py
+${PYSITELIB}/skytools/sqltools.pyc
+${PYSITELIB}/skytools/timeutil.py
+${PYSITELIB}/skytools/timeutil.pyc
+${PYSITELIB}/skytools/tnetstrings.py
+${PYSITELIB}/skytools/tnetstrings.pyc
+${PYSITELIB}/skytools/utf8.py
+${PYSITELIB}/skytools/utf8.pyc
+man/man1/londiste3.1
+man/man1/pgqd.1
+man/man1/qadmin.1
+man/man1/queue_mover3.1
+man/man1/queue_splitter3.1
+man/man1/scriptmgr3.1
+man/man1/simple_consumer3.1
+man/man1/simple_local_consumer3.1
+man/man1/skytools_upgrade3.1
+man/man1/walmgr3.1
+share/doc/postgresql/extension/README.pgq
+share/doc/postgresql/extension/README.pgq_ext
+share/doc/skytools3/conf/pgqd.ini.templ
+share/doc/skytools3/conf/wal-master.ini
+share/doc/skytools3/conf/wal-slave.ini
+share/postgresql/contrib/londiste.sql
+share/postgresql/contrib/londiste.upgrade.sql
+share/postgresql/contrib/newgrants_londiste.sql
+share/postgresql/contrib/newgrants_pgq.sql
+share/postgresql/contrib/newgrants_pgq_coop.sql
+share/postgresql/contrib/newgrants_pgq_ext.sql
+share/postgresql/contrib/newgrants_pgq_node.sql
+share/postgresql/contrib/oldgrants_londiste.sql
+share/postgresql/contrib/oldgrants_pgq.sql
+share/postgresql/contrib/oldgrants_pgq_coop.sql
+share/postgresql/contrib/oldgrants_pgq_ext.sql
+share/postgresql/contrib/oldgrants_pgq_node.sql
+share/postgresql/contrib/pgq.sql
+share/postgresql/contrib/pgq.upgrade.sql
+share/postgresql/contrib/pgq_coop.sql
+share/postgresql/contrib/pgq_coop.upgrade.sql
+share/postgresql/contrib/pgq_ext.sql
+share/postgresql/contrib/pgq_ext.upgrade.sql
+share/postgresql/contrib/pgq_lowlevel.sql
+share/postgresql/contrib/pgq_node.sql
+share/postgresql/contrib/pgq_node.upgrade.sql
+share/postgresql/contrib/pgq_triggers.sql
+share/postgresql/contrib/txid.sql
+share/postgresql/contrib/uninstall_pgq.sql
+share/postgresql/extension/londiste--3.1--3.1.4.sql
+share/postgresql/extension/londiste--3.1.1--3.1.4.sql
+share/postgresql/extension/londiste--3.1.3--3.1.4.sql
+share/postgresql/extension/londiste--3.1.4.sql
+share/postgresql/extension/londiste--unpackaged--3.1.4.sql
+share/postgresql/extension/londiste.control
+share/postgresql/extension/pgq--3.1--3.1.3.sql
+share/postgresql/extension/pgq--3.1.1--3.1.3.sql
+share/postgresql/extension/pgq--3.1.2--3.1.3.sql
+share/postgresql/extension/pgq--3.1.3.sql
+share/postgresql/extension/pgq--unpackaged--3.1.3.sql
+share/postgresql/extension/pgq.control
+share/postgresql/extension/pgq_coop--3.1--3.1.1.sql
+share/postgresql/extension/pgq_coop--3.1.1.sql
+share/postgresql/extension/pgq_coop--unpackaged--3.1.1.sql
+share/postgresql/extension/pgq_coop.control
+share/postgresql/extension/pgq_ext--3.1.sql
+share/postgresql/extension/pgq_ext--unpackaged--3.1.sql
+share/postgresql/extension/pgq_ext.control
+share/postgresql/extension/pgq_node--3.1--3.1.3.sql
+share/postgresql/extension/pgq_node--3.1.3.sql
+share/postgresql/extension/pgq_node--unpackaged--3.1.3.sql
+share/postgresql/extension/pgq_node.control
+share/skytools3/londiste.sql
+share/skytools3/londiste.upgrade.sql
+share/skytools3/londiste.upgrade_2.1_to_3.1.sql
+share/skytools3/pgq.sql
+share/skytools3/pgq.upgrade.sql
+share/skytools3/pgq.upgrade_2.1_to_3.0.sql
+share/skytools3/pgq_coop.sql
+share/skytools3/pgq_coop.upgrade.sql
+share/skytools3/pgq_ext.sql
+share/skytools3/pgq_ext.upgrade.sql
+share/skytools3/pgq_node.sql
+share/skytools3/pgq_node.upgrade.sql
diff --git a/databases/skytools/distinfo b/databases/skytools/distinfo
new file mode 100644
index 00000000000..770bbb99820
--- /dev/null
+++ b/databases/skytools/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.1 2014/03/06 11:28:41 obache Exp $
+
+SHA1 (skytools-3.1.5.tar.gz) = 517d733e2cfa80137c1e3319bf0e5c2841aaf313
+RMD160 (skytools-3.1.5.tar.gz) = a5d85f5d70d7adf9a87d9a4cece5b47160cd9890
+Size (skytools-3.1.5.tar.gz) = 692562 bytes