@ -32,8 +32,11 @@
%{!?beta:%global beta 0}
%{!?beta:%global beta 0}
%{!?test:%global test 1}
%{!?test:%global test 1}
# Disable temporarily to be able to build the package
# tracked in RHBZ#1940964
%{!?llvmjit:%global llvmjit 0}
%{!?external_libpq:%global external_libpq 0}
%{!?upgrade:%global upgrade 1}
%{!?upgrade:%global upgrade 1}
%{!?plpython:%global plpython 0}
%{!?plpython3:%global plpython3 1}
%{!?plpython3:%global plpython3 1}
%{!?pltcl:%global pltcl 1}
%{!?pltcl:%global pltcl 1}
%{!?plperl:%global plperl 1}
%{!?plperl:%global plperl 1}
@ -58,8 +61,8 @@
Summary: PostgreSQL client programs
Summary: PostgreSQL client programs
Name: postgresql
Name: postgresql
%global majorversion 12
%global majorversion 13
Version: %{majorversion}.22
Version: %{majorversion}.18
Release: 1%{?dist}
Release: 1%{?dist}
# The PostgreSQL license is very similar to other MIT licenses, but the OSI
# The PostgreSQL license is very similar to other MIT licenses, but the OSI
@ -71,19 +74,20 @@ Url: http://www.postgresql.org/
# in-place upgrade of an old database. In most cases it will not be critical
# in-place upgrade of an old database. In most cases it will not be critical
# that this be kept up with the latest minor release of the previous series;
# that this be kept up with the latest minor release of the previous series;
# but update when bugs affecting pg_dump output are fixed.
# but update when bugs affecting pg_dump output are fixed.
%global prevmajorversion 10
%global prevmajorversion 12
%global prevversion %{prevmajorversion}.23
%global prevversion %{prevmajorversion}.22
%global prev_prefix %{_libdir}/pgsql/postgresql-%{prevmajorversion}
%global prev_prefix %{_libdir}/pgsql/postgresql-%{prevmajorversion}
%global precise_version %{?epoch:%epoch:}%version-%release
%global precise_version %{?epoch:%epoch:}%version-%release
%global setup_version 8.7
%global setup_version 8.6
%global service_name postgresql.service
%global service_name postgresql.service
Source0: https://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
Source0: https://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
# PDF can be downloaded from the upstream
# The PDF file is generated by generate-pdf.sh, which see for comments
# Don't forget to rename the PDF file with the full version prefix (e.g. postgresql-12.22-US.pdf)
Source1: postgresql-%{version}-US.pdf
Source1: postgresql-%{version}-US.pdf
# generate-pdf.sh is not used during RPM build, but include for documentation
Source2: generate-pdf.sh
Source3: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{prevversion}.tar.bz2
Source3: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{prevversion}.tar.bz2
Source4: Makefile.regress
Source4: Makefile.regress
Source9: postgresql.tmpfiles.d
Source9: postgresql.tmpfiles.d
@ -104,29 +108,30 @@ Source17: https://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{pre
Patch1: rpm-pgsql.patch
Patch1: rpm-pgsql.patch
Patch2: postgresql-logging.patch
Patch2: postgresql-logging.patch
Patch5: postgresql-var-run-socket.patch
Patch5: postgresql-var-run-socket.patch
Patch6: postgresql-man.patch
Patch8: postgresql-external-libpq.patch
Patch8: postgresql-external-libpq.patch
Patch9: postgresql-server-pg_config.patch
Patch9: postgresql-server-pg_config.patch
Patch10: postgresql-12.5-contrib-dblink-expected-out.patch
Patch12: postgresql-no-libecpg.patch
Patch14: postgresql-pgcrypto-openssl3-tests.patch
BuildRequires: make
BuildRequires: gcc
BuildRequires: gcc
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel
BuildRequires: perl(ExtUtils::Embed), perl-devel
BuildRequires: perl(Opcode)
%if 0%{?fedora} || 0%{?rhel} > 7
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: perl-generators
BuildRequires: perl-generators
%endif
%endif
BuildRequires: readline-devel zlib-devel
BuildRequires: readline-devel zlib-devel
BuildRequires: systemd systemd-devel util-linux
BuildRequires: systemd systemd-devel util-linux
BuildRequires: multilib-rpm-config
BuildRequires: multilib-rpm-config
BuildRequires: libpq-devel
%if %external_libpq
BuildRequires: libpq-devel >= %version
%endif
BuildRequires: docbook-style-xsl
# postgresql-setup build requires
# postgresql-setup build requires
BuildRequires: m4 elinks docbook-utils help2man
BuildRequires: m4 elinks docbook-utils help2man
%if %plpython
BuildRequires: python2-devel
%endif
%if %plpython3
%if %plpython3
BuildRequires: python3-devel
BuildRequires: python3-devel
%endif
%endif
@ -176,7 +181,8 @@ BuildRequires: libicu-devel
%endif
%endif
# https://bugzilla.redhat.com/1464368
# https://bugzilla.redhat.com/1464368
%global __provides_exclude_from %{_libdir}/pgsql
# and do not provide pkgconfig RPM provides (RHBZ#1980992)
%global __provides_exclude_from %{_libdir}/(pgsql|pkgconfig)
%description
%description
PostgreSQL is an advanced Object-Relational database management system (DBMS).
PostgreSQL is an advanced Object-Relational database management system (DBMS).
@ -188,6 +194,37 @@ over a network connection. The PostgreSQL server can be found in the
postgresql-server sub-package.
postgresql-server sub-package.
%if ! %external_libpq
%package private-libs
Summary: The shared libraries required only for this build of PostgreSQL server
Group: Applications/Databases
# for /sbin/ldconfig
Requires(post): glibc
Requires(postun): glibc
%description private-libs
The postgresql-private-libs package provides the shared libraries for this
build of PostgreSQL server and plugins build with this version of server.
For shared libraries used by client packages that need to connect to a
PostgreSQL server, install libpq package instead.
%package private-devel
Summary: PostgreSQL development header files for this build of PostgreSQL server
Group: Development/Libraries
Requires: %{name}-private-libs%{?_isa} = %precise_version
# Conflict is desired here, a user must pick one or another
Conflicts: libpq-devel
%description private-devel
The postgresql-private-devel package contains the header files and libraries
needed to compile C or C++ applications which will directly interact
with a PostgreSQL database management server.
You need to install this package if you want to develop applications which
will interact with a PostgreSQL server.
%endif
%package server
%package server
Summary: The programs needed to create and run a PostgreSQL server
Summary: The programs needed to create and run a PostgreSQL server
Requires: %{name}%{?_isa} = %precise_version
Requires: %{name}%{?_isa} = %precise_version
@ -240,6 +277,17 @@ Requires: libicu-devel
%if %kerberos
%if %kerberos
Requires: krb5-devel
Requires: krb5-devel
%endif
%endif
%if %llvmjit
Requires: clang-devel llvm-devel
%endif
%if %external_libpq
# Some extensions require libpq
# Do not make them care about whether server uses private or system-wide
# libpq, simply let the server pull the correct one
Requires: libpq-devel
%else
Requires: %{name}-private-devel
%endif
%description server-devel
%description server-devel
The postgresql-server-devel package contains the header files and configuration
The postgresql-server-devel package contains the header files and configuration
@ -293,6 +341,7 @@ Summary: The Perl procedural language for PostgreSQL
Requires: %{name}-server%{?_isa} = %precise_version
Requires: %{name}-server%{?_isa} = %precise_version
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%if %runselftest
%if %runselftest
BuildRequires: perl(Opcode)
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(Data::Dumper)
%endif
%endif
@ -303,19 +352,6 @@ Install this if you want to write database functions in Perl.
%endif
%endif
%if %plpython
%package plpython
Summary: The Python2 procedural language for PostgreSQL
Requires: %{name}-server%{?_isa} = %precise_version
Provides: %{name}-plpython2 = %precise_version
%description plpython
The postgresql-plpython package contains the PL/Python procedural language,
which is an extension to the PostgreSQL database server.
Install this if you want to write database functions in Python 2.
%endif
%if %plpython3
%if %plpython3
%package plpython3
%package plpython3
Summary: The Python3 procedural language for PostgreSQL
Summary: The Python3 procedural language for PostgreSQL
@ -352,6 +388,25 @@ PostgreSQL database management system, including regression tests and
benchmarks.
benchmarks.
%endif
%endif
%if %llvmjit
%package llvmjit
Summary: Just-in-time compilation support for PostgreSQL
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%if 0%{?rhel} && 0%{?rhel} == 7
Requires: llvm5.0 >= 5.0
%else
Requires: llvm => 5.0
%endif
Provides: postgresql-llvmjit >= %{version}-%{release}
BuildRequires: llvm-devel >= 5.0 clang-devel >= 5.0
%description llvmjit
The postgresql-llvmjit package contains support for
just-in-time compiling parts of PostgreSQL queries. Using LLVM it
compiles e.g. expressions and tuple deforming into native code, with the
goal of accelerating analytics queries.
%endif
%prep
%prep
(
(
@ -365,19 +420,33 @@ benchmarks.
%patch1 -p1
%patch1 -p1
%patch2 -p1
%patch2 -p1
%patch5 -p1
%patch5 -p1
%patch6 -p1
%if %external_libpq
%patch8 -p1
%patch8 -p1
%else
%patch12 -p1
%endif
%patch9 -p1
%patch9 -p1
%patch10 -p1
%patch14 -p1
# We used to run autoconf here, but there's no longer any real need to,
# We used to run autoconf here, but there's no longer any real need to,
# since Postgres ships with a reasonably modern configure script.
# since Postgres ships with a reasonably modern configure script.
cp -p %{SOURCE1} .
cp -p %{SOURCE1} .
%if ! %external_libpq
%global private_soname private%{majorversion}
find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{private_soname}-\1/" {} \;
%endif
%if %upgrade
%if %upgrade
tar xfj %{SOURCE3}
tar xfj %{SOURCE3}
# libpq from this upgrade-only build is dropped and the libpq from the main
# version is used. Use the same major hack therefore.
%if ! %external_libpq
find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{private_soname}-\1/" {} \;
%endif
# apply once SOURCE3 is extracted
# apply once SOURCE3 is extracted
%endif
%endif
@ -386,6 +455,10 @@ find . -type f -name .gitignore | xargs rm
%build
%build
# Avoid LTO on armv7hl as it runs out of memory
%ifarch armv7hl s390x
%define _lto_cflags %{nil}
%endif
# fail quickly and obviously if user tries to build as root
# fail quickly and obviously if user tries to build as root
%if %runselftest
%if %runselftest
if [ x"`id -u`" = x0 ]; then
if [ x"`id -u`" = x0 ]; then
@ -412,19 +485,10 @@ cd ..
# Fiddling with CFLAGS.
# Fiddling with CFLAGS.
CFLAGS="${CFLAGS:-%optflags}"
CFLAGS="${CFLAGS:-%optflags}"
%ifarch %{power64}
# See the bug #1051075, ppc64 should benefit from -O3
CFLAGS=`echo $CFLAGS | xargs -n 1 | sed 's|-O2|-O3|g' | xargs -n 100`
%endif
# Strip out -ffast-math from CFLAGS....
# Strip out -ffast-math from CFLAGS....
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
export CFLAGS
export CFLAGS
# plpython requires separate configure/build runs to build against python 2
# versus python 3. Our strategy is to do the python 3 run first, then make
# distclean and do it again for the "normal" build. Note that the installed
# Makefile.global will reflect the python 2 build, which seems appropriate
# since that's still considered the default plpython version.
common_configure_options='
common_configure_options='
--disable-rpath
--disable-rpath
%if %beta
%if %beta
@ -472,49 +536,18 @@ common_configure_options='
%if %icu
%if %icu
--with-icu
--with-icu
%endif
%endif
'
%if %llvmjit
--with-llvm
%endif
%if %plpython3
%if %plpython3
--with-python
%endif
'
export PYTHON=/usr/bin/python3
export PYTHON=/usr/bin/python3
# These configure options must match main build
# These configure options must match main build
%configure $common_configure_options \
%configure $common_configure_options
--with-python
# Fortunately we don't need to build much except plpython itself.
%global python_subdirs \\\
src/pl/plpython \\\
contrib/hstore_plpython \\\
contrib/jsonb_plpython \\\
contrib/ltree_plpython
for dir in %python_subdirs; do
%make_build -C "$dir" all
done
# save built form in a directory that "make distclean" won't touch
for dir in %python_subdirs; do
rm -rf "${dir}3" # shouldn't exist, unless --short-circuit
cp -a "$dir" "${dir}3"
done
# must also save this version of Makefile.global for later
cp src/Makefile.global src/Makefile.global.python3
make distclean
%endif # %%plpython3
PYTHON=/usr/bin/python2
# Normal (python2) build begins here
%configure $common_configure_options \
%if %plpython
--with-python
%endif
unset PYTHON
%make_build world
%make_build world
@ -551,32 +584,6 @@ test_failure=0
run_testsuite "src/test/regress"
run_testsuite "src/test/regress"
make clean -C "src/test/regress"
make clean -C "src/test/regress"
run_testsuite "src/pl"
run_testsuite "src/pl"
%if %plpython3
# must install Makefile.global that selects python3
mv src/Makefile.global src/Makefile.global.save
cp src/Makefile.global.python3 src/Makefile.global
touch -r src/Makefile.global.save src/Makefile.global
for dir in %python_subdirs; do
# because "make check" does "make install" on the whole tree,
# we must temporarily install *plpython3 dir as *plpython,
# since that is the subdirectory src/pl/Makefile knows about
mv "$dir" "${dir}2"
mv "${dir}3" "$dir"
done
for dir in %python_subdirs; do
run_testsuite "$dir"
done
for dir in %python_subdirs; do
# and clean up our mess
mv "$dir" "${dir}3"
mv "${dir}2" "${dir}"
done
mv -f src/Makefile.global.save src/Makefile.global
%endif
run_testsuite "contrib"
run_testsuite "contrib"
%endif
%endif
@ -607,7 +614,6 @@ upgrade_configure ()
# its ideas about installation paths.
# its ideas about installation paths.
# The -fno-aggressive-loop-optimizations is hack for #993532
# The -fno-aggressive-loop-optimizations is hack for #993532
PYTHON="${PYTHON-/usr/bin/python2}" \
CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ./configure \
CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ./configure \
--build=%{_build} \
--build=%{_build} \
--host=%{_host} \
--host=%{_host} \
@ -628,36 +634,22 @@ upgrade_configure ()
%endif
%endif
%if %ssl
%if %ssl
--with-openssl \
--with-openssl \
%endif
%if %plpython3
--with-python \
%endif
%endif
--with-tclconfig=%_libdir \
--with-tclconfig=%_libdir \
--with-system-tzdata=/usr/share/zoneinfo \
--with-system-tzdata=/usr/share/zoneinfo \
"$@"
"$@"
}
}
%if %plpython3
export PYTHON=/usr/bin/python3
upgrade_configure --with-python
for dir in %python_subdirs; do
# Previous version doesn't necessarily have this.
test -d "$dir" || continue
%make_build -C "$dir" all
# save aside the only one file which we are interested here
cp "$dir"/*plpython3.so ./
done
unset PYTHON
make distclean
%endif
upgrade_configure \
upgrade_configure \
%if %plpython
--with-python
%endif
make %{?_smp_mflags} all
make %{?_smp_mflags} all
make -C contrib %{?_smp_mflags} all
make -C contrib %{?_smp_mflags} all
popd
popd
%endif # %%upgrade
# endif upgrade
%endif
%install
%install
@ -683,19 +675,14 @@ make DESTDIR=$RPM_BUILD_ROOT install-world
# We ship pg_config through libpq-devel
# We ship pg_config through libpq-devel
mv $RPM_BUILD_ROOT/%_mandir/man1/pg_{,server_}config.1
mv $RPM_BUILD_ROOT/%_mandir/man1/pg_{,server_}config.1
%if %external_libpq
rm $RPM_BUILD_ROOT/%_includedir/pg_config*.h
rm $RPM_BUILD_ROOT/%_includedir/pg_config*.h
rm $RPM_BUILD_ROOT/%_includedir/libpq/libpq-fs.h
rm $RPM_BUILD_ROOT/%_includedir/libpq/libpq-fs.h
rm $RPM_BUILD_ROOT/%_includedir/postgres_ext.h
rm $RPM_BUILD_ROOT/%_includedir/postgres_ext.h
rm -r $RPM_BUILD_ROOT/%_includedir/pgsql/internal/
rm -r $RPM_BUILD_ROOT/%_includedir/pgsql/internal/
%else
%if %plpython3
ln -s pg_server_config $RPM_BUILD_ROOT/%_bindir/pg_config
mv src/Makefile.global src/Makefile.global.save
rm $RPM_BUILD_ROOT/%{_libdir}/libpq.a
cp src/Makefile.global.python3 src/Makefile.global
touch -r src/Makefile.global.save src/Makefile.global
for dir in %python_subdirs; do
%make_install -C "${dir}3"
done
mv -f src/Makefile.global.save src/Makefile.global
%endif
%endif
# make sure these directories exist even if we suppressed all contrib modules
# make sure these directories exist even if we suppressed all contrib modules
@ -704,8 +691,8 @@ install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/extension
# multilib header hack
# multilib header hack
for header in \
for header in \
%{_includedir}/pgsql/server/pg _config.h \
%{_includedir}/pg_config.h \
%{_includedir}/pgsql/server/pg _config_ext.h
%{_includedir}/pg_config_ext.h
do
do
%multilib_fix_c_header --file "$header"
%multilib_fix_c_header --file "$header"
done
done
@ -718,10 +705,6 @@ install -d $RPM_BUILD_ROOT/etc/pam.d
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postgresql
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postgresql
%endif
%endif
# Create the directory for sockets.
install -d -m 755 $RPM_BUILD_ROOT%{?_localstatedir}/run/postgresql
# ... and make a tmpfiles script to recreate it at reboot.
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
install -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_tmpfilesdir}/postgresql.conf
install -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_tmpfilesdir}/postgresql.conf
@ -740,12 +723,6 @@ rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1
pushd postgresql-%{prevversion}
pushd postgresql-%{prevversion}
make DESTDIR=$RPM_BUILD_ROOT install
make DESTDIR=$RPM_BUILD_ROOT install
make -C contrib DESTDIR=$RPM_BUILD_ROOT install
make -C contrib DESTDIR=$RPM_BUILD_ROOT install
%if %plpython3
for file in *plpython3.so; do
install -m 755 "$file" \
$RPM_BUILD_ROOT/%_libdir/pgsql/postgresql-%prevmajorversion/lib
done
%endif
popd
popd
# remove stuff we don't actually need for upgrade purposes
# remove stuff we don't actually need for upgrade purposes
@ -787,6 +764,10 @@ rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1
EOF
EOF
%endif
%endif
# Let plugins use the same llvmjit settings as server has
cat <<EOF >> $RPM_BUILD_ROOT%macrosdir/macros.%name
%%postgresql_server_llvmjit %llvmjit
EOF
%if %test
%if %test
# tests. There are many files included here that are unnecessary,
# tests. There are many files included here that are unnecessary,
@ -819,9 +800,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/libpgfeutils.a
rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plperl.so
rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plperl.so
%endif
%endif
%if !%plpython
# no python2, yet installed, remove
rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/hstore_plpython2.so
rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/*_plpythonu*
%endif
rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/*_plpython2u*
%if %nls
%if %nls
find_lang_bins ()
find_lang_bins ()
@ -836,19 +817,19 @@ find_lang_bins ()
find_lang_bins devel.lst pg_server_config
find_lang_bins devel.lst pg_server_config
find_lang_bins server.lst \
find_lang_bins server.lst \
initdb pg_basebackup pg_controldata pg_ctl pg_resetwal pg_rewind plpgsql \
initdb pg_basebackup pg_controldata pg_ctl pg_resetwal pg_rewind plpgsql \
postgres pg_checksums
postgres pg_checksums pg_verifybackup
find_lang_bins contrib.lst \
find_lang_bins contrib.lst \
pg_archivecleanup pg_test_fsync pg_test_timing pg_waldump
pg_archivecleanup pg_test_fsync pg_test_timing pg_waldump
find_lang_bins main.lst \
find_lang_bins main.lst \
pg_dump pg_upgrade pgscripts psql
pg_dump pg_upgrade pgscripts psql \
%if ! %external_libpq
libpq%{private_soname}-5
%endif
%if %plperl
%if %plperl
find_lang_bins plperl.lst plperl
find_lang_bins plperl.lst plperl
%endif
%endif
%if %plpython
find_lang_bins plpython.lst plpython
%endif
%if %plpython3
%if %plpython3
# plpython3 shares message files with plpython
find_lang_bins plpython3.lst plpython
find_lang_bins plpython3.lst plpython
%endif
%endif
%if %pltcl
%if %pltcl
@ -910,6 +891,17 @@ make -C postgresql-setup-%{setup_version} check
%{_mandir}/man1/reindexdb.*
%{_mandir}/man1/reindexdb.*
%{_mandir}/man1/vacuumdb.*
%{_mandir}/man1/vacuumdb.*
%{_mandir}/man7/*
%{_mandir}/man7/*
%if %llvmjit
# Install bitcode directory along with the main package,
# so that extensions can use this dir.
%dir %{_libdir}/pgsql/bitcode
%endif
%if ! %external_libpq
%files private-libs
%{_libdir}/libpq.so.*
%endif
%files docs
%files docs
@ -928,8 +920,6 @@ make -C postgresql-setup-%{setup_version} check
%{_bindir}/pg_waldump
%{_bindir}/pg_waldump
%{_bindir}/pgbench
%{_bindir}/pgbench
%{_bindir}/vacuumlo
%{_bindir}/vacuumlo
%dir %{_datadir}/pgsql/contrib
%dir %{_datadir}/pgsql/extension
%{_datadir}/pgsql/extension/adminpack*
%{_datadir}/pgsql/extension/adminpack*
%{_datadir}/pgsql/extension/amcheck*
%{_datadir}/pgsql/extension/amcheck*
%{_datadir}/pgsql/extension/autoinc*
%{_datadir}/pgsql/extension/autoinc*
@ -952,13 +942,7 @@ make -C postgresql-setup-%{setup_version} check
%if %{plperl}
%if %{plperl}
%{_datadir}/pgsql/extension/jsonb_plperl*
%{_datadir}/pgsql/extension/jsonb_plperl*
%endif
%endif
%if %{plpython}
%{_datadir}/pgsql/extension/jsonb_plpythonu*
%{_datadir}/pgsql/extension/jsonb_plpython2u*
%endif
%if %{plpython3}
%if %{plpython3}
%{_datadir}/pgsql/extension/jsonb_plpythonu*
%{_datadir}/pgsql/extension/jsonb_plpython2u*
%{_datadir}/pgsql/extension/jsonb_plpython3u*
%{_datadir}/pgsql/extension/jsonb_plpython3u*
%endif
%endif
%{_datadir}/pgsql/extension/lo*
%{_datadir}/pgsql/extension/lo*
@ -1003,9 +987,6 @@ make -C postgresql-setup-%{setup_version} check
%if %plperl
%if %plperl
%{_libdir}/pgsql/hstore_plperl.so
%{_libdir}/pgsql/hstore_plperl.so
%endif
%endif
%if %plpython
%{_libdir}/pgsql/hstore_plpython2.so
%endif
%if %plpython3
%if %plpython3
%{_libdir}/pgsql/hstore_plpython3.so
%{_libdir}/pgsql/hstore_plpython3.so
%endif
%endif
@ -1014,17 +995,11 @@ make -C postgresql-setup-%{setup_version} check
%if %plperl
%if %plperl
%{_libdir}/pgsql/jsonb_plperl.so
%{_libdir}/pgsql/jsonb_plperl.so
%endif
%endif
%if %plpython
%{_libdir}/pgsql/jsonb_plpython2.so
%endif
%if %plpython3
%if %plpython3
%{_libdir}/pgsql/jsonb_plpython3.so
%{_libdir}/pgsql/jsonb_plpython3.so
%endif
%endif
%{_libdir}/pgsql/lo.so
%{_libdir}/pgsql/lo.so
%{_libdir}/pgsql/ltree.so
%{_libdir}/pgsql/ltree.so
%if %plpython
%{_libdir}/pgsql/ltree_plpython2.so
%endif
%if %plpython3
%if %plpython3
%{_libdir}/pgsql/ltree_plpython3.so
%{_libdir}/pgsql/ltree_plpython3.so
%endif
%endif
@ -1085,6 +1060,7 @@ make -C postgresql-setup-%{setup_version} check
%{_bindir}/pg_resetwal
%{_bindir}/pg_resetwal
%{_bindir}/pg_rewind
%{_bindir}/pg_rewind
%{_bindir}/pg_checksums
%{_bindir}/pg_checksums
%{_bindir}/pg_verifybackup
%{_bindir}/postgres
%{_bindir}/postgres
%{_bindir}/postgresql-setup
%{_bindir}/postgresql-setup
%{_bindir}/postgresql-upgrade
%{_bindir}/postgresql-upgrade
@ -1096,8 +1072,6 @@ make -C postgresql-setup-%{setup_version} check
%{_datadir}/pgsql/extension/plpgsql*
%{_datadir}/pgsql/extension/plpgsql*
%{_datadir}/pgsql/information_schema.sql
%{_datadir}/pgsql/information_schema.sql
%{_datadir}/pgsql/postgres.bki
%{_datadir}/pgsql/postgres.bki
%{_datadir}/pgsql/postgres.description
%{_datadir}/pgsql/postgres.shdescription
%{_datadir}/pgsql/snowball_create.sql
%{_datadir}/pgsql/snowball_create.sql
%{_datadir}/pgsql/sql_features.txt
%{_datadir}/pgsql/sql_features.txt
%{_datadir}/pgsql/system_views.sql
%{_datadir}/pgsql/system_views.sql
@ -1127,6 +1101,7 @@ make -C postgresql-setup-%{setup_version} check
%{_mandir}/man1/pg_resetwal.*
%{_mandir}/man1/pg_resetwal.*
%{_mandir}/man1/pg_rewind.*
%{_mandir}/man1/pg_rewind.*
%{_mandir}/man1/pg_checksums.*
%{_mandir}/man1/pg_checksums.*
%{_mandir}/man1/pg_verifybackup.*
%{_mandir}/man1/postgres.*
%{_mandir}/man1/postgres.*
%{_mandir}/man1/postgresql-new-systemd-unit.*
%{_mandir}/man1/postgresql-new-systemd-unit.*
%{_mandir}/man1/postgresql-setup.*
%{_mandir}/man1/postgresql-setup.*
@ -1139,7 +1114,7 @@ make -C postgresql-setup-%{setup_version} check
%attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile
%attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data
%attr(755,postgres,postgres) %dir %{?_localstatedir}/run /postgresql
%ghost %attr(755,postgres,postgres) %dir %{?_rundir} /postgresql
%if %pam
%if %pam
%config(noreplace) /etc/pam.d/postgresql
%config(noreplace) /etc/pam.d/postgresql
%endif
%endif
@ -1157,6 +1132,21 @@ make -C postgresql-setup-%{setup_version} check
%{macrosdir}/macros.%name
%{macrosdir}/macros.%name
%if ! %external_libpq
%files private-devel
%{_bindir}/pg_config
%{_includedir}/libpq-events.h
%{_includedir}/libpq-fe.h
%{_includedir}/postgres_ext.h
%{_includedir}/pgsql/internal/*.h
%{_includedir}/pgsql/internal/libpq/pqcomm.h
%{_includedir}/libpq/*.h
%{_libdir}/pkgconfig/*.pc
%{_libdir}/libpq.so
%{_includedir}/pg_config*.h
%endif
%files test-rpm-macros
%files test-rpm-macros
%{_datadir}/postgresql-setup/postgresql_pkg_tests.sh
%{_datadir}/postgresql-setup/postgresql_pkg_tests.sh
%{macrosdir}/macros.%name-test
%{macrosdir}/macros.%name-test
@ -1187,10 +1177,19 @@ make -C postgresql-setup-%{setup_version} check
%{macrosdir}/macros.%name-upgrade
%{macrosdir}/macros.%name-upgrade
%endif
%endif
%if %llvmjit
%files llvmjit
%defattr(-,root,root)
%{_libdir}/pgsql/bitcode/*
%{_libdir}/pgsql/llvmjit.so
%{_libdir}/pgsql/llvmjit_types.bc
%endif
%if %plperl
%if %plperl
%files plperl -f plperl.lst
%files plperl -f plperl.lst
%{_datadir}/pgsql/extension/bool_plperl*
%{_datadir}/pgsql/extension/plperl*
%{_datadir}/pgsql/extension/plperl*
%{_libdir}/pgsql/bool_plperl.so
%{_libdir}/pgsql/plperl.so
%{_libdir}/pgsql/plperl.so
%endif
%endif
@ -1202,14 +1201,6 @@ make -C postgresql-setup-%{setup_version} check
%endif
%endif
%if %plpython
%files plpython -f plpython.lst
%{_datadir}/pgsql/extension/plpython2*
%{_datadir}/pgsql/extension/plpythonu*
%{_libdir}/pgsql/plpython2.so
%endif
%if %plpython3
%if %plpython3
%files plpython3 -f plpython3.lst
%files plpython3 -f plpython3.lst
%{_datadir}/pgsql/extension/plpython3*
%{_datadir}/pgsql/extension/plpython3*
@ -1224,92 +1215,215 @@ make -C postgresql-setup-%{setup_version} check
%changelog
%changelog
* Thu Nov 21 2024 Lukas Javorsky <ljavorsk@redhat.com> - 12.22-1
* Thu Nov 21 2024 Filip Janus <fjanus@redhat.com> - 13.18-1
- Update to 12.22
- Update to 13.18
- Fixes: CVE-2024-10976 CVE-2024-10978
* Tue Aug 06 2024 Filip Janus <fjanus@redhat.com> - 13.16-1
- Update to 13.16
* Mon Aug 12 2024 Ales Nezbeda <anezbeda@redhat.com> - 12.20-1
* Tue Jul 30 2024 Filip Janus <fjanus@redhat.com> - 13.14-2
- Update to 12.20
- Remove /var/run/postgresql
- Fix CVE-2024-7348
- Related: RHEL-25756
* Fri Feb 9 2024 Filip Janus <fjanus@redhat.com> - 12.18 -1
* Fri Feb 9 2024 Filip Janus <fjanus@redhat.com> - 13.14 -1
- Update to 12.18
- Update to 13.14
- Fix CVE-2024-0985
- Fix CVE-2024-0985
* Tue Nov 28 2023 Dominik Rehák <drehak@redhat.com> - 12.17-1
* Mon Nov 13 2023 Masahiro Matsuya <mmatsuya@redhat.com> - 13.13-1
- Update to version 12.17
- Update to 13.13
Fix: CVE-2023-5868, CVE-2023-5869, CVE-2023-5870
- Fixes CVE-2023-5868, CVE-2023-5869, CVE-2023-5870, and CVE-2023-39417
- Resolves: RHEL-5567
* Fri May 19 2023 Jorge San Emeterio <jsanemet@redhat.com> - 13.11-1
- Update to 13.11
- Resolves: #2207935
* Wed Jul 12 2023 Dominik Rehák <drehak@redhat.com> - 12.15-3
* Tue Feb 28 2023 Filip Janus <fjanus@redhat.com> - 13.10-1
- Update postgresql-setup to 8.7 (https://github.com/devexp-db/postgresql-setup/pull/35)
- Update to 13.10
- Resolves: #2114734
* Tue Jul 11 2023 Dominik Rehák <drehak@redhat.com> - 12.15-2
* Tue May 17 2022 Filip Januš <fjanus@redhat.com> - 13.7-1
- Fix PostgreSQL 10 version used in specfile
- Update to 13.7
- Resolves: CVE-2022-1552
* Mon Jun 12 2023 Dominik Rehák <drehak@redhat.com> - 12.15-1
* Tue Nov 30 2021 Marek Kulik <mkulik@redhat.com> - 13.5-1
- Resolves: #2207932
- Update to 13.5 (#2023301)
- Update to version 12.15
Remove patch postgresql-pgcrypto-openssl3-init.patch - Already in upstream
* Mon Nov 29 2021 Marek Kulik <mkulik@redhat.com> - 13.3-11
- Update postgresql-setup to 8.6 (#2027278)
* Wed Oct 13 2021 Ondrej Dubaj <odubaj@redhat.com> - 13.3-10
- Release bum due to gating configuration
* Tue Sep 21 2021 Filip Januš <fjanus@redhat.com> - 13.3-9
- Remove tests failing with openssl3, now pgp is tested only with
supported ciphers
Add postgresql-pgcrypto-openssl3-init.patch - Correctly init ciphers
Add postgresql-pgcrypto-openssl3-tests.patch - disable unsupported
ciphers in the test suite
Related discussion: #2008773
Resolves: #1964848
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com>
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Aug 6 2021 Florian Weimer <fweimer@redhat.com> - 13.3-7
- Rebuild to pick up new build flags from redhat-rpm-config (#1984652)
* Thu Jul 22 2021 Honza Horak <hhorak@redhat.com> - 13.3-6
- Do not provide pkgconfig(libpq) to not trick packages that actually require
libpq-devel
Resolves: #1980992
* Thu Jul 22 2021 Filip Januš <fjanus@redhat.com> - 13.3-5
- Add explicit conflict between private-devel and libpq-devel
* Wed Jul 21 2021 Filip Januš <fjanus@redhat.com> - 13.3-4
- Fix multilib header files path
Resolves: #1984374
* Wed Jul 21 2021 Honza Horak <hhorak@redhat.com> - 13.3-3
- Turn off tests that expectedly fail with OpenSSL 3.0.0
Related: #1964848
* Mon Jul 19 2021 Filip Januš <fjanus@redhat.com> - 13.3-2
- Enable SSL for upgrade server
Resolves: #1983632
* Wed Jun 16 2021 Honza Horak <hhorak@redhat.com> - 13.3-1
- Update to 13.3
Resolves: #1964497
- Build with a private libpq
Resolves: #1967918
(also discussed in Fedora #1905584)
- Introduce postgresql_server_llvmjit macro to follow jit config of a server in
plugins
Related: #1951268
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 13.2-7
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Fri Jun 04 2021 Honza Horak <hhorak@redhat.com> - 13.2-6
- Ignore test failures in contrib tests
Related: #1964848
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Mar 17 2021 Honza Horak <hhorak@redhat.com> - 13.2-4
- Remove plpython2 entirely, same as upstream did
Resolves: #1913681
- Disable llvmjit in order to build at all
Related: #1940964
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 13.2-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Feb 17 2021 Honza Horak <hhorak@redhat.com> - 13.2-2
- Do not build plpython on RHEL > 8
Related: #1913681
* Tue Feb 16 2021 Honza Horak <hhorak@redhat.com> - 13.2-1
- Update to 13.2
* Fri Feb 12 2021 Michal Schorm <mschorm@redhat.com> - 13.1-2
- Remove ancient PPC64 hack
* Wed Jan 13 2021 Honza Horak <hhorak@redhat.com> - 13.1-1
- Rebase to usptream release 13.1
* Wed Jan 13 2021 Patrik Novotný <panovotn@redhat.com> - 12.5-1
- Rebase to upstream release 12.5
Patch for libpq 13.x build time compatibility
Fixes CVE-2020-25694
Fixes CVE-2020-25695
Fixes CVE-2020-25696
* Fri Sep 30 2022 Filip Januš <fjanus@redhat.com> - 12.12-1
* Wed Jan 13 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12.4-5
- Resolves: #2114732
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
- Update to version 12.12
* Mon May 16 2022 Filip Januš <fjanus@redhat.com> - 12.11-1
* Mon Nov 16 2020 Honza Horak <hhorak@redhat.com> - 12.4-4
- Resolves: CVE-2022-1552
- Update postgresql-setup to v8.5
- Update to 12.11
- Release notes: https://www.postgresql.org/docs/release/12.11/
* Tue Nov 30 2021 Filip Januš <fjanus@redhat.com> - 12.9-3
* Fri Oct 09 2020 Honza Horak <hhorak@redhat.com> - 12.4-3
- Add missing files from postgresql-setup v8.6
- Removing problematic requirements on ppc64 arch
- Realted: #1935301
Resolves: #1882642
* Mon Nov 29 2021 Marek Kulik <mkulik@redhat.com> - 12.9-2
* Fri Aug 21 2020 Jeff Law <law@redhat.com> - 12.4 -2
- Update postgresql-setup to 8.6 (#1935301)
- Re-enable LTO
* Mon Nov 15 2021 Filip Januš <fjanus@redhat.com> - 12.9-1
* Tue Aug 18 2020 Patrik Novotný <panovotn@redhat.com> - 12.4-1
- Update to 12.9
- Rebase to upstream release 12.4
- Resolves: #2007213
* Fri Nov 05 2021 Filip Januš <fjanus@redhat.com> - 12.7-3
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12.3-6
- Using correct path to tmpfiles
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- Resolves: #2016991
* Wed Jul 14 2021 Filip Januš <fjanus@redhat.com> - 12.7-2
* Fri Jul 24 2020 Jeff Law <law@redhat.com> - 12.3-5
- Enable ssl for upgrade server
- Disable LTO
Resolves: #1981518
* Tue Jun 1 2021 Filip Januš <fjanus@redhat.com> 12.7-1
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 12.3-4
- Update to 12.7
- Perl 5.32 rebuild
Resolves: #1964511
Fix: CVE-2021-32027,CVE-2021-32028
* Tue Nov 17 2020 Patrik Novotný <panovotn@redhat.com> - 12.5-1
* Sat Jun 06 2020 Pavel Raiskup <praiskup@redhat.com> - 12.3-3
- Rebase to upstream release 12.5
- add docbook-style-xsl to BuildRequires
Resolves: rhbz#1898330
Resolves: rhbz#1898224
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 12.3-2
Resolves: rhbz#1898244
- Rebuilt for Python 3.9
* Tue May 19 2020 Patrik Novotný <panovotn@redhat.com> - 12.3-2
- Drop postgresql-man.patch
* Mon May 18 2020 Patrik Novotný <panovotn@redhat.com> - 12.3-1
- Rebase to upstream release 12.3
* Tue Nov 26 2019 Patrik Novotný <panovotn@redhat.com> - 12.1-3
* Fri May 15 2020 Pete Walter <pwalter@fedoraproject.org> - 12.2 -3
- Release bump for 8.2.0 BZ#1776805
- Rebuild for ICU 67
* Tue Nov 19 2019 Patrik Novotný <panovotn@redhat.com> - 12.1-2
* Thu Mar 12 2020 Patrik Novotný <panovotn@redhat.com> - 12.2-2
- Release bump for rebuild against libpq-12.1-3
- Fix requirements for JIT in postgresql-server-devel
- Fix build issues regarding new perl update
* Tue Nov 12 2019 Patrik Novotný <panovotn@redhat.com> - 12.1-1
* Fri Feb 14 2020 Patrik Novotný <panovotn@redhat.com> - 12.2-1
- Rebase to upstream release 12.2
* Tue Feb 11 2020 Patrik Novotný <panovotn@redhat.com> - 12.1-1
- Rebase to upstream release 12.1
- Rebase to upstream release 12.1
* Thu Oct 03 2019 Patrik Novotný <panovotn@redhat.com> - 12.0-1
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.6-2
- Rebase to upstream release 12.0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 25 2019 Patrik Novotný <panovotn@redhat.com> - 11.6-1
- Rebase to upstream version 11.6
* Thu Sep 12 2019 Patrik Novotný <panovotn@redhat.com> - 12.0-0.3
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 11.5-6
- Rebase to upstream beta release 12beta4
- Rebuild for ICU 65
* Thu Sep 05 2019 Patrik Novotný <panovotn@redhat.com> - 11.5-5
- postgresql-server-devel requires krb5-devel
- postgresql-server-devel requires krb5-devel
* Thu Aug 08 2019 Petr Kubat <pkubat@redhat.com> - 12.0-0.2
* Tue Sep 03 2019 Patrik Novotný <panovotn@redhat.com> - 11.5-4
- Rebase to upstream beta release 12beta3
- Add explicit obsoletes to plpython2 package
* Mon Sep 02 2019 Patrik Novotný <panovotn@redhat.com> - 11.5-3
- Rename plpython to plpython2 and provide plpython virtually.
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 11.5-2
- Rebuilt for Python 3.8
* Wed Aug 07 2019 Petr Kubat <pkubat@redhat.com> - 11.5-1
- New upstream version 11.5
https://www.postgresql.org/docs/11/release-11-5.html
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 03 2019 Patrik Novotný <panovotn@redhat.com> - 12.0-0.1
* Tue Jul 09 2019 Petr Kubat <pkubat@redhat.com> - 11.4-1
- Rebase to upstream beta release 12beta2
- New upstream version 11.4
https://www.postgresql.org/docs/11/release-11-4.html
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 11.3-2
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 11.3-2
- Perl 5.30 rebuild
- Perl 5.30 rebuild