New port: databases/postgres-xl

Postgres-XL is an open source project to provide both write-scalability and
massively parallel processing transparently to PostgreSQL. It is a collection
of tightly coupled database components which can be installed on more than one
system or virtual machine.

Write-scalable means Postgres-XL can be configured with as many database
servers as you want and handle many more writes (updating SQL statements) than
a single standalone database server could otherwise do. You can have more than
one database server that provides a single database view. Any database update
from any database server is immediately visible to any other transactions
running on different servers. Transparent means you do not necessarily need
to worry about how your data is stored in more than one database servers
internally.

WWW: http://www.postgres-xl.org/

PR:		219164
Submitted by:	Jov <amutu@amutu.com>
This commit is contained in:
Kurt Jaeger 2017-08-16 18:55:15 +00:00
parent 75c1c01eb0
commit 3daef6eeef
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=448063
10 changed files with 2134 additions and 0 deletions

View file

@ -677,6 +677,7 @@
SUBDIR += postgresql-repmgr
SUBDIR += postgresql-repmgr2
SUBDIR += postgresql-tds_fdw
SUBDIR += postgresql-xl
SUBDIR += postgresql-zhparser
SUBDIR += postgresql10-client
SUBDIR += postgresql10-contrib

View file

@ -0,0 +1,33 @@
# Created by: Jov <amutu@amutu.com>
# $FreeBSD$
PORTNAME= postgres-xl
DISTVERSION= 9.5r1.5
CATEGORIES= databases
MASTER_SITES= http://files.postgres-xl.org/
MAINTAINER= amutu@amutu.com
COMMENT= Scalable open source PostgreSQL-based database cluster
LICENSE= PostgreSQL
BUILD_DEPENDS= ${LOCALBASE}/bin/bash:shells/bash
BUILD_DEPENDS= ${LOCALBASE}/bin/bash:shells/bash
CONFLICTS= postgresql[^${PORTVERSION:R:R}]?-client* \
postgresql${COMPONENT}-[^${PORTVERSION:R:R}].* \
postgresql9[^${PORTVERSION:R:E}]-client* \
postgresql${COMPONENT}-9.[^${PORTVERSION:R:E}].*
USES= gmake readline
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
INSTALL_TARGET= install-world
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so \
${STAGEDIR}${PREFIX}/bin/* \
${STAGEDIR}${PREFIX}/lib/postgresql/*.so \
${STAGEDIR}${PREFIX}/lib/postgresql/pgxs/src/test/regress/*
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1494227272
SHA256 (postgres-xl-9.5r1.5.tar.gz) = 232801e078d6c253067bb886628b7c2f81309895b8ee618325f05c52b4c45fde
SIZE (postgres-xl-9.5r1.5.tar.gz) = 25083877

View file

@ -0,0 +1,115 @@
--- contrib/pgxc_ctl/make_signature.orig 2017-04-19 15:17:02 UTC
+++ contrib/pgxc_ctl/make_signature
@@ -53,14 +53,20 @@ EOF
cp pgxc_ctl_bash_2 pgxc_ctl_bash.c.wk
-ex pgxc_ctl_bash.c.wk <<EOF
-%s/"/\\\"/ge
-w
-%s/^\(.*\)$/"\1",/e
-%s/^"#ifdef XCP",$/#ifdef XCP/e
-%s/^"#endif",$/#endif/e
-wq
-EOF
+
+sed -i '' -e 's/"/\\\"/g' pgxc_ctl_bash.c.wk
+sed -i '' -e 's/^\(.*\)$/"\1",/' pgxc_ctl_bash.c.wk
+sed -i '' -e 's/^"#ifdef XCP",$/#ifdef XCP/' pgxc_ctl_bash.c.wk
+sed -i '' -e 's/^"#endif",$/#endif/' pgxc_ctl_bash.c.wk
+
+#ex pgxc_ctl_bash.c.wk <<EOF
+#%s/"/\\\"/ge
+#w
+#%s/^\(.*\)$/"\1",/e
+#%s/^"#ifdef XCP",$/#ifdef XCP/e
+#%s/^"#endif",$/#endif/e
+#wq
+#EOF
cat > pgxc_ctl_bash.c <<EOF
/*
@@ -110,14 +116,19 @@ rm pgxc_ctl_bash.c.wk
cp pgxc_ctl_conf_part_full pgxc_ctl_conf_part.wk
-ex pgxc_ctl_conf_part.wk <<EOF
-%s/"/\\\"/ge
-w
-%s/^\(.*\)$/"\1",/e
-%s/^"#ifdef XCP",$/#ifdef XCP/e
-%s/^"#endif",$/#endif/e
-wq
-EOF
+sed -i '' -e 's/"/\\\"/g' pgxc_ctl_conf_part.wk
+sed -i '' -e 's/^\(.*\)$/"\1",/' pgxc_ctl_conf_part.wk
+sed -i '' -e 's/^"#ifdef XCP",$/#ifdef XCP/' pgxc_ctl_conf_part.wk
+sed -i '' -e 's/^"#endif",$/#endif/' pgxc_ctl_conf_part.wk
+
+#ex pgxc_ctl_conf_part.wk <<EOF
+#%s/"/\\\"/ge
+#w
+#%s/^\(.*\)$/"\1",/e
+#%s/^"#ifdef XCP",$/#ifdef XCP/e
+#%s/^"#endif",$/#endif/e
+#wq
+#EOF
cat >> pgxc_ctl_bash.c <<EOF
/*
@@ -141,14 +152,19 @@ rm pgxc_ctl_conf_part.wk
cp pgxc_ctl_conf_part_minimal pgxc_ctl_conf_part.wk
-ex pgxc_ctl_conf_part.wk <<EOF
-%s/"/\\\"/ge
-w
-%s/^\(.*\)$/"\1",/e
-%s/^"#ifdef XCP",$/#ifdef XCP/e
-%s/^"#endif",$/#endif/e
-wq
-EOF
+sed -i '' -e 's/"/\\\"/g' pgxc_ctl_conf_part.wk
+sed -i '' -e 's/^\(.*\)$/"\1",/' pgxc_ctl_conf_part.wk
+sed -i '' -e 's/^"#ifdef XCP",$/#ifdef XCP/' pgxc_ctl_conf_part.wk
+sed -i '' -e 's/^"#endif",$/#endif/' pgxc_ctl_conf_part.wk
+
+#ex pgxc_ctl_conf_part.wk <<EOF
+#%s/"/\\\"/ge
+#w
+#%s/^\(.*\)$/"\1",/e
+#%s/^"#ifdef XCP",$/#ifdef XCP/e
+#%s/^"#endif",$/#endif/e
+#wq
+#EOF
cat >> pgxc_ctl_bash.c <<EOF
/*
@@ -172,14 +188,19 @@ rm pgxc_ctl_conf_part.wk
cp pgxc_ctl_conf_part_empty pgxc_ctl_conf_empty.wk
-ex pgxc_ctl_conf_empty.wk <<EOF
-%s/"/\\\"/ge
-w
-%s/^\(.*\)$/"\1",/e
-%s/^"#ifdef XCP",$/#ifdef XCP/e
-%s/^"#endif",$/#endif/e
-wq
-EOF
+sed -i '' -e 's/"/\\\"/g' pgxc_ctl_conf_empty.wk
+sed -i '' -e 's/^\(.*\)$/"\1",/' pgxc_ctl_conf_empty.wk
+sed -i '' -e 's/^"#ifdef XCP",$/#ifdef XCP/' pgxc_ctl_conf_empty.wk
+sed -i '' -e 's/^"#endif",$/#endif/' pgxc_ctl_conf_empty.wk
+
+#ex pgxc_ctl_conf_empty.wk <<EOF
+#%s/"/\\\"/ge
+#w
+#%s/^\(.*\)$/"\1",/e
+#%s/^"#ifdef XCP",$/#ifdef XCP/e
+#%s/^"#endif",$/#endif/e
+#wq
+#EOF
cat >> pgxc_ctl_bash.c <<EOF
/*

View file

@ -0,0 +1,10 @@
--- contrib/pgxc_monitor/pgxc_monitor.c.orig 2017-04-19 15:17:02 UTC
+++ contrib/pgxc_monitor/pgxc_monitor.c
@@ -49,6 +49,7 @@
#include <stdlib.h>
#include <getopt.h>
+#include <sys/wait.h>
/* Define all the node types */
typedef enum

