Accepting request 1103837 from server:database:postgresql

Restore _multibuild

- Update to 15.4:
  * bsc#1214059, CVE-2023-39417: Disallow substituting a schema or
    owner name into an extension script if the name contains a
    quote, backslash, or dollar sign.
  * bsc#1214061, CVE-2023-39418: Fix MERGE to enforce row security
    policies properly.
  * https://www.postgresql.org/docs/15/release-15-4.html

- Restore the independence of mini builds from the main build after
  the -mini name change from April 4, 2023.
- Adjust icu handling to prepare for PostgreSQL 16.

- Overhaul postgresql-README.SUSE and move it from the binary
  package to the noarch wrapper package.
- Change the unix domain socket location from /var/run to /run.

OBS-URL: https://build.opensuse.org/request/show/1103837
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql15?expand=0&rev=9
This commit is contained in:
Dominique Leuenberger 2023-08-15 14:39:22 +00:00 committed by Git OBS Bridge
commit 993c643f39
8 changed files with 48 additions and 94 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932
size 22819107

View File

@ -1 +0,0 @@
ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932 postgresql-15.3.tar.bz2

BIN
postgresql-15.4.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9 postgresql-15.4.tar.bz2

View File

@ -1,80 +0,0 @@
Unix-Domain Socket Directory
============================
Upgrading PostgreSQL on openSUSE and SUSE Linux Enterprise Server
=================================================================
Current versions of PostgreSQL come with the pg_upgrade tool that
simplifies and speeds up the migration of a PostgreSQL installation to
a new version. Before version 9.1 dump and restore was needed which
was much slower.
pg_upgrade needs to have the server binaries of both versions
available. To allow this, we had to change the way PostgreSQL is
packaged as well as the naming of the packages, so that two or more
versions of PostgreSQL can be installed in parallel. The package
names for PostgreSQL contain numbers indicating the major version.
In PostgreSQL terms for versions up to 9.6 the major version consisted
of the first two components of the three-component version number,
i.e. 8.3, 8.4, 9.0, or 9.1. So, the packages for Postgresql 9.1 are
named postgresql91, postgresql91-server, etc. Inside the packages the
files were moved from their standard locations to a versioned location
such as /usr/lib/postgresql83/bin or /usr/lib/postgresql91/bin to
avoid file conflicts if packages are installed in parallel.
Starting with version 10 the PostgreSQL project changed their
versioning scheme from from three components to two, which means one
component for the major version and one for the minor. So, the
sequence of major version across the versioning scheme change will be:
9.4, 9.5, 9.6, 10, 11, 12. For versions that use the new versioning
scheme SUSE only puts the single component major version into the
package name, so the postgresql96 package (containg version 9.6
according to the old versioning scheme) will be followed by
postgresql10, then postgresql11, and so on.
The update-alternatives mechanism creates and maintains symbolic links
that cause one version (by default the highest installed version) to
re-appear in the standard locations. By default, database data are
stored under /var/lib/pgsql/data on SUSE Linux.
The following preconditions have to be fulfilled before data migration
can be started:
1. If not already done, the packages of the old PostgreSQL version
must be upgraded to the new packaging scheme through a maintenance
update.
2. The packages of the new PostgreSQL major version need to be
installed. As pg_upgrade is contained in postgresql91-contrib, that
one has to be installed as well, at least until the migration is
done.
3. Unless pg_upgrade is used in link mode, the server must have
enough free disk space to temporarily hold a copy of the database
files. If the database instance was installed in the default
location, the needed space in megabytes can be determined by running
the follwing command as root: "du -hs /var/lib/pgsql/data". If space
is tight, it might help to run the "VACUUM FULL" SQL command on each
database in the instance to be migrated, but be aware that it might
take very long.
The latest upstream documentation for pg_upgrade including step by
step instructions for performing a database migration can be found
online under https://www.postgresql.org/docs/current/pgupgrade.html ,
or locally under
file:///usr/share/doc/packages/postgresqlXX/html/pgupgrade.html , if
the postgresqlXX-docs package is installed. XX is a place holder for
the respective major version here.
NOTE: The online documentation starts with explaining how you can
install PostgreSQL from the upstream sources (which is not necessary
when you install the SUSE RPMs) and also uses other directory names
(/usr/local instead of the update-alternatives based path as described
above).
For background information about the inner workings of pg_upgrade and
a performance comparison with the old dump and restore method, see
http://momjian.us/main/writings/pgsql/pg_upgrade.pdf .

View File

