Package: postgresql-plproxy Version: 2.7-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu zesty ubuntu-patch
Dear Maintainer, The autopkgtests for postgresql-plproxy have been failing ever since 2.6-2 because postgres is not network namespace aware. In Ubuntu, the attached patch was applied to achieve the following: * d/t/installcheck fixes: - Passing a port to pg_virtualenv even with newnet does not avoid port collisions, as pg_virtualenv (via pg_createcluster) is only looking at the configured clusters on the filesystem, not what is running in the current network namespace. Set an alternative PG_CLUSTER_CONF_ROOT instead, and set it before we call pg_virtualenv. - Set the socket directory for pg_createcluster, as we are using the standard port and that can lead to conflicts. This also requires making the AUTOPKGTEST_TMP directory world-writeable so the postgres user can write socket information there. Thanks for considering the patch. *** /tmp/tmpnVHESZ/postgresql-plproxy_2.7-1ubuntu1.debdiff diff -Nru postgresql-plproxy-2.7/debian/tests/installcheck postgresql-plproxy-2.7/debian/tests/installcheck --- postgresql-plproxy-2.7/debian/tests/installcheck 2016-09-25 14:04:41.000000000 -0700 +++ postgresql-plproxy-2.7/debian/tests/installcheck 2017-02-28 10:19:53.000000000 -0800 @@ -21,9 +21,19 @@ ;; esac - if ! newnet pg_virtualenv -c '-p 5432 --locale C' -i '--auth trust' -v $v \ - make -f $PWD/Makefile \ - installcheck PG_CONFIG=/usr/lib/postgresql/$v/bin/pg_config; then + # AUTOPKGTEST_TMP is not writeable by any user except root, but + # we want to use it for storing the Postgres socket + # Set PG_CLUSTER_CONF_ROOT, because although we are running in a + # network namespace (so we can reuse the default port), + # pg_virtualenv/pg_createcluster looks at the configured + # databases on the filesystem + # Set the socket directory because we are to re-use the port and + # there can be conflicts in the normal socket directory + if ! chmod o+w $AUTOPKGTEST_TMP && \ + PG_CLUSTER_CONF_ROOT=$AUTOPKGTEST_TMP \ + PG_CONFIG=/usr/lib/postgresql/$v/bin/pg_config \ + newnet pg_virtualenv -c "-p 5432 --locale C -s $AUTOPKGTEST_TMP" -i '--auth trust' -v $v \ + make -f $PWD/Makefile installcheck; then \ head -n 500 regression.diffs exit 1 fi -- System Information: Debian Release: stretch/sid APT prefers zesty APT policy: (500, 'zesty') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.10.0-8-generic (SMP w/4 CPU cores) Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) -- Nishanth Aravamudan Ubuntu Server Canonical Ltd