View file

@ -0,0 +1,9 @@
--- doc/Makefile.orig 2017-04-19 15:17:02 UTC
+++ doc/Makefile
@@ -12,5 +12,5 @@ subdir = doc
top_builddir = ..
include $(top_builddir)/src/Makefile.global
-all distprep html man install installdirs uninstall clean distclean maintainer-clean:
+all distprep man install installdirs uninstall clean distclean maintainer-clean:
$(MAKE) -C src $@

View file

@ -0,0 +1,46 @@
--- doc/src/sgml/Makefile.orig 2017-04-19 15:17:02 UTC
+++ doc/src/sgml/Makefile
@@ -15,7 +15,7 @@
# Make "html" the default target, since that is what most people tend
# to want to use.
-html:
+man:
NO_TEMP_INSTALL=yes
@@ -24,7 +24,7 @@ top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
-all: html man
+all: man
distprep: html distprep-man
@@ -81,8 +81,6 @@ override SPFLAGS += -wall -wno-unused-pa
## Man pages
##
-man distprep-man: man-stamp
-
man-stamp: stylesheet-man.xsl postgres.xml
$(XMLLINT) --noout --valid postgres.xml
$(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_MAN_FLAGS) $^
@@ -326,14 +324,14 @@ check: postgres.sgml $(ALMOSTALLSGML) ch
## Install
##
-install: install-html
+install: install-man
ifneq ($(PORTNAME), sco)
install: install-man
endif
installdirs:
- $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum))
+ $(MKDIR_P) $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum))
# If the install used a man directory shared with other applications, this will remove all files.
uninstall:

View file

@ -0,0 +1,11 @@
--- src/Makefile.shlib.orig 2017-04-19 15:17:03 UTC
+++ src/Makefile.shlib
@@ -81,7 +81,7 @@ shlib_bare = lib$(NAME)$(DLSUFFIX)
# Testing the soname variable is a reliable way to determine whether a
# linkable library is being built.
soname = $(shlib_major)
-pkgconfigdir = $(libdir)/pkgconfig
+pkgconfigdir = $(prefix)/libdata/pkgconfig
else
# Naming convention for dynamically loadable modules
shlib = $(NAME)$(DLSUFFIX)

View file

@ -0,0 +1,15 @@
Postgres-XL is an open source project to provide both write-scalability and
massively parallel processing transparently to PostgreSQL. It is a collection
of tightly coupled database components which can be installed on more than one
system or virtual machine.
Write-scalable means Postgres-XL can be configured with as many database
servers as you want and handle many more writes (updating SQL statements) than
a single standalone database server could otherwise do. You can have more than
one database server that provides a single database view. Any database update
from any database server is immediately visible to any other transactions
running on different servers. Transparent means you do not necessarily need
to worry about how your data is stored in more than one database servers
internally.
WWW: http://www.postgres-xl.org/

File diff suppressed because it is too large Load diff