diff options
-rw-r--r-- | .SRCINFO | 54 | ||||
-rw-r--r-- | PKGBUILD | 139 | ||||
-rw-r--r-- | postgresql-check-db-dir | 4 | ||||
-rw-r--r-- | postgresql-run-socket.patch | 12 | ||||
-rw-r--r-- | postgresql-var-run-socket.patch | 47 | ||||
-rw-r--r-- | postgresql.service | 10 |
6 files changed, 146 insertions, 120 deletions
@@ -1,12 +1,12 @@ +# Generated by mksrcinfo v8 +# Mon Oct 29 22:48:17 UTC 2018 pkgbase = postgresql-1c - pkgdesc = Custom version of PostgreSQL 9.6 for 1C system - pkgver = 9.6.3 + pkgdesc = Sophisticated object-relational DBMS + pkgver = 10.3 pkgrel = 1 url = https://www.postgresql.org/ - changelog = postgresql-1c.changelog - arch = i686 arch = x86_64 - license = custom + license = custom:PostgreSQL makedepends = krb5 makedepends = libxml2 makedepends = python2 @@ -14,32 +14,46 @@ pkgbase = postgresql-1c makedepends = tcl>=8.6.0 makedepends = openssl>=1.0.0 makedepends = pam - source = https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.bz2 - source = postgresql-var-run-socket.patch + makedepends = zlib + source = https://ftp.postgresql.org/pub/source/v10.3/postgresql-10.3.tar.bz2 source = http://www.r-s-v.ru/1c-patch/1c-patch.tgz + source = postgresql-run-socket.patch source = postgresql.pam source = postgresql.logrotate source = postgresql.service source = postgresql-check-db-dir - sha256sums = 1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6 - sha256sums = 887e567520d843f7e9f6e91820219979a4c6539d3ca6c56ebefd6d55360eddeb - sha256sums = 65cc43fbd76022254f31a5125deadb18e3240966dc058734d81fe602f99817d4 + sha256sums = 6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a + sha256sums = cb5524cca3acf3775e18f5c2844baba4f39ff3f037614c17e90b5c3ac20b47fa + sha256sums = 8538619cb8bea51078b605ad64fe22abd6050373c7ae3ad6595178da52f6a7d9 sha256sums = 57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5 sha256sums = 6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e - sha256sums = c16981f70aca895d4a2adb36556213192776c1fc5bb75848a7f3211ad8d49c52 - sha256sums = 2340da0947bcb1c5602008d0ca00588ca0bfa8aca4fa6947a8bdb2c6df800b0e - sha512sums = 97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1 - sha512sums = 279c119b0c177d49a22dff0e9eb047ecfca5419a2bdfbd9a5908f67dfb2467ba9cbf4eab6c5fd0f9f5d1412c44a9dd14f826a97c0a9b1b519eafdbade04b8c47 - sha512sums = cbc1c017b7b666ee9ac1cf7826d7cb51d90408398d633055c946aa9b18f5c2f26114f8deaf6867b05bae991693bea2859f65da2632f2bc81fa5cd2a382c2be13 + sha256sums = ad025a5fb623b1a1e9dff0cc62cc63f66244bb27d81370a6251aa29e8574be94 + sha256sums = 888a1d44f03fccfa4bf344ee45824fefb846ae3c1c0c40113ad6020b4be3b0cf + sha512sums = 05cf82d3483bdf38734e6ff0fef6b80e7f8fd3cb5ea6792ffe222a599d97d1a29638970bf28ebf5bd1f877e8dcd9986d88f5c5e5379e74fe79ce83e20d2babba + sha512sums = 97b25013d5a31211c9bacd641de6f9638cbe4bcc831298eaff0587f4c439cfb5bb294231dc9d3dec90fa51d976885ae3f90e6b08bb397598f40c5e9f364ca471 + sha512sums = 031efe12d18ce386989062327cdbbe611c5ef1f94e4e1bead502304cb3e2d410af533d3c7f1109d24f9da9708214fe32f9a10ba373a3ca8d507bdb521fbb75f7 sha512sums = 1e6183ab0eb812b3ef687ac2c26ce78f7cb30540f606d20023669ac00ba04075487fb72e4dc89cc05dab0269ff6aca98fc1167cc75669c225b88b592482fbf67 sha512sums = 9ab4da01337ffbab8faec0e220aaa2a642dbfeccf7232ef2645bdc2177a953f17ee3cc14a4d8f8ebd064e1dae8b3dba6029adbffb8afaabea383963213941ba8 - sha512sums = 32ae9fe9d7484f5254af3ae873d9469010581486081c92dc7c0fca6a4f763bc4f559e811b73e4eea4b2eff934f6b083aaed2e51fe517f018fc73bb1a3134232e - sha512sums = f12d8777ca819366eac959e023fedf2eb409aa3f358f56269e13e19185d6e9c93c1f2a6e37c8bc6465ab32a02ff83d9f196ddea3cddf24a9884be9ac6970dad2 + sha512sums = acd60166ff513b16778705e824944945cd0a98abc519fa5f0232252e0e9c85460c6f8b85459d9692d1f3df1caaaf8909c3e7f785be99c2d3fb98a10b2641a795 + sha512sums = 56974ef34a8d94596068413154b1a7ed5a71f5a3942bd79427f05e6f6b7853036874dedd8d988bb94306023f2a675996d500b075eaf8a192ef5c24026eb28eb0 + +pkgname = postgresql-libs-1c + pkgdesc = Libraries for use with PostgreSQL + depends = krb5 + depends = openssl>=1.0.0 + depends = readline>=6.0 + depends = zlib + provides = postgresql-client + conflicts = postgresql-client + +pkgname = postgresql-docs-1c + pkgdesc = HTML documentation for PostgreSQL + options = docs pkgname = postgresql-1c - pkgdesc = Custom version of PostgreSQL 9.6 for 1C system + pkgdesc = Sophisticated object-relational DBMS install = postgresql.install - depends = postgresql-libs>=9.6.3 + depends = postgresql-libs>=10.3 depends = krb5 depends = libxml2 depends = readline>=6.0 @@ -49,8 +63,6 @@ pkgname = postgresql-1c optdepends = perl: for PL/Perl support optdepends = tcl: for PL/Tcl support optdepends = postgresql-old-upgrade: upgrade from previous major version using pg_upgrade - provides = postgresql${pkgver} - conflicts = postgresql options = staticlibs backup = etc/pam.d/postgresql backup = etc/logrotate.d/postgresql @@ -1,49 +1,51 @@ # Maintainer: Mihail Repnenkov <mrepnenkov@gmail.com> # Contributor: Ivan Agarkov <ivan.agarkov@gmail.com> -pkgname=('postgresql-1c') -pkgver=9.6.3 + +pkgbase=('postgresql-1c') +pkgname=('postgresql-libs-1c' 'postgresql-docs-1c' 'postgresql-1c') +pkgver=10.3 _majorver=${pkgver%.*} pkgrel=1 -pkgdesc="Custom version of PostgreSQL 9.6 for 1C system" +pkgdesc='Sophisticated object-relational DBMS' url='https://www.postgresql.org/' -arch=('i686' 'x86_64') -license=('custom') -changelog=$pkgname.changelog -makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl>=8.6.0' 'openssl>=1.0.0' 'pam') +arch=('x86_64') +license=('custom:PostgreSQL') +makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl>=8.6.0' 'openssl>=1.0.0' 'pam' 'zlib') source=(https://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 - postgresql-var-run-socket.patch http://www.r-s-v.ru/1c-patch/1c-patch.tgz + postgresql-run-socket.patch postgresql.pam postgresql.logrotate postgresql.service postgresql-check-db-dir) -sha256sums=('1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6' - '887e567520d843f7e9f6e91820219979a4c6539d3ca6c56ebefd6d55360eddeb' - '65cc43fbd76022254f31a5125deadb18e3240966dc058734d81fe602f99817d4' +sha256sums=('6ea268780ee35e88c65cdb0af7955ad90b7d0ef34573867f223f14e43467931a' + 'cb5524cca3acf3775e18f5c2844baba4f39ff3f037614c17e90b5c3ac20b47fa' + '8538619cb8bea51078b605ad64fe22abd6050373c7ae3ad6595178da52f6a7d9' '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e' - 'c16981f70aca895d4a2adb36556213192776c1fc5bb75848a7f3211ad8d49c52' - '2340da0947bcb1c5602008d0ca00588ca0bfa8aca4fa6947a8bdb2c6df800b0e') -sha512sums=('97141972e154e6b0e756ee6a4e20f26e82022a9fd4c56305314a3a5567a79ece638e4ac3d513b46138737ae6bd27a098f30013a94767db151181aac9c01290a1' - '279c119b0c177d49a22dff0e9eb047ecfca5419a2bdfbd9a5908f67dfb2467ba9cbf4eab6c5fd0f9f5d1412c44a9dd14f826a97c0a9b1b519eafdbade04b8c47' - 'cbc1c017b7b666ee9ac1cf7826d7cb51d90408398d633055c946aa9b18f5c2f26114f8deaf6867b05bae991693bea2859f65da2632f2bc81fa5cd2a382c2be13' + 'ad025a5fb623b1a1e9dff0cc62cc63f66244bb27d81370a6251aa29e8574be94' + '888a1d44f03fccfa4bf344ee45824fefb846ae3c1c0c40113ad6020b4be3b0cf') +sha512sums=('05cf82d3483bdf38734e6ff0fef6b80e7f8fd3cb5ea6792ffe222a599d97d1a29638970bf28ebf5bd1f877e8dcd9986d88f5c5e5379e74fe79ce83e20d2babba' + '97b25013d5a31211c9bacd641de6f9638cbe4bcc831298eaff0587f4c439cfb5bb294231dc9d3dec90fa51d976885ae3f90e6b08bb397598f40c5e9f364ca471' + '031efe12d18ce386989062327cdbbe611c5ef1f94e4e1bead502304cb3e2d410af533d3c7f1109d24f9da9708214fe32f9a10ba373a3ca8d507bdb521fbb75f7' '1e6183ab0eb812b3ef687ac2c26ce78f7cb30540f606d20023669ac00ba04075487fb72e4dc89cc05dab0269ff6aca98fc1167cc75669c225b88b592482fbf67' '9ab4da01337ffbab8faec0e220aaa2a642dbfeccf7232ef2645bdc2177a953f17ee3cc14a4d8f8ebd064e1dae8b3dba6029adbffb8afaabea383963213941ba8' - '32ae9fe9d7484f5254af3ae873d9469010581486081c92dc7c0fca6a4f763bc4f559e811b73e4eea4b2eff934f6b083aaed2e51fe517f018fc73bb1a3134232e' - 'f12d8777ca819366eac959e023fedf2eb409aa3f358f56269e13e19185d6e9c93c1f2a6e37c8bc6465ab32a02ff83d9f196ddea3cddf24a9884be9ac6970dad2') + 'acd60166ff513b16778705e824944945cd0a98abc519fa5f0232252e0e9c85460c6f8b85459d9692d1f3df1caaaf8909c3e7f785be99c2d3fb98a10b2641a795' + '56974ef34a8d94596068413154b1a7ed5a71f5a3942bd79427f05e6f6b7853036874dedd8d988bb94306023f2a675996d500b075eaf8a192ef5c24026eb28eb0') -build() { +prepare() { cd postgresql-${pkgver} + patch -p1 < ../postgresql-run-socket.patch + patch -p1 < ../00001-1c_FULL_100_EXT.patch + patch -p1 < ../00002-online_analyze.patch + patch -p1 < ../00003-plantuner.patch + patch -p1 < ../00004-postgresql-1c-10.patch + patch -p1 < ../00005-coalesce_cost.patch + patch -p1 < ../00006-pg_receivewal.patch +} - patch -Np0 < ../postgresql-var-run-socket.patch - patch -p1 < ../00001-1c_FULL_96-0.23.patch - patch -p1 < ../00002-applock_remove_autogenerated_files.patch - patch -p1 < ../00003-applock.patch - patch -p1 < ../00004-online_analyze.patch - patch -p1 < ../00005-plantuner.patch - patch -p1 < ../00006-postgresql-1c-9.6.patch - patch -p1 < ../00007-exists_opt-2.patch - +build() { + cd postgresql-${pkgver} ./configure \ --prefix=/usr \ --mandir=/usr/share/man \ @@ -59,16 +61,68 @@ build() { --with-system-tzdata=/usr/share/zoneinfo \ --with-uuid=e2fs \ --enable-nls \ - --enable-thread-safety \ - --disable-integer-datetime - + --enable-thread-safety make world } +package_postgresql-libs-1c() { + pkgdesc="Libraries for use with PostgreSQL" + depends=('krb5' 'openssl>=1.0.0' 'readline>=6.0' 'zlib') + provides=('postgresql-client') + conflicts=('postgresql-client') + + cd postgresql-${pkgver} + + # install license + install -Dm 644 COPYRIGHT -t "${pkgdir}/usr/share/licenses/${pkgname}" + + # install libs and non-server binaries + for dir in src/interfaces src/bin/pg_config src/bin/pg_dump src/bin/psql src/bin/scripts; do + make -C ${dir} DESTDIR="${pkgdir}" install + done + + for util in pg_config pg_dump pg_dumpall pg_restore psql \ + clusterdb createdb createuser dropdb dropuser pg_isready reindexdb vacuumdb; do + install -Dm 644 doc/src/sgml/man1/${util}.1 "${pkgdir}"/usr/share/man/man1/${util}.1 + done + + cd src/include + + mkdir -p "${pkgdir}"/usr/include/{libpq,postgresql/internal/libpq} + + # these headers are needed by the public headers of the interfaces + install -m 644 pg_config.h "${pkgdir}/usr/include" + install -m 644 pg_config_os.h "${pkgdir}/usr/include" + install -m 644 pg_config_ext.h "${pkgdir}/usr/include" + install -m 644 postgres_ext.h "${pkgdir}/usr/include" + install -m 644 libpq/libpq-fs.h "${pkgdir}/usr/include/libpq" + install -m 644 pg_config_manual.h "${pkgdir}/usr/include" + + # these he aders are needed by the not-so-public headers of the interfaces + install -m 644 c.h "${pkgdir}/usr/include/postgresql/internal" + install -m 644 port.h "${pkgdir}/usr/include/postgresql/internal" + install -m 644 postgres_fe.h "${pkgdir}/usr/include/postgresql/internal" + install -m 644 libpq/pqcomm.h "${pkgdir}/usr/include/postgresql/internal/libpq" +} + +package_postgresql-docs-1c() { + pkgdesc="HTML documentation for PostgreSQL" + options=('docs') + + cd postgresql-${pkgver} + + install -Dm 644 COPYRIGHT -t "${pkgdir}/usr/share/licenses/${pkgname}" + + make -C doc/src/sgml DESTDIR="${pkgdir}" install-html + chown -R root:root "${pkgdir}/usr/share/doc/postgresql/html" + + # clean up + rmdir "${pkgdir}"/usr/share/man/man{1,3,7} + rmdir "${pkgdir}"/usr/share/man +} + package_postgresql-1c() { - conflicts=('postgresql') - provides=('postgresql${pkgver}') - pkgdesc='Custom version of PostgreSQL 9.6 for 1C system' + pkgdesc='Sophisticated object-relational DBMS' backup=('etc/pam.d/postgresql' 'etc/logrotate.d/postgresql') depends=("postgresql-libs>=${pkgver}" 'krb5' 'libxml2' 'readline>=6.0' 'openssl>=1.0.0' 'pam') optdepends=('python2: for PL/Python support' @@ -90,12 +144,12 @@ package_postgresql-1c() { make -C ${dir} DESTDIR="${pkgdir}" uninstall done for util in pg_config pg_dump pg_dumpall pg_restore psql \ - clusterdb createdb createlang createuser dropdb droplang dropuser pg_isready reindexdb vacuumdb; do + clusterdb createdb createuser dropdb dropuser pg_isready reindexdb vacuumdb; do rm "${pkgdir}"/usr/share/man/man1/${util}.1 done # install license - install -Dm 644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE" + install -Dm 644 COPYRIGHT -t "${pkgdir}/usr/share/licenses/${pkgname}" # clean up unneeded installed items rm -rf "${pkgdir}/usr/include/postgresql/internal" @@ -103,14 +157,9 @@ package_postgresql-1c() { find "${pkgdir}/usr/include" -maxdepth 1 -type f -execdir rm {} + rmdir "${pkgdir}/usr/share/doc/postgresql/html" - install -Dm 644 "${srcdir}/postgresql.service" \ - "${pkgdir}/usr/lib/systemd/system/postgresql.service" - install -Dm 755 "${srcdir}/postgresql-check-db-dir" \ - "${pkgdir}/usr/bin/postgresql-check-db-dir" - - install -Dm 644 "${srcdir}/postgresql.pam" \ - "${pkgdir}/etc/pam.d/postgresql" + install -Dm 644 "${srcdir}/postgresql.service" -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 755 "${srcdir}/postgresql-check-db-dir" -t "${pkgdir}/usr/bin" - install -Dm 644 "${srcdir}/postgresql.logrotate" \ - "${pkgdir}/etc/logrotate.d/postgresql" + install -Dm 644 "${srcdir}/postgresql.pam" "${pkgdir}/etc/pam.d/postgresql" + install -Dm 644 "${srcdir}/postgresql.logrotate" "${pkgdir}/etc/logrotate.d/postgresql" } diff --git a/postgresql-check-db-dir b/postgresql-check-db-dir index aa51d7643535..acf73eb15851 100644 --- a/postgresql-check-db-dir +++ b/postgresql-check-db-dir @@ -16,9 +16,9 @@ then fi # PGMAJORVERSION is major version -PGMAJORVERSION=9.6 +PGMAJORVERSION=10 # PREVMAJORVERSION is the previous major version -PREVMAJORVERSION=9.5 +PREVMAJORVERSION=9.6 # Check for the PGDATA structure if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ] diff --git a/postgresql-run-socket.patch b/postgresql-run-socket.patch new file mode 100644 index 000000000000..b558c7b74961 --- /dev/null +++ b/postgresql-run-socket.patch @@ -0,0 +1,12 @@ +diff -Naur postgresql-9.2.0.sockets/src/include/pg_config_manual.h postgresql-9.2.0/src/include/pg_config_manual.h +--- postgresql-9.2.0.sockets/src/include/pg_config_manual.h 2012-09-06 17:26:17.000000000 -0400 ++++ postgresql-9.2.0/src/include/pg_config_manual.h 2012-09-06 18:13:18.183092471 -0400 +@@ -144,7 +144,7 @@ + * here's where to twiddle it. You can also override this at runtime + * with the postmaster's -k switch. + */ +-#define DEFAULT_PGSOCKET_DIR "/tmp" ++#define DEFAULT_PGSOCKET_DIR "/run/postgresql" + + /* + * The random() function is expected to yield values between 0 and diff --git a/postgresql-var-run-socket.patch b/postgresql-var-run-socket.patch deleted file mode 100644 index 40ff0e05e3eb..000000000000 --- a/postgresql-var-run-socket.patch +++ /dev/null @@ -1,47 +0,0 @@ -Change the built-in default socket directory to be /var/run/postgresql. -For backwards compatibility with (probably non-libpq-based) clients that -might still expect to find the socket in /tmp, also create a socket in -/tmp. This is to resolve communication problems with clients operating -under systemd's PrivateTmp environment, which won't be using the same -global /tmp directory as the server; see bug #825448. - -Note that we apply the socket directory change at the level of the -hard-wired defaults in the C code, not by just twiddling the setting in -postgresql.conf.sample; this is so that the change will take effect on -server package update, without requiring any existing postgresql.conf -to be updated. (Of course, a user who dislikes this behavior can still -override it via postgresql.conf.) - ---- src/backend/utils/misc/guc.c.old 2016-09-28 23:52:17.410314055 +0300 -+++ src/backend/utils/misc/guc.c 2016-09-28 23:53:01.735921591 +0300 -@@ -3353,7 +3353,7 @@ - }, - &Unix_socket_directories, - #ifdef HAVE_UNIX_SOCKETS -- DEFAULT_PGSOCKET_DIR, -+ DEFAULT_PGSOCKET_DIR ", /tmp", - #else - "", - #endif ---- src/bin/initdb/initdb.c.old 2016-09-28 23:53:22.081741447 +0300 -+++ src/bin/initdb/initdb.c 2016-09-28 23:53:42.546560249 +0300 -@@ -1221,7 +1221,7 @@ - - #ifdef HAVE_UNIX_SOCKETS - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = '%s'", -- DEFAULT_PGSOCKET_DIR); -+ DEFAULT_PGSOCKET_DIR ", /tmp"); - #else - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = ''"); - #endif ---- src/include/pg_config_manual.h.old 2016-09-28 23:54:02.615382558 +0300 -+++ src/include/pg_config_manual.h 2016-09-28 23:54:22.287208381 +0300 -@@ -164,7 +164,7 @@ - * here's where to twiddle it. You can also override this at runtime - * with the postmaster's -k switch. - */ --#define DEFAULT_PGSOCKET_DIR "/tmp" -+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" - - /* - * This is the default event source for Windows event log. diff --git a/postgresql.service b/postgresql.service index 68742b6b0bea..3981058622dd 100644 --- a/postgresql.service +++ b/postgresql.service @@ -3,7 +3,7 @@ Description=PostgreSQL database server After=network.target [Service] -Type=forking +Type=notify TimeoutSec=120 User=postgres Group=postgres @@ -16,9 +16,10 @@ RuntimeDirectory=postgresql RuntimeDirectoryMode=755 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data -ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120 -ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload -ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast +ExecStart=/usr/bin/postgres -D ${PGROOT}/data +ExecReload=/bin/kill -HUP ${MAINPID} +KillMode=mixed +KillSignal=SIGINT # Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in # killing Postgres, so adjust it downward @@ -32,4 +33,3 @@ NoNewPrivileges=true [Install] WantedBy=multi-user.target - |