From d760cd067cd79b9b1cfd01d40eb59eb3f7ca2c69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 26 Sep 2020 16:55:58 +0200 Subject: [PATCH 1/4] New package: postgresql13-13.0 --- srcpkgs/postgresql-libs | 2 +- srcpkgs/postgresql-libs-devel | 2 +- srcpkgs/postgresql13-client | 1 + srcpkgs/postgresql13-contrib | 1 + srcpkgs/postgresql13-doc | 1 + srcpkgs/postgresql13-plperl | 1 + srcpkgs/postgresql13-plpython | 1 + srcpkgs/postgresql13-pltcl | 1 + srcpkgs/postgresql13/files/pg_config.sh.in | 143 +++++++++++ srcpkgs/postgresql13/files/postgresql.confd | 17 ++ srcpkgs/postgresql13/files/postgresql.pam | 3 + .../postgresql13/files/postgresql13/control/t | 2 + .../postgresql13/files/postgresql13/log/run | 2 + srcpkgs/postgresql13/files/postgresql13/run | 27 +++ srcpkgs/postgresql13/files/profile.sh | 14 ++ .../patches/pg_config-cross-value.patch | 45 ++++ srcpkgs/postgresql13/patches/relocate.patch | 22 ++ srcpkgs/postgresql13/template | 228 ++++++++++++++++++ srcpkgs/postgresql13/update | 2 + 19 files changed, 513 insertions(+), 2 deletions(-) create mode 120000 srcpkgs/postgresql13-client create mode 120000 srcpkgs/postgresql13-contrib create mode 120000 srcpkgs/postgresql13-doc create mode 120000 srcpkgs/postgresql13-plperl create mode 120000 srcpkgs/postgresql13-plpython create mode 120000 srcpkgs/postgresql13-pltcl create mode 100644 srcpkgs/postgresql13/files/pg_config.sh.in create mode 100644 srcpkgs/postgresql13/files/postgresql.confd create mode 100644 srcpkgs/postgresql13/files/postgresql.pam create mode 100755 srcpkgs/postgresql13/files/postgresql13/control/t create mode 100755 srcpkgs/postgresql13/files/postgresql13/log/run create mode 100755 srcpkgs/postgresql13/files/postgresql13/run create mode 100644 srcpkgs/postgresql13/files/profile.sh create mode 100644 srcpkgs/postgresql13/patches/pg_config-cross-value.patch create mode 100644 srcpkgs/postgresql13/patches/relocate.patch create mode 100644 srcpkgs/postgresql13/template create mode 100644 srcpkgs/postgresql13/update diff --git a/srcpkgs/postgresql-libs b/srcpkgs/postgresql-libs index 52711bfce65..f6f48b1ff3a 120000 --- a/srcpkgs/postgresql-libs +++ b/srcpkgs/postgresql-libs @@ -1 +1 @@ -postgresql12 \ No newline at end of file +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql-libs-devel b/srcpkgs/postgresql-libs-devel index 52711bfce65..f6f48b1ff3a 120000 --- a/srcpkgs/postgresql-libs-devel +++ b/srcpkgs/postgresql-libs-devel @@ -1 +1 @@ -postgresql12 \ No newline at end of file +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13-client b/srcpkgs/postgresql13-client new file mode 120000 index 00000000000..f6f48b1ff3a --- /dev/null +++ b/srcpkgs/postgresql13-client @@ -0,0 +1 @@ +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13-contrib b/srcpkgs/postgresql13-contrib new file mode 120000 index 00000000000..f6f48b1ff3a --- /dev/null +++ b/srcpkgs/postgresql13-contrib @@ -0,0 +1 @@ +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13-doc b/srcpkgs/postgresql13-doc new file mode 120000 index 00000000000..f6f48b1ff3a --- /dev/null +++ b/srcpkgs/postgresql13-doc @@ -0,0 +1 @@ +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13-plperl b/srcpkgs/postgresql13-plperl new file mode 120000 index 00000000000..f6f48b1ff3a --- /dev/null +++ b/srcpkgs/postgresql13-plperl @@ -0,0 +1 @@ +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13-plpython b/srcpkgs/postgresql13-plpython new file mode 120000 index 00000000000..f6f48b1ff3a --- /dev/null +++ b/srcpkgs/postgresql13-plpython @@ -0,0 +1 @@ +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13-pltcl b/srcpkgs/postgresql13-pltcl new file mode 120000 index 00000000000..f6f48b1ff3a --- /dev/null +++ b/srcpkgs/postgresql13-pltcl @@ -0,0 +1 @@ +postgresql13 \ No newline at end of file diff --git a/srcpkgs/postgresql13/files/pg_config.sh.in b/srcpkgs/postgresql13/files/pg_config.sh.in new file mode 100644 index 00000000000..3d20d215d0b --- /dev/null +++ b/srcpkgs/postgresql13/files/pg_config.sh.in @@ -0,0 +1,143 @@ +#!/bin/sh +# Released to Public Domain by Doan Tran Cong Danh + +print() { + printf '%s\n' "$@" +} + +sysroot="$(cd "${0%/*}" && cd ../.. && pwd)" + +BINDIR="$sysroot/@PREFIX@/bin" +DOCDIR="$sysroot/@PREFIX@/share/doc/postgresql" +HTMLDIR="$sysroot/@PREFIX@/share/doc/postgresql" +INCLUDEDIR="$sysroot/usr/include" +PKGINCLUDEDIR="$sysroot/usr/include/postgresql" +INCLUDEDIR_SERVER="$sysroot/usr/include/postgresql/server" +LIBDIR="$sysroot/@PREFIX@/lib" +PKGLIBDIR="$sysroot/@PREFIX@/lib/postgresql" +LOCALEDIR="$sysroot/@PREFIX@/share/locale" +MANDIR="$sysroot/@PREFIX@/share/man" +SHAREDIR="$sysroot/@PREFIX@/share/postgresql" +SYSCONFDIR="$sysroot/@PREFIX@/etc/postgresql" +PGXS="$sysroot/@PREFIX@/lib/postgresql/pgxs/src/makefiles/pgxs.mk" + +CONFIGURE="@configure_args@" +CC="@CC@" +CPPFLAGS="@CPPFLAGS@" +CFLAGS="@CFLAGS@" +CFLAGS_SL="@CFLAGS_SL@" +LDFLAGS="@LDFLAGS@" +LDFLAGS_EX="@LDFLAGS_EX@" +LDFLAGS_SL="@LDFLAGS_SL@" +LIBS="@LIBS@" +VERSION="PostgreSQL @FULL_VERSION@" + +if [ "$sysroot" != "/" ]; then + CPPFLAGS="$(print "$CPPFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")" + CFLAGS="$(print "$CFLAGS" | sed "s,-I *\\(/@PREFIX@/include\\),-I$sysroot\\1,g")" + LDFLAGS="$(print "$LDFLAGS" | sed "s,-L *\\(/@PREFIX@/lib\\),-L$sysroot\\1,g")" +fi + +usage() { + cat <<-EOF + $0 provides information about the installed version of PostgreSQL. + + Usage: + $0 [OPTION]... + + Options: + --bindir show location of user executables + --docdir show location of documentation files + --htmldir show location of HTML documentation files + --includedir show location of C header files of the client interfaces + --pkgincludedir show location of other C header files + --includedir-server show location of C header files for the server + --libdir show location of object code libraries + --pkglibdir show location of dynamically loadable modules + --localedir show location of locale support files + --mandir show location of manual pages + --sharedir show location of architecture-independent support files + --sysconfdir show location of system-wide configuration files + --pgxs show location of extension makefile + --configure show options given to PostgreSQL was built + --cc show CC value used when PostgreSQL was built + --cppflags show CPPFLAGS value used when PostgreSQL was built + --cflags show CFLAGS value used when PostgreSQL was built + --cflags_sl show CFLAGS_SL value used when PostgreSQL was built + --ldflags show LDFLAGS value used when PostgreSQL was built + --ldflags_ex show LDFLAGS_EX value used when PostgreSQL was built + --ldflags_sl show LDFLAGS_SL value used when PostgreSQL was built + --libs show LIBS value used when PostgreSQL was built + --version show the PostgreSQL version + -?, --help show this help, then exit + + With no arguments, all known items are shown. + + Report bugs to . + EOF +} + +if test $# -eq 0; then + cat <<-EOF + BINDIR = $BINDIR + DOCDIR = $DOCDIR + HTMLDIR = $HTMLDIR + INCLUDEDIR = $INCLUDEDIR + PKGINCLUDEDIR = $PKGINCLUDEDIR + INCLUDEDIR-SERVER = $INCLUDEDIR_SERVER + LIBDIR = $LIBDIR + PKGLIBDIR = $PKGLIBDIR + LOCALEDIR = $LOCALEDIR + MANDIR = $MANDIR + SHAREDIR = $SHAREDIR + SYSCONFDIR = $SYSCONFDIR + PGXS = $PGXS + CONFIGURE = $CONFIGURE + CC = $CC + CPPFLAGS = $CPPFLAGS + CFLAGS = $CFLAGS + CFLAGS_SL = $CFLAGS_SL + LDFLAGS = $LDFLAGS + LDFLAGS_EX = $LDFLAGS_EX + LDFLAGS_SL = $LDFLAGS_SL + LIBS = $LIBS + VERSION = $VERSION + EOF +fi + +for arg +do + if test "x$arg" = "x--help" || test "x$arg" = "x-?"; then + usage + exit 0 + fi +done + +for arg +do + case "$arg" in + --bindir) print "$BINDIR" ;; + --docdir) print "$DOCDIR" ;; + --htmldir) print "$HTMLDIR" ;; + --includedir) print "$INCLUDEDIR" ;; + --pkgincludedir) print "$PKGINCLUDEDIR" ;; + --includedir-server) print "$INCLUDEDIR_SERVER" ;; + --libdir) print "$LIBDIR" ;; + --pkglibdir) print "$PKGLIBDIR" ;; + --localedir) print "$LOCALEDIR" ;; + --mandir) print "$MANDIR" ;; + --sharedir) print "$SHAREDIR" ;; + --sysconfdir) print "$SYSCONFDIR" ;; + --pgxs) print "$PGXS" ;; + --configure) print "$CONFIGURE" ;; + --cc) print "$CC" ;; + --cppflags) print "$CPPFLAGS" ;; + --cflags) print "$CFLAGS" ;; + --cflags_sl) print "$CFLAGS_SL" ;; + --ldflags) print "$LDFLAGS" ;; + --ldflags_ex) print "$LDFLAGS_EX" ;; + --ldflags_sl) print "$LDFLAGS_SL" ;; + --libs) print "$LIBS" ;; + --version) print "$VERSION" ;; + esac +done diff --git a/srcpkgs/postgresql13/files/postgresql.confd b/srcpkgs/postgresql13/files/postgresql.confd new file mode 100644 index 00000000000..fe7106626fa --- /dev/null +++ b/srcpkgs/postgresql13/files/postgresql.confd @@ -0,0 +1,17 @@ +# Configuration file for the PostgreSQL server. + +# PostgreSQL's database directory +PGROOT="/var/lib/postgresql@VERSION@" + +# PostgreSQL's log file. +PGLOG="/var/log/postgresql@VERSION@.log" + +# Passed to initdb if necessary +INITOPTS="-A peer --auth-host=md5 --auth-local=peer --locale en_US.UTF-8" + +# Extra options to run postmaster with, e.g.: +# -N is the maximal number of client connections +# -B is the number of shared buffers and has to be at least 2x the value for -N +# Please read the man-page to postmaster for more options. Many of these options +# can be set directly in the configuration-file. +#PGOPTS="-N 512 -B 1024" diff --git a/srcpkgs/postgresql13/files/postgresql.pam b/srcpkgs/postgresql13/files/postgresql.pam new file mode 100644 index 00000000000..53724d1f86a --- /dev/null +++ b/srcpkgs/postgresql13/files/postgresql.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/srcpkgs/postgresql13/files/postgresql13/control/t b/srcpkgs/postgresql13/files/postgresql13/control/t new file mode 100755 index 00000000000..dcedfaa2018 --- /dev/null +++ b/srcpkgs/postgresql13/files/postgresql13/control/t @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/kill -INT `/usr/bin/head -1 /run/runit/supervise.postgresql@VERSION@/pid` diff --git a/srcpkgs/postgresql13/files/postgresql13/log/run b/srcpkgs/postgresql13/files/postgresql13/log/run new file mode 100755 index 00000000000..815d9c97407 --- /dev/null +++ b/srcpkgs/postgresql13/files/postgresql13/log/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec logger -p daemon.info -t postgres@VERSION@ diff --git a/srcpkgs/postgresql13/files/postgresql13/run b/srcpkgs/postgresql13/files/postgresql13/run new file mode 100755 index 00000000000..9d044e9a1ce --- /dev/null +++ b/srcpkgs/postgresql13/files/postgresql13/run @@ -0,0 +1,27 @@ +#!/bin/sh +. /@PREFIX@/etc/default/postgresql +: ${PGDATA:="$PGROOT/data"} + +if [ "$PGROOT" != "/var/lib/postgresql@VERSION@" ]; then + echo "Creating symlink /var/lib/postgresql@VERSION@ -> $PGROOT" + ln -sf "$PGROOT" /var/lib/postgresql@VERSION@ +fi + + +if [ ! -d "$PGDATA" ]; then + echo "Initializing database in $PGDATA" + + mkdir -p "$PGDATA" || exit 1 + chown -R postgres:postgres "$PGDATA" + chmod 0700 "$PGDATA" + su - postgres -c "/@PREFIX@/bin/initdb $INITOPTS -D '$PGDATA'" 2>&1 || { + rm -fr "$PGDATA" + exit 1 + } + + if [ -f /@PREFIX@/etc/postgresql/postgresql.conf ]; then + ln -sf /@PREFIX@/etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf" + fi +fi + +exec chpst -u postgres:postgres /@PREFIX@/bin/postgres -D "$PGDATA" $PGOPTS 2>&1 diff --git a/srcpkgs/postgresql13/files/profile.sh b/srcpkgs/postgresql13/files/profile.sh new file mode 100644 index 00000000000..54be2ca50a4 --- /dev/null +++ b/srcpkgs/postgresql13/files/profile.sh @@ -0,0 +1,14 @@ +appendpath () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +appendpath '/@PREFIX@/bin' + +unset appendpath + +export PATH diff --git a/srcpkgs/postgresql13/patches/pg_config-cross-value.patch b/srcpkgs/postgresql13/patches/pg_config-cross-value.patch new file mode 100644 index 00000000000..e16ae25a005 --- /dev/null +++ b/srcpkgs/postgresql13/patches/pg_config-cross-value.patch @@ -0,0 +1,45 @@ +Sources: Doan Tran Cong Danh +Upstream: No + - First part needs to be rework in configure script to be usable + upstream + - Second part would un-usable for Windows +diff --git src/common/Makefile src/common/Makefile +index ec04710..2af845f 100644 +--- src/common/Makefile ++++ src/common/Makefile +@@ -30,10 +30,13 @@ include $(top_builddir)/src/Makefile.global + + # don't include subdirectory-path-dependent -I and -L switches + STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS)) ++STD_CPPFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_CPPFLAGS)) ++STD_CFLAGS := $(subst @XBPS_SYSROOT@,,$(CFLAGS)) + STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS)) ++STD_LDFLAGS := $(subst @XBPS_SYSROOT@,,$(STD_LDFLAGS)) + override CPPFLAGS += -DVAL_CC="\"$(CC)\"" + override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\"" +-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\"" ++override CPPFLAGS += -DVAL_CFLAGS="\"$(STD_CFLAGS)\"" + override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\"" + override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\"" + override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\"" +@@ -72,7 +75,19 @@ OBJS_FRONTEND = $(OBJS_COMMON) fe_memutils.o restricted_token.o + GEN_KEYWORDLIST = $(PERL) -I $(TOOLSDIR) $(TOOLSDIR)/gen_keywordlist.pl + GEN_KEYWORDLIST_DEPS = $(TOOLSDIR)/gen_keywordlist.pl $(TOOLSDIR)/PerfectHash.pm + +-all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a ++all: libpgcommon.a libpgcommon_shlib.a libpgcommon_srv.a pg_config.sh ++ ++pg_config.sh: pg_config.sh.in ++ sed -e "s/@configure_args@/$(subst /,\\/,$(configure_args))/" \ ++ -e "s/@CC@/$(subst /,\\/,$(CC))/" \ ++ -e "s/@CPPFLAGS@/$(subst /,\\/,$(STD_CPPFLAGS))/" \ ++ -e "s/@CFLAGS@/$(subst /,\\/,$(STD_CFLAGS))/" \ ++ -e "s/@CFLAGS_SL@/$(subst /,\\/,$(CFLAGS_SL))/" \ ++ -e "s/@LDFLAGS@/$(subst /,\\/,$(STD_LDFLAGS))/" \ ++ -e "s/@LDFLAGS_EX@/$(subst /,\\/,$(LDFLAGS_EX))/" \ ++ -e "s/@LDFLAGS_SL@/$(subst /,\\/,$(LDFLAGS_SL))/" \ ++ -e "s/@LIBS@/$(subst /,\\/,$(LIBS))/" \ ++ $< >$@ + + distprep: kwlist_d.h + diff --git a/srcpkgs/postgresql13/patches/relocate.patch b/srcpkgs/postgresql13/patches/relocate.patch new file mode 100644 index 00000000000..65bab8ad4c6 --- /dev/null +++ b/srcpkgs/postgresql13/patches/relocate.patch @@ -0,0 +1,22 @@ +From bf0601df89f611b33d8dbc27722351bf99e2cc18 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= +Date: Sat, 18 Jan 2020 12:19:45 +0100 +Subject: [PATCH] relocate + + +diff --git src/port/path.c src/port/path.c +index 710988b..20dc57d 100644 +--- src/port/path.c ++++ src/port/path.c +@@ -544,6 +544,8 @@ make_relative_path(char *ret_path, const char *target_path, + int tail_len; + int i; + ++ goto no_match; // we relocate only binaries ++ + /* + * Determine the common prefix --- note we require it to end on a + * directory separator, consider eg '/usr/lib' and '/usr/libexec'. +-- +2.23.0 + diff --git a/srcpkgs/postgresql13/template b/srcpkgs/postgresql13/template new file mode 100644 index 00000000000..449a06a0fe3 --- /dev/null +++ b/srcpkgs/postgresql13/template @@ -0,0 +1,228 @@ +# Template file for 'postgresql13' +pkgname=postgresql13 +version=13.0 +revision=1 +wrksrc="postgresql-${version}" +build_style=gnu-configure +make_build_target=world +_major="${version%%.*}" +_prefix="usr/lib/psql${_major}" +configure_args="--with-openssl --with-python + --with-pam --enable-thread-safety + --with-perl --with-tcl --without-ldap --without-gssapi + --without-bonjour --with-libxml --with-libxslt + --with-system-tzdata=/usr/share/zoneinfo --enable-nls --with-uuid=e2fs" +hostmakedepends="docbook2x gettext flex openjade" +makedepends="libfl-devel libressl-devel libuuid-devel libxslt-devel pam-devel perl + python3-devel readline-devel tcl-devel" +checkdepends="tzdata" +short_desc="Sophisticated open-source Object-Relational DBMS" +maintainer="Piotr Wójcik " +license="PostgreSQL" +homepage="https://www.postgresql.org" +changelog="https://www.postgresql.org/docs/current/release-${version//./-}.html" +distfiles="https://ftp.postgresql.org/pub/source/v${version}/postgresql-${version}.tar.bz2" +checksum=80e750be8d436b54197636a02636f8fd3263ba6779bf865b04832495ea592296 + +conf_files=" + /${_prefix}/etc/default/postgresql + /${_prefix}/etc/pam.d/postgresql + /${_prefix}/etc/postgresql/postgresql.conf +" + +# Create 'postgres' user for the server. +system_accounts="postgres" +postgres_homedir="/var/lib/postgresql" +postgres_shell="/bin/sh" +postgres_descr="PostgreSQL database server user" +make_dirs=" + /var/lib/postgresql 0750 postgres postgres + /var/lib/postgresql${_major} 0750 postgres postgres" + +if [ "$CROSS_BUILD" ]; then + configure_args+=" --without-perl --without-python --without-tcl" +fi + +post_patch() { + cp "$FILESDIR"/pg_config.sh.in src/common/pg_config.sh.in + _substitute src/common/pg_config.sh.in + vsed -i -e "s,@XBPS_SYSROOT@,${XBPS_CROSS_BASE%/}," src/common/Makefile +} + +pre_configure() { + _style_configure_args="${configure_args}" + configure_args=" " + for arg in ${_style_configure_args}; do + case $arg in + --prefix=*|*dir=*) : ;; # skip + *) configure_args+=" $arg" + esac + done + configure_args="--prefix=/${_prefix} + --sysconfdir=/${_prefix}/etc + --includedir=/usr/include + ${configure_args}" +} + +post_build() { + make -C contrib ${makejobs} +} + +pre_check() { + ln -sr tmp_install/${_prefix} /${_prefix%/*} +} + +post_install() { + vmkdir usr/share/man + cp -r doc/src/sgml/man? ${DESTDIR}/usr/share/man + for i in ${DESTDIR}/usr/share/man/*[^3]/*; do + mv $i ${i%.*}-${_major}.${i##*.} + done + vmkdir ${_prefix}/share/doc + cp -r doc/src/sgml/html ${DESTDIR}/${_prefix}/share/doc + vsv ${pkgname} + find "${DESTDIR}/etc/sv" -type f -exec sed -i -e s:@VERSION@:${_major}: -e s:@PREFIX@:${_prefix}: '{}' ';' + vlicense COPYRIGHT + + vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh + _substitute ${DESTDIR}/etc/profile.d/${pkgname}.sh + vinstall ${FILESDIR}/postgresql.confd 644 ${_prefix}/etc/default postgresql + _substitute ${DESTDIR}/${_prefix}/etc/default/postgresql + vinstall ${FILESDIR}/postgresql.pam 644 ${_prefix}/etc/pam.d postgresql + _substitute ${DESTDIR}/${_prefix}/etc/pam.d/postgresql + vinstall ${DESTDIR}/${_prefix}/share/postgresql/postgresql.conf.sample \ + 644 ${_prefix}/etc/postgresql postgresql.conf + vbin src/common/pg_config.sh + + vsed -i 's/install_bin = .*/install_bin = install/g' \ + ${DESTDIR}/${_prefix}/lib/postgresql/pgxs/src/Makefile.global +} + +_substitute() { + sed -i "$1" -e s:@PREFIX@:${_prefix}: -e s:@VERSION@:${_major}: -e s:@FULL_VERSION@:${version}: +} + +postgresql13-doc_package() { + short_desc="PostgreSQL documentation" + pkg_install() { + vmove ${_prefix}/share/doc + } +} + +postgresql-libs_package() { + short_desc="PostgreSQL shared libraries" + conflicts="postgresql9.6-libs>=0 postgresql12-libs>=0" + pkg_install() { + vmove "${_prefix}/lib/*.so*" + for d in $(find ${DESTDIR}/${_prefix}/share/locale \ + -type f -name libpq5\*); do + mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + done + mv ${PKGDESTDIR}/${_prefix}/lib/* ${PKGDESTDIR}/usr/lib + } +} + +postgresql-libs-devel_package() { + depends="postgresql-libs>=${version}_${revision}" + short_desc="PostgreSQL shared libraries (development files)" + conflicts="postgresql9.6-libs-devel>=0 postgresql12-libs-devel>=0" + pkg_install() { + vmkdir usr/bin + vmkdir usr/lib + for f in pg_config ecpg; do + vmove ${_prefix}/bin/${f} + vmove "usr/share/man/man1/$(basename ${f})*" + ln -sr "${PKGDESTDIR}/${_prefix}/bin/${f}" "${PKGDESTDIR}/usr/bin" + done + vmove usr/bin/pg_config.sh + vmove usr/include + vmove "${_prefix}/lib/*.a" + mv "${DESTDIR}/${_prefix}/lib/pkgconfig" "${PKGDESTDIR}/usr/lib" + vmove usr/share/man/man3 + vmove ${_prefix}/lib/postgresql/pgxs + for f in libpq.so libpgtypes.so libecpg_compat.so libecpg.so; do + ln -sr "${PKGDESTDIR}/usr/lib/${f}" "${PKGDESTDIR}/${_prefix}/lib" + done + for d in $(find ${DESTDIR}/${_prefix}/share/locale \ + -type f -name pg_config\* -o -name ecpg\*); do + mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + done + } +} + +# XXX disabled for now in cross builds. +if [ -z "$CROSS_BUILD" ]; then + +postgresql13-plperl_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc="PL/Perl procedural language for PostgreSQL" + pkg_install() { + vmove "${_prefix}/lib/postgresql/plperl*" + for d in $(find ${DESTDIR}/${_prefix}/share/locale \ + -type f -name plperl\*); do + mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + done + } +} + +postgresql13-plpython_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc="PL/Python procedural language for PostgreSQL" + pkg_install() { + vmove "${_prefix}/lib/postgresql/plpython*" + for d in $(find ${DESTDIR}/${_prefix}/share/locale \ + -type f -name plpython\*); do + mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + done + } +} + +postgresql13-pltcl_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc="PL/Tcl procedural language for PostgreSQL" + pkg_install() { + vmove "${_prefix}/lib/postgresql/pltcl*" + for d in $(find ${DESTDIR}/${_prefix}/share/locale \ + -type f -name pltcl\*); do + mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + done + } +} + +fi # !CROSS_BUILD + +postgresql13-client_package() { + short_desc="Client frontends programs for PostgreSQL" + pkg_install() { + for f in clusterdb createdb createuser dropdb \ + dropuser pg_dump pg_dumpall pg_isready pg_restore psql reindexdb \ + vacuumdb; do + vmove ${_prefix}/bin/${f} + vmove usr/share/man/man1/$(basename ${f})-${_major}.1 + done + vmove usr/share/man/man7 + for d in $(find ${DESTDIR}/${_prefix}/share/locale \ + -type f -name pgscripts\* -o \ + -name psql\* -o \ + -name pg_dump\*); do + mkdir -p ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + mv ${d} ${PKGDESTDIR}/$(dirname ${d#${DESTDIR}}) + done + mv ${DESTDIR}/${_prefix}/share/postgresql/psqlrc.* \ + ${PKGDESTDIR}/${_prefix}/share + vinstall ${FILESDIR}/profile.sh 644 etc/profile.d ${pkgname}.sh + _substitute ${PKGDESTDIR}/etc/profile.d/${pkgname}.sh + } +} + +postgresql13-contrib_package() { + short_desc="PostgreSQL contributed programs and extensions" + pkg_install() { + make -C contrib install DESTDIR=${PKGDESTDIR} + } +} diff --git a/srcpkgs/postgresql13/update b/srcpkgs/postgresql13/update new file mode 100644 index 00000000000..160ccf14333 --- /dev/null +++ b/srcpkgs/postgresql13/update @@ -0,0 +1,2 @@ +site="https://ftp.postgresql.org/pub/source/" +pattern="v\K${version%%.*}[\d.]+(?!\w)" From 6dcc4d53975e66329190c22260994f0b1a6e8084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 26 Sep 2020 16:55:58 +0200 Subject: [PATCH 2/4] New package: postgresql12-libs Intended to build extensions of postgresql12. --- srcpkgs/postgresql12-libs | 1 + srcpkgs/postgresql12-libs-devel | 1 + srcpkgs/postgresql12/template | 6 +++--- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 120000 srcpkgs/postgresql12-libs create mode 120000 srcpkgs/postgresql12-libs-devel diff --git a/srcpkgs/postgresql12-libs b/srcpkgs/postgresql12-libs new file mode 120000 index 00000000000..52711bfce65 --- /dev/null +++ b/srcpkgs/postgresql12-libs @@ -0,0 +1 @@ +postgresql12 \ No newline at end of file diff --git a/srcpkgs/postgresql12-libs-devel b/srcpkgs/postgresql12-libs-devel new file mode 120000 index 00000000000..52711bfce65 --- /dev/null +++ b/srcpkgs/postgresql12-libs-devel @@ -0,0 +1 @@ +postgresql12 \ No newline at end of file diff --git a/srcpkgs/postgresql12/template b/srcpkgs/postgresql12/template index 2b12f15457b..eb0cd21594d 100644 --- a/srcpkgs/postgresql12/template +++ b/srcpkgs/postgresql12/template @@ -1,7 +1,7 @@ # Template file for 'postgresql12' pkgname=postgresql12 version=12.4 -revision=2 +revision=3 wrksrc="postgresql-${version}" build_style=gnu-configure make_build_target=world @@ -109,7 +109,7 @@ postgresql12-doc_package() { } } -postgresql-libs_package() { +postgresql12-libs_package() { short_desc="PostgreSQL shared libraries" conflicts="postgresql9.6-libs>=0" pkg_install() { @@ -123,7 +123,7 @@ postgresql-libs_package() { } } -postgresql-libs-devel_package() { +postgresql12-libs-devel_package() { depends="postgresql-libs>=${version}_${revision}" short_desc="PostgreSQL shared libraries (development files)" conflicts="postgresql9.6-libs-devel>=0" From 1854830276d4779048f214f10ba1b03f4a839fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 26 Sep 2020 16:55:58 +0200 Subject: [PATCH 3/4] postgis-postgresql12: build with postgresql12-libs --- srcpkgs/postgis-postgresql12/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/postgis-postgresql12/template b/srcpkgs/postgis-postgresql12/template index 0e4fd6f8f8c..3aea66db5db 100644 --- a/srcpkgs/postgis-postgresql12/template +++ b/srcpkgs/postgis-postgresql12/template @@ -1,7 +1,7 @@ # Template file for 'postgis-postgresql12' pkgname=postgis-postgresql12 version=3.0.2 -revision=1 +revision=2 wrksrc="postgis-${version}" build_style=gnu-configure configure_args=" @@ -10,8 +10,8 @@ configure_args=" --with-protobufdir=${XBPS_CROSS_BASE}/usr --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config" hostmakedepends="automake libtool perl pkg-config geos - libgdal-tools postgresql-libs-devel which" -makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel + libgdal-tools postgresql12-libs-devel which" +makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql12-libs-devel proj-devel protobuf-c-devel pcre-devel json-c-devel" short_desc="Spatial database extender for PostgreSQL" maintainer="Piotr Wójcik " From 6858cd8c6ea64a76d84fa7782d15b317c2b5c31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Sat, 26 Sep 2020 16:55:58 +0200 Subject: [PATCH 4/4] New package: postgis-postgresql13-3.0.2 --- srcpkgs/postgis-postgresql13/template | 27 +++++++++++++++++++++++++++ srcpkgs/postgis-postgresql13/update | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 srcpkgs/postgis-postgresql13/template create mode 100644 srcpkgs/postgis-postgresql13/update diff --git a/srcpkgs/postgis-postgresql13/template b/srcpkgs/postgis-postgresql13/template new file mode 100644 index 00000000000..2e0b3198c23 --- /dev/null +++ b/srcpkgs/postgis-postgresql13/template @@ -0,0 +1,27 @@ +# Template file for 'postgis-postgresql13' +pkgname=postgis-postgresql13 +version=3.0.2 +revision=1 +wrksrc="postgis-${version}" +build_style=gnu-configure +configure_args=" + --with-projdir=${XBPS_CROSS_BASE}/usr + --with-jsondir=${XBPS_CROSS_BASE}/usr + --with-protobufdir=${XBPS_CROSS_BASE}/usr + --with-geosconfig=${XBPS_CROSS_BASE}/usr/bin/geos-config" +hostmakedepends="automake libtool perl pkg-config geos + libgdal-tools postgresql-libs-devel which" +makedepends="geos-devel libgdal-devel libpqxx-devel libxml2-devel postgresql-libs-devel + proj-devel protobuf-c-devel pcre-devel json-c-devel" +short_desc="Spatial database extender for PostgreSQL" +maintainer="Piotr Wójcik " +license="GPL-2.0-or-later" +homepage="https://postgis.net/" +changelog="https://git.osgeo.org/gitea/postgis/postgis/raw/tag/${version}/NEWS" +distfiles="https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz" +checksum=a3a1641dfd73c83924088a185bdb8b35567b3d1dc8d0887f9e4b492e228ab2ca +nocross="FIXME: Cannot run test program to determine PROJ version" + +pre_configure() { + ./autogen.sh +} diff --git a/srcpkgs/postgis-postgresql13/update b/srcpkgs/postgis-postgresql13/update new file mode 100644 index 00000000000..dc7538d851a --- /dev/null +++ b/srcpkgs/postgis-postgresql13/update @@ -0,0 +1,2 @@ +pkgname=postgis +ignore="*alpha*"