@ -1,4 +1,4 @@
Change the built-in default socket directory to be /var/run/postgresql. Change the built-in default socket directory to be /run/postgresql.
For backwards compatibility with (probably non-libpq-based) clients that For backwards compatibility with (probably non-libpq-based) clients that
might still expect to find the socket in /tmp, also create a socket in might still expect to find the socket in /tmp, also create a socket in
/tmp. This is to resolve communication problems with clients operating /tmp. This is to resolve communication problems with clients operating
@ -48,7 +48,7 @@ Index: src/include/pg_config_manual.h
*/ */
#ifndef WIN32 #ifndef WIN32
-#define DEFAULT_PGSOCKET_DIR "/tmp" -#define DEFAULT_PGSOCKET_DIR "/tmp"
+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" +#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
#else #else
#define DEFAULT_PGSOCKET_DIR "" #define DEFAULT_PGSOCKET_DIR ""
#endif #endif

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Wed Aug 9 09:14:59 UTC 2023 - Reinhard Max <max@suse.com>
- Update to 15.4:
* bsc#1214059, CVE-2023-39417: Disallow substituting a schema or
owner name into an extension script if the name contains a
quote, backslash, or dollar sign.
* bsc#1214061, CVE-2023-39418: Fix MERGE to enforce row security
policies properly.
* https://www.postgresql.org/docs/15/release-15-4.html
-------------------------------------------------------------------
Fri May 26 11:48:38 UTC 2023 - Reinhard Max <max@suse.com>
- Restore the independence of mini builds from the main build after
the -mini name change from April 4, 2023.
- Adjust icu handling to prepare for PostgreSQL 16.
-------------------------------------------------------------------
Mon May 15 14:20:25 UTC 2023 - Reinhard Max <max@suse.com>
- Overhaul postgresql-README.SUSE and move it from the binary
package to the noarch wrapper package.
- Change the unix domain socket location from /var/run to /run.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue May 9 11:07:48 UTC 2023 - Reinhard Max <max@suse.com> Tue May 9 11:07:48 UTC 2023 - Reinhard Max <max@suse.com>

View File

@ -16,7 +16,7 @@
# #
%define pgversion 15.3 %define pgversion 15.4
%define pgmajor 15 %define pgmajor 15
%define buildlibs 1 %define buildlibs 1
%define tarversion %{pgversion} %define tarversion %{pgversion}
@ -69,7 +69,11 @@ Name: %pgname
%if %mini %if %mini
%bcond_with selinux %bcond_with selinux
%if %pgmajor >= 16
%bcond_without icu
%else
%bcond_with icu %bcond_with icu
%endif
%else %else
BuildRequires: %{python}-devel BuildRequires: %{python}-devel
BuildRequires: docbook_4 BuildRequires: docbook_4
@ -143,11 +147,18 @@ BuildRequires: pkg-config
BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(krb5)
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(systemd)
#!BuildIgnore: postgresql-implementation #!BuildIgnore: %pgname
#!BuildIgnore: postgresql-server-implementation #!BuildIgnore: %pgname-server
#!BuildIgnore: postgresql-devel-noarch #!BuildIgnore: %pgname-devel
#!BuildIgnore: postgresql-llvmjit-devel-noarch #!BuildIgnore: %pgname-server-devel
#!BuildIgnore: postgresql-server-devel-noarch #!BuildIgnore: %pgname-llvmjit
#!BuildIgnore: %pgname-llvmjit-devel
#!BuildIgnore: %pgname-contrib
#!BuildIgnore: %pgname-docs
#!BuildIgnore: %pgname-test
#!BuildIgnore: %pgname-pltcl
#!BuildIgnore: %pgname-plperl
#!BuildIgnore: %pgname-plpython
Summary: Basic Clients and Utilities for PostgreSQL Summary: Basic Clients and Utilities for PostgreSQL
License: PostgreSQL License: PostgreSQL
Group: Productivity/Databases/Tools Group: Productivity/Databases/Tools
@ -156,7 +167,6 @@ Release: 0
Source0: https://ftp.postgresql.org/pub/source/v%{tarversion}/postgresql-%{tarversion}.tar.bz2 Source0: https://ftp.postgresql.org/pub/source/v%{tarversion}/postgresql-%{tarversion}.tar.bz2
Source1: https://ftp.postgresql.org/pub/source/v%{tarversion}/postgresql-%{tarversion}.tar.bz2.sha256 Source1: https://ftp.postgresql.org/pub/source/v%{tarversion}/postgresql-%{tarversion}.tar.bz2.sha256
Source2: baselibs.conf Source2: baselibs.conf
Source3: postgresql-README.SUSE
Source17: postgresql-rpmlintrc Source17: postgresql-rpmlintrc
Patch1: postgresql-conf.patch Patch1: postgresql-conf.patch
# PL/Perl needs to be linked with rpath (bsc#578053) # PL/Perl needs to be linked with rpath (bsc#578053)
@ -630,7 +640,6 @@ install -d -m 750 %buildroot/var/lib/pgsql
install -d -m755 %buildroot%pgdocdir install -d -m755 %buildroot%pgdocdir
cp doc/KNOWN_BUGS doc/MISSING_FEATURES COPYRIGHT \ cp doc/KNOWN_BUGS doc/MISSING_FEATURES COPYRIGHT \
README HISTORY %buildroot%pgdocdir README HISTORY %buildroot%pgdocdir
cp -a %SOURCE3 %buildroot%pgdocdir/README.SUSE
# Use versioned names for the man pages: # Use versioned names for the man pages:
for f in %buildroot%pgmandir/man*/*; do for f in %buildroot%pgmandir/man*/*; do
mv $f ${f}pg%pgmajor mv $f ${f}pg%pgmajor