Sync from SUSE:SLFO:Main postgresql15 revision 8f4023b60bac527a6f7b896b9f85e3ec

This commit is contained in:
Adrian Schröter 2024-11-25 20:48:18 +01:00
parent f6a1f2475e
commit 990e5ce23e
11 changed files with 250 additions and 152 deletions

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
<overwrite>
<conditions>
<arch>s390x</arch>
</conditions>
<hardware>
<memory>
<size unit="G">12</size>
</memory>
</hardware>
</overwrite>
</constraints>

View File

@ -1,3 +0,0 @@
<multibuild>
<package>mini</package>
</multibuild>

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

Binary file not shown.

View File

@ -0,0 +1 @@
55abe738d441f0e58658b3ec6f88097a713b5e3b73139f6230d7b5c4c389e573 postgresql-15.10.tar.bz2

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

Binary file not shown.

View File

@ -1 +0,0 @@
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

@ -4,11 +4,9 @@ Date: Mon Mar 11 18:42:39 2013 +0100
don't unlink the result file don't unlink the result file
Index: postgresql-15beta1/src/test/regress/pg_regress.c --- src/test/regress/pg_regress.c.orig
=================================================================== +++ src/test/regress/pg_regress.c
--- postgresql-15beta1.orig/src/test/regress/pg_regress.c @@ -2585,7 +2585,6 @@ regression_main(int argc, char *argv[],
+++ postgresql-15beta1/src/test/regress/pg_regress.c
@@ -2574,7 +2574,6 @@ regression_main(int argc, char *argv[],
else else
{ {
unlink(difffilename); unlink(difffilename);

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,157 @@
-------------------------------------------------------------------
Tue Nov 19 14:27:34 UTC 2024 - Reinhard Max <max@suse.com>
- Upgrade to 15.10
* Repair ABI break for extensions that work with struct
ResultRelInfo.
* Restore functionality of ALTER {ROLE|DATABASE} SET role.
* Fix cases where a logical replication slot's restart_lsn could
go backwards.
* Avoid deleting still-needed WAL files during pg_rewind.
* Fix race conditions associated with dropping shared statistics
entries.
* Count index scans in contrib/bloom indexes in the statistics
views, such as the pg_stat_user_indexes.idx_scan counter.
* Fix crash when checking to see if an index's opclass options
have changed.
* Avoid assertion failure caused by disconnected NFA sub-graphs
in regular expression parsing.
* https://www.postgresql.org/docs/release/15.10/
-------------------------------------------------------------------
Wed Nov 13 13:55:01 UTC 2024 - Reinhard Max <max@suse.com>
- Upgrade to 15.9:
* CVE-2024-10976, bsc#1233323: Ensure cached plans are marked as
dependent on the calling role when RLS applies to a
non-top-level table reference.
* CVE-2024-10977, bsc#1233325: Make libpq discard error messages
received during SSL or GSS protocol negotiation.
* CVE-2024-10978, bsc#1233326: Fix unintended interactions
between SET SESSION AUTHORIZATION and SET ROLE
* CVE-2024-10979, bsc#1233327: Prevent trusted PL/Perl code from
changing environment variables.
* https://www.postgresql.org/about/news/p-2955/
* https://www.postgresql.org/docs/release/15.9/
-------------------------------------------------------------------
Tue Nov 5 12:35:17 UTC 2024 - Reinhard Max <max@suse.com>
- Sync spec file from postgresql17.
-------------------------------------------------------------------
Sat Aug 10 14:11:36 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Upgrade to 15.8 (bsc#1229013):
* bsc#1229013, CVE-2024-7348 PostgreSQL relation replacement
during pg_dump executes arbitrary SQL
* https://www.postgresql.org/about/news/p-2910/
* https://www.postgresql.org/docs/release/15.8/
-------------------------------------------------------------------
Wed May 8 12:05:25 UTC 2024 - Reinhard Max <max@suse.com>
- Upgrade to 15.7 (bsc#1224051):
* bsc#1224038, CVE-2024-4317: Restrict visibility of pg_stats_ext
and pg_stats_ext_exprs entries to the table owner. See the
release notes for the steps that have to be taken to fix
existing PostgreSQL instances.
* Fix incompatibility with LLVM 18.
* https://www.postgresql.org/docs/release/15.7/
- Prepare for PostgreSQL 17.
- Make sure all compilation and doc generation happens in %build.
-------------------------------------------------------------------
Tue Mar 12 22:48:41 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Require LLVM <= 17 for now, because LLVM 18 doesn't seem to work.
-------------------------------------------------------------------
Thu Mar 7 15:04:40 UTC 2024 - Sarah Kriesch <sarah.kriesch@opensuse.org>
- Remove constraints file because improved memory usage for s390x
-------------------------------------------------------------------
Thu Feb 29 14:36:57 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Thu Feb 8 14:04:50 UTC 2024 - Reinhard Max <max@suse.com>
- Upgrade to 15.6:
* bsc#1219679, CVE-2024-0985: Tighten security restrictions
within REFRESH MATERIALIZED VIEW CONCURRENTLY.
One step of a concurrent refresh command was run under weak
security restrictions. If a materialized view's owner could
persuade a superuser or other high-privileged user to perform a
concurrent refresh on that view, the view's owner could control
code executed with the privileges of the user running REFRESH.
Fix things so that all user-determined code is run as the
view's owner, as expected
* If you use GIN indexes, you may need to reindex after updating
to this release.
* LLVM 18 is now supported.
* https://www.postgresql.org/docs/release/15.6/
-------------------------------------------------------------------
Wed Nov 8 14:26:51 UTC 2023 - Reinhard Max <max@suse.com>
- Upgrade to 15.5:
* bsc#1216962, CVE-2023-5868: Fix handling of unknown-type
arguments in DISTINCT "any" aggregate functions. This error led
to a text-type value being interpreted as an unknown-type value
(that is, a zero-terminated string) at runtime. This could
result in disclosure of server memory following the text value.
* bsc#1216961, CVE-2023-5869: Detect integer overflow while
computing new array dimensions. When assigning new elements to
array subscripts that are outside the current array bounds, an
undetected integer overflow could occur in edge cases. Memory
stomps that are potentially exploitable for arbitrary code
execution are possible, and so is disclosure of server memory.
* bsc#1216960, CVE-2023-5870: Prevent the pg_signal_backend role
from signalling background workers and autovacuum processes.
The documentation says that pg_signal_backend cannot issue
signals to superuser-owned processes. It was able to signal
these background processes, though, because they advertise a
role OID of zero. Treat that as indicating superuser ownership.
The security implications of cancelling one of these process
types are fairly small so far as the core code goes (we'll just
start another one), but extensions might add background workers
that are more vulnerable.
Also ensure that the is_superuser parameter is set correctly in
such processes. No specific security consequences are known for
that oversight, but it might be significant for some extensions.
* Add support for LLVM 16 and 17
* https://www.postgresql.org/docs/15/release-15-5.html
-------------------------------------------------------------------
Tue Oct 31 10:57:13 UTC 2023 - Reinhard Max <max@suse.com>
- boo#1216734: Revert the last change and make the devel package
independend of all other subpackages except for the libs.
-------------------------------------------------------------------
Tue Oct 10 12:49:02 UTC 2023 - Reinhard Max <max@suse.com>
- boo#1216022: Call install-alternatives from the devel subpackage
as well, otherwise the symlink for ecpg might be missing.
-------------------------------------------------------------------
Mon Sep 18 15:24:14 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Also buildignore the postgresql*-implementation symbols: this is
needed in order to bootstrap when no postgresql version currently
has valid symbols provided. Once the packages are built, OBS
could translate this to the pgname-* packages and accept the
ignores; during bootstrap though, there is nothing providing the
symbol and the existing buildignores do not suffice.
-------------------------------------------------------------------
Thu Sep 14 12:18:06 UTC 2023 - Reinhard Max <max@suse.com>
- The libs and mini package are now provided by postgresql16.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Aug 9 09:14:59 UTC 2023 - Reinhard Max <max@suse.com> Wed Aug 9 09:14:59 UTC 2023 - Reinhard Max <max@suse.com>
@ -9,6 +163,20 @@ Wed Aug 9 09:14:59 UTC 2023 - Reinhard Max <max@suse.com>
policies properly. policies properly.
* https://www.postgresql.org/docs/15/release-15-4.html * 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>
@ -17,6 +185,7 @@ Tue May 9 11:07:48 UTC 2023 - Reinhard Max <max@suse.com>
Prevent CREATE SCHEMA from defeating changes in search_path Prevent CREATE SCHEMA from defeating changes in search_path
* bsc#1211229, CVE-2023-2455: Enforce row-level security * bsc#1211229, CVE-2023-2455: Enforce row-level security
policies correctly after inlining a set-returning function policies correctly after inlining a set-returning function
* https://www.postgresql.org/about/news/2637/
* https://www.postgresql.org/docs/15/release-15-3.html * https://www.postgresql.org/docs/15/release-15-3.html
------------------------------------------------------------------- -------------------------------------------------------------------

View File

@ -1,7 +1,7 @@
# #
# spec file # spec file for package postgresql15
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,11 +16,13 @@
# #
%define pgversion 15.4 %define pgversion 15.10
%define pgmajor 15 %define pgmajor 15
%define buildlibs 1 %define buildlibs 0
%define tarversion %{pgversion} %define tarversion %{pgversion}
%define latest_supported_llvm_ver 15 %define oldest_supported_llvm_ver 10
# To be able to use cmake(LLVM) < ...
%define latest_supported_llvm_ver_plus_one 19
### CUT HERE ### ### CUT HERE ###
%define pgname postgresql%pgmajor %define pgname postgresql%pgmajor
@ -59,6 +61,12 @@ Name: %pgname
%define python python %define python python
%endif %endif
%if %pgmajor >= 17
%bcond_with derived
%else
%bcond_without derived
%endif
%if 0%{?suse_version} >= 1500 %if 0%{?suse_version} >= 1500
%bcond_without liblz4 %bcond_without liblz4
%endif %endif
@ -67,9 +75,19 @@ Name: %pgname
%bcond_without libzstd %bcond_without libzstd
%endif %endif
%if %{without derived}
BuildRequires: bison
BuildRequires: docbook-xsl-stylesheets
BuildRequires: flex
BuildRequires: perl
%endif
%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
@ -128,13 +146,8 @@ BuildRequires: libselinux-devel
%endif %endif
%if %{with llvm} %if %{with llvm}
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%if 0%{?product_libs_llvm_ver} > %{latest_supported_llvm_ver} BuildRequires: (cmake(Clang) >= %{oldest_supported_llvm_ver} with cmake(Clang) < %{latest_supported_llvm_ver_plus_one})
BuildRequires: clang%{latest_supported_llvm_ver} BuildRequires: (cmake(LLVM) >= %{oldest_supported_llvm_ver} with cmake(LLVM) < %{latest_supported_llvm_ver_plus_one})
BuildRequires: llvm%{latest_supported_llvm_ver}-devel
%else
BuildRequires: clang
BuildRequires: llvm-devel
%endif
%endif %endif
BuildRequires: libxslt-devel BuildRequires: libxslt-devel
BuildRequires: openldap2-devel BuildRequires: openldap2-devel
@ -143,11 +156,22 @@ BuildRequires: pkg-config
BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(krb5)
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(systemd)
#!BuildIgnore: %pgname
#!BuildIgnore: %pgname-server
#!BuildIgnore: %pgname-devel
#!BuildIgnore: %pgname-server-devel
#!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
#!BuildIgnore: postgresql-implementation #!BuildIgnore: postgresql-implementation
#!BuildIgnore: postgresql-server-implementation #!BuildIgnore: postgresql-server-implementation
#!BuildIgnore: postgresql-devel-noarch #!BuildIgnore: postgresql-server-devel-implementation
#!BuildIgnore: postgresql-llvmjit-devel-noarch #!BuildIgnore: postgresql-llvmjit-devel-implementation
#!BuildIgnore: postgresql-server-devel-noarch
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 +180,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)
@ -173,7 +196,7 @@ Provides: postgresql = %version-%release
Provides: postgresql-implementation = %version-%release Provides: postgresql-implementation = %version-%release
Requires: %libpq >= %version Requires: %libpq >= %version
Requires(post): postgresql-noarch >= %pgmajor Requires(post): postgresql-noarch >= %pgmajor
Requires(postun):postgresql-noarch >= %pgmajor Requires(postun): postgresql-noarch >= %pgmajor
# At this point we changed the package layout on SLE and conflict with # At this point we changed the package layout on SLE and conflict with
# older releases to get a clean cut. # older releases to get a clean cut.
Conflicts: postgresql-noarch < 12.0.1 Conflicts: postgresql-noarch < 12.0.1
@ -263,7 +286,7 @@ Provides: %pgname-server-devel = %version-%release
Provides: postgresql-server-devel = %version-%release Provides: postgresql-server-devel = %version-%release
Provides: postgresql-server-devel-implementation = %version-%release Provides: postgresql-server-devel-implementation = %version-%release
Requires(post): postgresql-server-devel-noarch >= %pgmajor Requires(post): postgresql-server-devel-noarch >= %pgmajor
Requires(postun):postgresql-server-devel-noarch >= %pgmajor Requires(postun): postgresql-server-devel-noarch >= %pgmajor
Requires: %pgname-devel = %version Requires: %pgname-devel = %version
Requires: %pgname-server = %version-%release Requires: %pgname-server = %version-%release
# Installation of postgresql??-devel is exclusive # Installation of postgresql??-devel is exclusive
@ -321,10 +344,10 @@ Recommends: %{name}-llvmjit
Provides: postgresql-server-implementation = %version-%release Provides: postgresql-server-implementation = %version-%release
Requires: %libpq >= %version Requires: %libpq >= %version
Requires(pre): postgresql-server-noarch >= %pgmajor Requires(pre): postgresql-server-noarch >= %pgmajor
Requires(preun):postgresql-server-noarch >= %pgmajor Requires(preun): postgresql-server-noarch >= %pgmajor
Requires(postun):postgresql-server-noarch >= %pgmajor Requires(postun): postgresql-server-noarch >= %pgmajor
Requires(post): postgresql-noarch >= %pgmajor Requires(post): postgresql-noarch >= %pgmajor
Requires(postun):postgresql-noarch >= %pgmajor Requires(postun): postgresql-noarch >= %pgmajor
%description server %description server
PostgreSQL is an advanced object-relational database management system PostgreSQL is an advanced object-relational database management system
@ -363,7 +386,7 @@ Requires: %pgname-server-devel = %version
%if %{with llvm} %if %{with llvm}
Requires: %pgname-llvmjit = %version Requires: %pgname-llvmjit = %version
Requires(post): postgresql-llvmjit-devel-noarch >= %pgmajor Requires(post): postgresql-llvmjit-devel-noarch >= %pgmajor
Requires(postun):postgresql-llvmjit-devel-noarch >= %pgmajor Requires(postun): postgresql-llvmjit-devel-noarch >= %pgmajor
%requires_file %_bindir/llc %requires_file %_bindir/llc
%requires_file %_bindir/clang %requires_file %_bindir/clang
%endif %endif
@ -493,13 +516,13 @@ included in the postgresql-server package.
# Keep the timestamp of configure, because patching it would otherwise # Keep the timestamp of configure, because patching it would otherwise
# confuse PostgreSQL's build system # confuse PostgreSQL's build system
touch -r configure tmp touch -r configure tmp
%patch1 %patch -P 1
%patch4 %patch -P 4
%patch8 -p1 %patch -P 8
%patch9 %patch -P 9
%if %{with llvm} %if %{with llvm}
%patch10 %patch -P 10
%patch11 %patch -P 11
%endif %endif
touch -r tmp configure touch -r tmp configure
rm tmp rm tmp
@ -559,7 +582,7 @@ PACKAGE_TARNAME=%pgname %configure \
%if %mini %if %mini
make -C src/interfaces %{?_smp_mflags} PACKAGE_TARNAME=%pgname make -C src/interfaces %{?_smp_mflags} PACKAGE_TARNAME=%pgname
%else %else
make %{?_smp_mflags} PACKAGE_TARNAME=%pgname make %{?_smp_mflags} PACKAGE_TARNAME=%pgname world
%if %{with check} %if %{with check}
@ -584,6 +607,7 @@ VLANG=%pgmajor
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/include install make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/include install
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/interfaces install make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname -C src/interfaces install
rm -rf %buildroot%pgincludedir/server rm -rf %buildroot%pgincludedir/server
rm -rf %buildroot%pgdatadir
%else %else
make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname install install-docs make DESTDIR=%buildroot PACKAGE_TARNAME=%pgname install install-docs
%if 0 %if 0
@ -627,10 +651,9 @@ find %buildroot -type f -cnewer flag -printf "/%%P\n" |
> contrib.files > contrib.files
rm flag rm flag
install -d -m 750 %buildroot/var/lib/pgsql install -d -m 750 %buildroot/var/lib/pgsql
install -d -m755 %buildroot%pgdocdir install -d -m 755 %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
@ -688,6 +711,7 @@ genlists main \
pg_receivewal \ pg_receivewal \
pg_verify_checksums \ pg_verify_checksums \
pg_checksums \ pg_checksums \
pg_combinebackup \
pg_verifybackup pg_verifybackup
%find_lang plpgsql-$VLANG main.files %find_lang plpgsql-$VLANG main.files
@ -698,6 +722,8 @@ genlists server \
pg_ctl \ pg_ctl \
pg_controldata \ pg_controldata \
pg_resetwal \ pg_resetwal \
pg_createsubscriber \
pg_walsummary \
pg_waldump \ pg_waldump \
pg_resetxlog \ pg_resetxlog \
%if %pgmajor >= 15 %if %pgmajor >= 15
@ -744,10 +770,10 @@ done
%endif %endif
popd popd
mkdir -p %buildroot%pgmandir/man1
cp -a doc/src/sgml/man1/ecpg.1 %buildroot%pgmandir/man1/ecpg.1pg%pgmajor
%find_lang ecpg-$VLANG devel.files %find_lang ecpg-$VLANG devel.files
ln -s %pgbindir/ecpg %buildroot%_bindir/ecpg # The devel subpackage is exclusive across versions
# and not handled by update-alternatives.
mv %buildroot%pgbindir/ecpg %buildroot%_bindir/ecpg
%if !%mini %if !%mini
%find_lang pg_config-$VLANG server-devel.files %find_lang pg_config-$VLANG server-devel.files
@ -761,8 +787,10 @@ cat server-devel.files >> devel.files
# Build up the file lists for the libpq and libecpg packages # Build up the file lists for the libpq and libecpg packages
cat > libpq.files <<EOF cat > libpq.files <<EOF
%defattr(-,root,root) %defattr(-,root,root)
%if !%mini
%dir %pgdatadir %dir %pgdatadir
%pgdatadir/pg_service.conf.sample %pgdatadir/pg_service.conf.sample
%endif
EOF EOF
find %buildroot -name 'libpq*.so.*' -printf '/%%P\n' >> libpq.files find %buildroot -name 'libpq*.so.*' -printf '/%%P\n' >> libpq.files
%find_lang libpq5-$VLANG libpq.files %find_lang libpq5-$VLANG libpq.files
@ -782,18 +810,18 @@ awk -v P=%buildroot '/^(%lang|[^%])/{print P $NF}' libpq.files libecpg.files | x
%post -n %pgname-%devel %post -n %pgname-%devel
/sbin/ldconfig /sbin/ldconfig
%if %{with server_devel}
%post server-devel
%endif
/usr/share/postgresql/install-alternatives %pgmajor
%postun -n %pgname-%devel %postun -n %pgname-%devel
/sbin/ldconfig /sbin/ldconfig
%if %{with server_devel} %if %{with server_devel}
%postun server-devel %post server-devel
%endif
/usr/share/postgresql/install-alternatives %pgmajor /usr/share/postgresql/install-alternatives %pgmajor
%postun server-devel
/usr/share/postgresql/install-alternatives %pgmajor
%endif
%if !%mini %if !%mini
%postun %postun
@ -909,7 +937,6 @@ fi
%files llvmjit-devel %files llvmjit-devel
%defattr(-,root,root) %defattr(-,root,root)
%doc README
%files pltcl -f pltcl.lang %files pltcl -f pltcl.lang
%defattr(-,root,root) %defattr(-,root,root)
@ -945,17 +972,17 @@ fi
%dir %pgbasedir %dir %pgbasedir
%dir %pgbindir %dir %pgbindir
%ghost %_bindir/ecpg %_bindir/ecpg
%_libdir/pkgconfig/* %_libdir/pkgconfig/*
%_libdir/lib*.so %_libdir/lib*.so
%pgbindir/ecpg
%pgincludedir %pgincludedir
%if %{with server_devel} %if %{with server_devel}
%exclude %pgincludedir/server %exclude %pgincludedir/server
%endif %endif
%doc %pgmandir/man1/ecpg.1*
%if !%mini %if !%mini
%doc %pgmandir/man1/ecpg.1*
%if %{with server_devel} %if %{with server_devel}
%files server-devel -f server-devel.files %files server-devel -f server-devel.files
%endif %endif