summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHonza Horák <hhorak@redhat.com>2012-10-08 14:34:13 +0200
committerHonza Horák <hhorak@redhat.com>2012-10-08 14:34:13 +0200
commit4a981dd0c3f1796daff5fbe66eca91566d14e12f (patch)
treec6742357191ac0c6d2ade14a6fca3ae9d59a8153
parent975f12a1e2dc660651b0892e168f6c0d7de96687 (diff)
downloaddsc-4a981dd0c3f1796daff5fbe66eca91566d14e12f.tar.gz
dsc-4a981dd0c3f1796daff5fbe66eca91566d14e12f.tar.xz
dsc-4a981dd0c3f1796daff5fbe66eca91566d14e12f.zip
postgresql upgraded to 9.2 and collection renamed to postgresql92
-rw-r--r--postgresql92/meta-postgresql92.spec63
-rw-r--r--postgresql92/postgresql.spec369
-rw-r--r--postgresql92/postgresql.spec.nodsc314
3 files changed, 584 insertions, 162 deletions
diff --git a/postgresql92/meta-postgresql92.spec b/postgresql92/meta-postgresql92.spec
new file mode 100644
index 0000000..893cbc0
--- /dev/null
+++ b/postgresql92/meta-postgresql92.spec
@@ -0,0 +1,63 @@
+%{!?scl:%global scl postgresql92}
+%scl_package %scl
+
+Summary: Package that installs %scl
+Name: %scl_name
+Version: 1
+Release: 2%{?dist}
+BuildArch: noarch
+License: GPLv2+
+Group: Applications/File
+Requires: scl-utils
+Requires: %{scl_prefix}postgresql
+BuildRequires: scl-utils-build
+
+%description
+This is the main package for %scl Software Collection.
+
+%package runtime
+Summary: Package that handles %scl Software Collection.
+Group: Applications/File
+Requires: scl-utils
+
+%description runtime
+Package shipping essential scripts to work with %scl Software Collection.
+
+%package build
+Summary: Package shipping basic build configuration
+Group: Applications/File
+
+%description build
+Package shipping essential configuration macros to build %scl Software Collection.
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}%{_scl_scripts}/root
+
+# During the build of this package, we don't know which architecture it is
+# going to be used on, so if we build on 64-bit system and use it on 32-bit,
+# the %{_libdir} would stay expanded to '.../lib64'. This way we determine
+# architecture everytime the 'scl enable ...' is run and set the
+# LD_LIBRARY_PATH accordingly
+cat >> %{buildroot}%{_scl_scripts}/enable << EOF
+export PATH=%{_bindir}:\$PATH
+export LIBRARY_PATH=%{_scl_root}`rpm -E %%_libdir`:\$LIBRARY_PATH
+export LD_LIBRARY_PATH=%{_scl_root}`rpm -E %%_libdir`:\$LD_LIBRARY_PATH
+EOF
+%scl_install
+
+%files
+
+%files runtime
+%scl_files
+
+%files build
+%{_root_sysconfdir}/rpm/macros.%{scl}-config
+
+%changelog
+* Wed Oct 03 2012 Honza Horak <hhorak@redhat.com> 1-2
+- update to postgresql-9.2 and rename to postgresql92
+
+* Mon Mar 19 2012 Honza Horak <hhorak@redhat.com> 1-1
+- initial packaging
+
diff --git a/postgresql92/postgresql.spec b/postgresql92/postgresql.spec
index 70bee6f..ad96da7 100644
--- a/postgresql92/postgresql.spec
+++ b/postgresql92/postgresql.spec
@@ -37,6 +37,7 @@
%{!?test:%global test 1}
%{!?upgrade:%global upgrade 1}
%{!?plpython:%global plpython 1}
+%{!?plpython3:%global plpython3 0}
%{!?pltcl:%global pltcl 1}
%{!?plperl:%global plperl 1}
%{!?ssl:%global ssl 1}
@@ -47,16 +48,16 @@
%{!?xml:%global xml 1}
%{!?pam:%global pam 1}
%{!?sdt:%global sdt 1}
-%{!?selinux:%global selinux 1}
+%{!?selinux:%global selinux 0}
%{!?runselftest:%global runselftest 0}
%{!?_unitdir:%global _unitdir /lib/systemd/system}
Summary: PostgreSQL client programs
Name: %{?scl_prefix}postgresql
-%global majorversion 9.1
-Version: 9.1.3
-Release: 3%{?dist}
+%global majorversion 9.2
+Version: 9.2.1
+Release: 1%{?dist}
# The PostgreSQL license is very similar to other MIT licenses, but the OSI
# recognizes it as an independent license, so we do as well.
@@ -67,8 +68,8 @@ Url: http://www.postgresql.org/
# This SRPM includes a copy of the previous major release, which is needed for
# 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.
-%global prevversion 9.0.7
-%global prevmajorversion 9.0
+%global prevversion 9.1.6
+%global prevmajorversion 9.1
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
# The PDF file is generated by generate-pdf.sh, which see for comments
@@ -83,14 +84,20 @@ Source7: ecpg_config.h
Source8: README.rpm-dist
Source9: postgresql-setup
Source10: postgresql.service
-Source11: postgresql.init
+Source11: initdb.sh
+Source12: upgrade.sh
+Source13: postgresql.tmpfiles.d
Source14: postgresql.pam
Source15: postgresql-bashprofile
+Source16: postgresql.init
# Comments for these patches are in the patch files.
Patch1: rpm-pgsql.patch
Patch2: postgresql-logging.patch
Patch3: postgresql-perl-rpath.patch
+Patch4: postgresql-config-comment.patch
+Patch5: postgresql-multi-sockets.patch
+Patch6: postgresql-var-run-socket.patch
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel
@@ -100,6 +107,10 @@ BuildRequires: readline-devel zlib-devel
BuildRequires: python-devel
%endif
+%if %plpython3
+BuildRequires: python3-devel
+%endif
+
%if %pltcl
BuildRequires: tcl-devel
%endif
@@ -145,8 +156,6 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%{?scl:Requires:%scl_runtime}
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
-
%description
PostgreSQL is an advanced Object-Relational database management system (DBMS).
The base postgresql package contains the client programs that you'll need to
@@ -178,14 +187,11 @@ Group: Applications/Databases
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires(pre): /usr/sbin/useradd
-# for /sbin/ldconfig
-Requires(post): glibc
-Requires(postun): glibc
+# Make sure it's there when scriptlets run, too
# This is actually needed for the %%triggerun script but Requires(triggerun)
# is not valid. We can use post because this particular %%triggerun script
# should fire just after this package is installed.
Requires(post): chkconfig
-# This is for /sbin/service
Requires(preun): initscripts
Requires(postun): initscripts
@@ -261,14 +267,26 @@ Install this if you want to write database functions in Perl.
%if %plpython
%package plpython
-Summary: The Python procedural language for PostgreSQL
+Summary: The Python2 procedural language for PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%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.
+Install this if you want to write database functions in Python 2.
+%endif
+
+%if %plpython3
+%package plpython3
+Summary: The Python3 procedural language for PostgreSQL
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{version}-%{release}
+
+%description plpython3
+The postgresql-plpython3 package contains the PL/Python3 procedural language,
+which is an extension to the PostgreSQL database server.
+Install this if you want to write database functions in Python 3.
%endif
%if %pltcl
@@ -278,7 +296,7 @@ Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%description pltcl
-The postgresql-plptcl package contains the PL/Tcl procedural language,
+The postgresql-pltcl package contains the PL/Tcl procedural language,
which is an extension to the PostgreSQL database server.
Install this if you want to write database functions in Tcl.
%endif
@@ -301,6 +319,9 @@ benchmarks.
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
# We used to run autoconf here, but there's no longer any real need to,
# since Postgres ships with a reasonably modern configure script.
@@ -330,14 +351,93 @@ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
# Strip out -ffast-math from CFLAGS....
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
-# Add LINUX_OOM_ADJ=0 to ensure child processes reset postmaster's oom_adj
-CFLAGS="$CFLAGS -DLINUX_OOM_ADJ=0"
+# Add LINUX_OOM_SCORE_ADJ=0 to ensure child processes reset postmaster's oom_score_adj
+CFLAGS="$CFLAGS -DLINUX_OOM_SCORE_ADJ=0"
# let's try removing this kluge, it may just be a workaround for bz#520916
# # use -O1 on sparc64 and alpha
# %%ifarch sparc64 alpha
# CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
# %%endif
+# 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.
+%if %plpython3
+
+export PYTHON=/usr/bin/python3
+
+# These configure options must match main build
+%configure --disable-rpath \
+%if %beta
+ --enable-debug \
+ --enable-cassert \
+%endif
+%if %plperl
+ --with-perl \
+%endif
+%if %pltcl
+ --with-tcl \
+ --with-tclconfig=%{?scl:%_root_libdir}%{!?scl:%_libdir} \
+%endif
+%if %plpython3
+ --with-python \
+%endif
+%if %ldap
+ --with-ldap \
+%endif
+%if %ssl
+ --with-openssl \
+%endif
+%if %pam
+ --with-pam \
+%endif
+%if %kerberos
+ --with-krb5 \
+ --with-gssapi \
+%endif
+%if %uuid
+ --with-ossp-uuid \
+%endif
+%if %xml
+ --with-libxml \
+ --with-libxslt \
+%endif
+%if %nls
+ --enable-nls \
+%endif
+%if %sdt
+ --enable-dtrace \
+%endif
+%if 0{!%selinux:1}
+ --with-selinux \
+%endif
+ --with-system-tzdata=%{?scl:%_root_datadir}%{!?scl:%_datadir}/zoneinfo \
+ --datadir=%{_datadir}/pgsql
+
+# Fortunately we don't need to build much except plpython itself
+cd src/backend
+make submake-errcodes
+cd ../..
+cd src/pl/plpython
+make %{?_smp_mflags} all
+cd ..
+# save built form in a directory that "make distclean" won't touch
+cp -a plpython plpython3
+cd ../..
+
+# must also save this version of Makefile.global for later
+cp src/Makefile.global src/Makefile.global.python3
+
+make distclean
+
+%endif
+
+unset PYTHON
+
+# Normal (not python3) build begins here
+
%configure --disable-rpath \
%if %beta
--enable-debug \
@@ -395,12 +495,31 @@ rm -f src/tutorial/GNUmakefile
%if %runselftest
pushd src/test/regress
make all
+%dir %{_datadir}/pgsql/contrib
make MAX_CONNECTIONS=5 check
make clean
popd
pushd src/pl
make MAX_CONNECTIONS=5 check
popd
+%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
+ # because "make check" does "make install" on the whole tree,
+ # we must temporarily install plpython3 as src/pl/plpython,
+ # since that is the subdirectory src/pl/Makefile knows about
+ mv src/pl/plpython src/pl/plpython2
+ mv src/pl/plpython3 src/pl/plpython
+ pushd src/pl/plpython
+ make MAX_CONNECTIONS=5 check
+ popd
+ # and clean up our mess
+ mv src/pl/plpython src/pl/plpython3
+ mv src/pl/plpython2 src/pl/plpython
+ mv -f src/Makefile.global.save src/Makefile.global
+%endif
pushd contrib
make MAX_CONNECTIONS=5 check
popd
@@ -431,10 +550,19 @@ rm -f src/tutorial/GNUmakefile
%endif
%install
-rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install-world
+%if %plpython3
+ 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
+ pushd src/pl/plpython3
+ make DESTDIR=$RPM_BUILD_ROOT install
+ popd
+ mv -f src/Makefile.global.save src/Makefile.global
+%endif
+
# multilib header hack; note pg_config.h is installed in two places!
# we only apply this to known Red Hat multilib arches, per bug #177564
case `uname -i` in
@@ -462,7 +590,6 @@ sed -e 's|^PGVERSION=.*$|PGVERSION=%{version}|' \
-e 's|/var/lib|%{?_scl_root}/var/lib|' \
<%{SOURCE9} >postgresql-setup
touch -r %{SOURCE9} postgresql-setup
-
install -m 755 postgresql-setup $RPM_BUILD_ROOT%{_bindir}/postgresql-setup
# prep the startup check script, including insertion of some values it needs
@@ -484,19 +611,27 @@ LD_LIBRARY_PATH=%_libdir
EOF
install -m 644 sclenv $RPM_BUILD_ROOT%{_libdir}/pgsql/sclenv
-install -d $RPM_BUILD_ROOT%{_prefix}/var/run
-install -d $RPM_BUILD_ROOT%{_prefix}/var/lock/subsys
+install -d $RPM_BUILD_ROOT%{?_scl_root}/var/run
+install -d $RPM_BUILD_ROOT%{?_scl_root}/var/lock/subsys
+%if ! %{selinux}
+mkdir -p -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/contrib
+%endif
+
+install -d $RPM_BUILD_ROOT/usr/libexec/initscripts/legacy-actions/postgresql
+install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/usr/libexec/initscripts/legacy-actions/postgresql/initdb
+install -m 755 %{SOURCE12} $RPM_BUILD_ROOT/usr/libexec/initscripts/legacy-actions/postgresql/upgrade
install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
sed -e 's|/# Provides: postgresql|# Provides: %{?scl_prefix}postgresql|g' \
-e 's|/etc/sysconfig/pgsql|%{_sysconfdir}/sysconfig/pgsql|g' \
-e 's|/usr/bin|%{_bindir}|g' \
+ -e 's|=/var/lib/|=%{?_scl_root}/var/lib/|g' \
-e 's|^PGVERSION=.*$|PGVERSION=%{version}|' \
-e 's|^PGENGINE=.*$|PGENGINE=%{_bindir}|' \
-e 's|^PREVMAJORVERSION=.*$|PREVMAJORVERSION=%{prevmajorversion}|' \
-e 's|^PREVPGENGINE=.*$|PREVPGENGINE=%{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin|' \
-e 's|SERVICE_NAME=postgresql|SERVICE_NAME=%{?scl_prefix}postgresql|' \
- <%{SOURCE11} >postgresql.init
+ <%{SOURCE16} >postgresql.init
install -m 755 postgresql.init $RPM_BUILD_ROOT/etc/rc.d/init.d/%{?scl_prefix}postgresql
%if %pam
@@ -504,6 +639,13 @@ install -d $RPM_BUILD_ROOT/etc/pam.d
install -m 644 %{SOURCE14} $RPM_BUILD_ROOT/etc/pam.d/%{?scl_prefix}postgresql
%endif
+# Create the directory for sockets.
+install -d -m 755 $RPM_BUILD_ROOT/var/run/postgresql
+
+# ... and make a tmpfiles script to recreate it at reboot.
+mkdir -p $RPM_BUILD_ROOT%{?scl:%_root_prefix}%{!?scl:%_prefix}/lib/tmpfiles.d
+install -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{?scl:%_root_prefix}%{!?scl:%_prefix}/lib/tmpfiles.d/%{?scl_prefix}postgresql.conf
+
# PGDATA needs removal of group and world permissions due to pg_pwd hole.
install -d -m 700 $RPM_BUILD_ROOT%{?_scl_root}/var/lib/pgsql/data
@@ -530,6 +672,7 @@ install -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{?_scl_root}/var/lib/pgsql/.bash_prof
rm bin/dropuser
rm bin/ecpg
rm bin/initdb
+ rm bin/pg_basebackup
rm bin/pg_config
rm bin/pg_controldata
rm bin/pg_dump
@@ -576,7 +719,6 @@ install -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{?_scl_root}/var/lib/pgsql/.bash_prof
%endif
# Fix some more documentation
-# gzip doc/internals.ps
cp %{SOURCE8} README.rpm-dist
mv $RPM_BUILD_ROOT%{_docdir}/pgsql/html doc
rm -rf $RPM_BUILD_ROOT%{_docdir}/pgsql
@@ -586,6 +728,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
%if !%upgrade
rm -f $RPM_BUILD_ROOT%{_bindir}/pg_upgrade
rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/pg_upgrade_support.so
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/pg_upgrade.*
%endif
# initialize file lists
@@ -596,6 +739,7 @@ cp /dev/null devel.lst
cp /dev/null plperl.lst
cp /dev/null pltcl.lst
cp /dev/null plpython.lst
+cp /dev/null plpython3.lst
%if %nls
%find_lang ecpg-%{majorversion}
@@ -630,6 +774,11 @@ cat plpgsql-%{majorversion}.lang >>server.lst
%find_lang plpython-%{majorversion}
cat plpython-%{majorversion}.lang >>plpython.lst
%endif
+%if %plpython3
+# plpython3 shares message files with plpython
+%find_lang plpython-%{majorversion}
+cat plpython-%{majorversion}.lang >>plpython3.lst
+%endif
%if %pltcl
%find_lang pltcl-%{majorversion}
cat pltcl-%{majorversion}.lang >>pltcl.lst
@@ -650,76 +799,36 @@ cat psql-%{majorversion}.lang >>main.lst
%post server
if [ -e /bin/systemctl ] ; then
- # We don't want old init script if we have systemd
- rm -f /etc/rc.d/init.d/%{?scl_prefix}postgresql
-
- if [ $1 -eq 1 ] ; then
- # Initial installation
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
- fi
-
- # Run this when upgrading from SysV initscript to native systemd unit
- %triggerun server -- postgresql-server < %{first_systemd_version}
- # Save the current service runlevel info
- # User must manually run systemd-sysv-convert --apply postgresql
- # to migrate them to systemd targets
- /usr/bin/systemd-sysv-convert --save postgresql >/dev/null 2>&1 || :
-
- # Run these because the SysV package being removed won't do them
- /sbin/chkconfig --del postgresql >/dev/null 2>&1 || :
- /bin/systemctl try-restart %{?scl_prefix}postgresql.service >/dev/null 2>&1 || :
+# This part is run in RHEL-7 and newer
+# We don't want old SysVinit script if we use systemd
+rm -f %{?scl:%_root_sysconfdir}%{!?scl:%_sysconfdir}/rc.d/init.d/%{?scl_prefix}postgresql
+%systemd_post %{?scl_prefix}postgresql.service
else
- # We don't want new systemd unit file if we don't have systemd
- rm -f %{_unitdir}/%{?scl_prefix}postgresql.service
- /sbin/chkconfig --add %{?scl_prefix}postgresql
- /sbin/ldconfig
+# This part is run in RHEL-6 and older
+# We don't want new systemd unit file if we don't use systemd
+rm -f %{_unitdir}/%{?scl_prefix}postgresql.service
+/sbin/chkconfig --add %{?scl_prefix}postgresql
fi
+/sbin/ldconfig
%preun server
-if [ $1 -eq 0 ] ; then
- # Package removal, not upgrade
- if [ -e /bin/systemctl ] ; then
- /bin/systemctl --no-reload disable %{?scl_prefix}postgresql.service >/dev/null 2>&1 || :
- /bin/systemctl stop %{?scl_prefix}postgresql.service >/dev/null 2>&1 || :
- else
- /sbin/service %{?scl_prefix}postgresql stop >/dev/null 2>&1
- /sbin/chkconfig --del %{?scl_prefix}postgresql
- fi
+if [ -e /bin/systemctl ] ; then
+%systemd_preun %{?scl_prefix}postgresql.service
+else
+/sbin/service %{?scl_prefix}postgresql stop >/dev/null 2>&1
+/sbin/chkconfig --del %{?scl_prefix}postgresql
fi
%postun server
-/sbin/ldconfig
-if [ $1 -ge 1 ] ; then
- # Package upgrade, not uninstall
- if [ -e /bin/systemctl ] ; then
- /bin/systemctl try-restart %{?scl_prefix}postgresql.service >/dev/null 2>&1 || :
- else
- /sbin/service %{?scl_prefix}postgresql condrestart >/dev/null 2>&1 || :
- fi
+if [ -e /bin/systemctl ] ; then
+%systemd_postun_with_restart %{?scl_prefix}postgresql.service
+else
+/sbin/service %{?scl_prefix}postgresql condrestart >/dev/null 2>&1 || :
fi
-%if %plperl
-%post -p /sbin/ldconfig plperl
-%postun -p /sbin/ldconfig plperl
-%endif
-
-%if %plpython
-%post -p /sbin/ldconfig plpython
-%postun -p /sbin/ldconfig plpython
-%endif
-
-%if %pltcl
-%post -p /sbin/ldconfig pltcl
-%postun -p /sbin/ldconfig pltcl
-%endif
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
# FILES section.
%files -f main.lst
-%defattr(-,root,root)
%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO
%doc COPYRIGHT README HISTORY doc/bug.template
%doc README.rpm-dist
@@ -756,12 +865,10 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/pgsql
%files docs
-%defattr(-,root,root)
%doc *-US.pdf
%{_libdir}/pgsql/tutorial/
%files contrib
-%defattr(-,root,root)
%{_datadir}/pgsql/extension/adminpack*
%{_datadir}/pgsql/extension/autoinc*
%{_datadir}/pgsql/extension/btree_gin*
@@ -794,6 +901,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pgsql/extension/refint*
%{_datadir}/pgsql/extension/seg*
%{_datadir}/pgsql/extension/tablefunc*
+%{_datadir}/pgsql/extension/tcn*
%{_datadir}/pgsql/extension/test_parser*
%{_datadir}/pgsql/extension/timetravel*
%{_datadir}/pgsql/extension/tsearch2*
@@ -833,6 +941,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/refint.so
%{_libdir}/pgsql/seg.so
%{_libdir}/pgsql/tablefunc.so
+%{_libdir}/pgsql/tcn.so
%{_libdir}/pgsql/test_parser.so
%{_libdir}/pgsql/timetravel.so
%{_libdir}/pgsql/tsearch2.so
@@ -857,13 +966,20 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/pg_archivecleanup
%{_bindir}/pg_standby
%{_bindir}/pg_test_fsync
+%{_bindir}/pg_test_timing
%{_bindir}/pgbench
%{_bindir}/vacuumlo
+%{_mandir}/man1/oid2name.*
+%{_mandir}/man1/pg_archivecleanup.*
+%{_mandir}/man1/pg_standby.*
+%{_mandir}/man1/pg_test_fsync.*
+%{_mandir}/man1/pg_test_timing.*
+%{_mandir}/man1/pgbench.*
+%{_mandir}/man1/vacuumlo.*
%{_mandir}/man3/dblink*
%doc contrib/spi/*.example
%files libs -f libs.lst
-%defattr(-,root,root)
%doc COPYRIGHT
%{_libdir}/libpq.so.*
%{_libdir}/libecpg.so.*
@@ -871,10 +987,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libecpg_compat.so.*
%files server -f server.lst
-%defattr(-,root,root)
%{_libdir}/pgsql/sclenv
%{_unitdir}/%{?scl_prefix}postgresql.service
/etc/rc.d/init.d/%{?scl_prefix}postgresql
+%dir /usr/libexec/initscripts/legacy-actions/postgresql
+/usr/libexec/initscripts/legacy-actions/postgresql/*
%if %pam
%config(noreplace) /etc/pam.d/%{?scl_prefix}postgresql
%endif
@@ -882,6 +999,7 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/pg_basebackup
%{_bindir}/pg_controldata
%{_bindir}/pg_ctl
+%{_bindir}/pg_receivexlog
%{_bindir}/pg_resetxlog
%{_bindir}/postgres
%{_bindir}/postmaster
@@ -891,6 +1009,7 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/pg_basebackup.*
%{_mandir}/man1/pg_controldata.*
%{_mandir}/man1/pg_ctl.*
+%{_mandir}/man1/pg_receivexlog.*
%{_mandir}/man1/pg_resetxlog.*
%{_mandir}/man1/postgres.*
%{_mandir}/man1/postmaster.*
@@ -907,6 +1026,8 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_datadir}/pgsql/contrib
%dir %{_datadir}/pgsql/extension
%{_datadir}/pgsql/extension/plpgsql*
+%{?scl:%_root_prefix}%{!?scl:%_prefix}/lib/tmpfiles.d/%{?scl_prefix}postgresql.conf
+%attr(755,postgres,postgres) %dir /var/run/postgresql
%attr(700,postgres,postgres) %dir %{?_scl_root}/var/lib/pgsql
%attr(700,postgres,postgres) %dir %{?_scl_root}/var/lib/pgsql/data
%attr(700,postgres,postgres) %dir %{?_scl_root}/var/lib/pgsql/backups
@@ -918,12 +1039,11 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pgsql/information_schema.sql
%{_datadir}/pgsql/snowball_create.sql
%{_datadir}/pgsql/sql_features.txt
-%dir %{_prefix}/var/run
-%dir %{_prefix}/var/lock/subsys
+%dir %{?_scl_root}/var/run
+%dir %{?_scl_root}/var/lock/subsys
%files devel -f devel.lst
-%defattr(-,root,root)
-%{_includedir}/*
+%{?_scl_root}/usr/include/*
%{_bindir}/ecpg
%{_libdir}/libpq.so
%{_libdir}/libecpg.so
@@ -935,22 +1055,20 @@ rm -rf $RPM_BUILD_ROOT
%if %upgrade
%files upgrade
-%defattr(-,root,root)
%{_bindir}/pg_upgrade
%{_libdir}/pgsql/pg_upgrade_support.so
%{_libdir}/pgsql/postgresql-%{prevmajorversion}
+%{_mandir}/man1/pg_upgrade.*
%endif
%if %plperl
%files plperl -f plperl.lst
-%defattr(-,root,root)
%{_datadir}/pgsql/extension/plperl*
%{_libdir}/pgsql/plperl.so
%endif
%if %pltcl
%files pltcl -f pltcl.lst
-%defattr(-,root,root)
%{_datadir}/pgsql/extension/pltcl*
%{_libdir}/pgsql/pltcl.so
%{_bindir}/pltcl_delmod
@@ -961,11 +1079,17 @@ rm -rf $RPM_BUILD_ROOT
%if %plpython
%files plpython -f plpython.lst
-%defattr(-,root,root)
-%{_datadir}/pgsql/extension/plpython*
+%{_datadir}/pgsql/extension/plpythonu*
+%{_datadir}/pgsql/extension/plpython2*
%{_libdir}/pgsql/plpython2.so
%endif
+%if %plpython3
+%files plpython3 -f plpython3.lst
+%{_datadir}/pgsql/extension/plpython3*
+%{_libdir}/pgsql/plpython3.so
+%endif
+
%if %test
%files test
%defattr(-,postgres,postgres)
@@ -974,6 +1098,61 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
+* Mon Sep 24 2012 Tom Lane <tgl@redhat.com> 9.2.1-1
+- Update to PostgreSQL 9.2.1, for various fixes described at
+ http://www.postgresql.org/docs/9.2/static/release-9-2-1.html
+ including a nasty data-loss bug
+- Adopt new systemd macros for server package install/uninstall triggers
+Resolves: #850277
+
+* Mon Sep 10 2012 Tom Lane <tgl@redhat.com> 9.2.0-1
+- Update to PostgreSQL 9.2.0 (major version bump);
+ in-place upgrade support now works from 9.1.x as the previous version
+- Add postgresql-plpython3 subpackage with PL/Python built against Python 3
+
+* Tue Aug 28 2012 Tom Lane <tgl@redhat.com> 9.1.5-2
+- Remove unnecessary ldconfig calls in pre/post triggers
+Resolves: #849344
+
+* Fri Aug 17 2012 Tom Lane <tgl@redhat.com> 9.1.5-1
+- Update to PostgreSQL 9.1.5, for various fixes described at
+ http://www.postgresql.org/docs/9.1/static/release-9-1-5.html
+ including the fixes for CVE-2012-3488, CVE-2012-3489
+
+* Mon Aug 13 2012 Tom Lane <tgl@redhat.com> 9.1.4-5
+- Back-port upstream support for postmaster listening on multiple Unix sockets
+- Configure postmaster to create sockets in both /var/run/postgresql and /tmp;
+ the former is now the default place for libpq to contact the postmaster.
+Resolves: #825448
+- Annotate postgresql.conf about not setting port number there
+- Minor specfile cleanup per suggestions from Tom Callaway
+Related: #845110
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.1.4-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jul 14 2012 Tom Lane <tgl@redhat.com> 9.1.4-3
+- Update code to use oom_score_adj not oom_adj, thereby suppressing
+ whining in the kernel log
+- Add "legacy action" scripts to support "service postgresql initdb" and
+ "service postgresql upgrade" in a now-approved fashion (requires a
+ recent version of initscripts to work)
+Resolves: #800416
+
+* Mon Jun 11 2012 Petr Pisar <ppisar@redhat.com> - 9.1.4-2
+- Perl 5.16 rebuild
+
+* Mon Jun 4 2012 Tom Lane <tgl@redhat.com> 9.1.4-1
+- Update to PostgreSQL 9.1.4, for various fixes described at
+ http://www.postgresql.org/docs/9.1/static/release-9-1-4.html
+ including the fixes for CVE-2012-2143, CVE-2012-2655
+Resolves: #826606
+- Update previous version (embedded in postgresql-upgrade) to 9.0.8
+ because fix in whole-row variable dumping could be needed for upgrades
+- Revert fix for bug #800416, per fedora-packaging discussion at
+ http://lists.fedoraproject.org/pipermail/packaging/2012-April/008314.html
+ "service postgresql initdb" is dead and will stay that way
+
* Sat Mar 17 2012 Tom Lane <tgl@redhat.com> 9.1.3-3
- Fix postgresql-setup to rely on systemd to parse the unit file, instead
of using ad-hoc code
diff --git a/postgresql92/postgresql.spec.nodsc b/postgresql92/postgresql.spec.nodsc
index 3bebb5b..09a9927 100644
--- a/postgresql92/postgresql.spec.nodsc
+++ b/postgresql92/postgresql.spec.nodsc
@@ -35,6 +35,7 @@
%{!?test:%global test 1}
%{!?upgrade:%global upgrade 1}
%{!?plpython:%global plpython 1}
+%{!?plpython3:%global plpython3 1}
%{!?pltcl:%global pltcl 1}
%{!?plperl:%global plperl 1}
%{!?ssl:%global ssl 1}
@@ -51,9 +52,9 @@
Summary: PostgreSQL client programs
Name: postgresql
-%global majorversion 9.1
-Version: 9.1.3
-Release: 3%{?dist}
+%global majorversion 9.2
+Version: 9.2.1
+Release: 1%{?dist}
# The PostgreSQL license is very similar to other MIT licenses, but the OSI
# recognizes it as an independent license, so we do as well.
@@ -67,8 +68,8 @@ Url: http://www.postgresql.org/
# This SRPM includes a copy of the previous major release, which is needed for
# 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.
-%global prevversion 9.0.7
-%global prevmajorversion 9.0
+%global prevversion 9.1.6
+%global prevmajorversion 9.1
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
# The PDF file is generated by generate-pdf.sh, which see for comments
@@ -83,7 +84,9 @@ Source7: ecpg_config.h
Source8: README.rpm-dist
Source9: postgresql-setup
Source10: postgresql.service
-Source11: postgresql.init
+Source11: initdb.sh
+Source12: upgrade.sh
+Source13: postgresql.tmpfiles.d
Source14: postgresql.pam
Source15: postgresql-bashprofile
@@ -91,6 +94,9 @@ Source15: postgresql-bashprofile
Patch1: rpm-pgsql.patch
Patch2: postgresql-logging.patch
Patch3: postgresql-perl-rpath.patch
+Patch4: postgresql-config-comment.patch
+Patch5: postgresql-multi-sockets.patch
+Patch6: postgresql-var-run-socket.patch
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel
@@ -101,6 +107,10 @@ BuildRequires: systemd-units
BuildRequires: python-devel
%endif
+%if %plpython3
+BuildRequires: python3-devel
+%endif
+
%if %pltcl
BuildRequires: tcl-devel
%endif
@@ -144,8 +154,6 @@ BuildRequires: libselinux-devel
# main package requires -libs subpackage
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
-
%description
PostgreSQL is an advanced Object-Relational database management system (DBMS).
The base postgresql package contains the client programs that you'll need to
@@ -177,10 +185,9 @@ Group: Applications/Databases
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires(pre): /usr/sbin/useradd
-# for /sbin/ldconfig
-Requires(post): glibc
-Requires(postun): glibc
-# pre/post stuff needs systemd too
+# We require this to be present for %%{_prefix}/lib/tmpfiles.d
+Requires: systemd-units
+# Make sure it's there when scriptlets run, too
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
@@ -262,14 +269,26 @@ Install this if you want to write database functions in Perl.
%if %plpython
%package plpython
-Summary: The Python procedural language for PostgreSQL
+Summary: The Python2 procedural language for PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%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.
+Install this if you want to write database functions in Python 2.
+%endif
+
+%if %plpython3
+%package plpython3
+Summary: The Python3 procedural language for PostgreSQL
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{version}-%{release}
+
+%description plpython3
+The postgresql-plpython3 package contains the PL/Python3 procedural language,
+which is an extension to the PostgreSQL database server.
+Install this if you want to write database functions in Python 3.
%endif
%if %pltcl
@@ -279,7 +298,7 @@ Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%description pltcl
-The postgresql-plptcl package contains the PL/Tcl procedural language,
+The postgresql-pltcl package contains the PL/Tcl procedural language,
which is an extension to the PostgreSQL database server.
Install this if you want to write database functions in Tcl.
%endif
@@ -302,6 +321,9 @@ benchmarks.
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
# We used to run autoconf here, but there's no longer any real need to,
# since Postgres ships with a reasonably modern configure script.
@@ -331,14 +353,93 @@ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
# Strip out -ffast-math from CFLAGS....
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
-# Add LINUX_OOM_ADJ=0 to ensure child processes reset postmaster's oom_adj
-CFLAGS="$CFLAGS -DLINUX_OOM_ADJ=0"
+# Add LINUX_OOM_SCORE_ADJ=0 to ensure child processes reset postmaster's oom_score_adj
+CFLAGS="$CFLAGS -DLINUX_OOM_SCORE_ADJ=0"
# let's try removing this kluge, it may just be a workaround for bz#520916
# # use -O1 on sparc64 and alpha
# %%ifarch sparc64 alpha
# CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
# %%endif
+# 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.
+%if %plpython3
+
+export PYTHON=/usr/bin/python3
+
+# These configure options must match main build
+%configure --disable-rpath \
+%if %beta
+ --enable-debug \
+ --enable-cassert \
+%endif
+%if %plperl
+ --with-perl \
+%endif
+%if %pltcl
+ --with-tcl \
+ --with-tclconfig=%{_libdir} \
+%endif
+%if %plpython3
+ --with-python \
+%endif
+%if %ldap
+ --with-ldap \
+%endif
+%if %ssl
+ --with-openssl \
+%endif
+%if %pam
+ --with-pam \
+%endif
+%if %kerberos
+ --with-krb5 \
+ --with-gssapi \
+%endif
+%if %uuid
+ --with-ossp-uuid \
+%endif
+%if %xml
+ --with-libxml \
+ --with-libxslt \
+%endif
+%if %nls
+ --enable-nls \
+%endif
+%if %sdt
+ --enable-dtrace \
+%endif
+%if %selinux
+ --with-selinux \
+%endif
+ --with-system-tzdata=/usr/share/zoneinfo \
+ --datadir=/usr/share/pgsql
+
+# Fortunately we don't need to build much except plpython itself
+cd src/backend
+make submake-errcodes
+cd ../..
+cd src/pl/plpython
+make %{?_smp_mflags} all
+cd ..
+# save built form in a directory that "make distclean" won't touch
+cp -a plpython plpython3
+cd ../..
+
+# must also save this version of Makefile.global for later
+cp src/Makefile.global src/Makefile.global.python3
+
+make distclean
+
+%endif
+
+unset PYTHON
+
+# Normal (not python3) build begins here
+
%configure --disable-rpath \
%if %beta
--enable-debug \
@@ -402,6 +503,24 @@ rm -f src/tutorial/GNUmakefile
pushd src/pl
make MAX_CONNECTIONS=5 check
popd
+%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
+ # because "make check" does "make install" on the whole tree,
+ # we must temporarily install plpython3 as src/pl/plpython,
+ # since that is the subdirectory src/pl/Makefile knows about
+ mv src/pl/plpython src/pl/plpython2
+ mv src/pl/plpython3 src/pl/plpython
+ pushd src/pl/plpython
+ make MAX_CONNECTIONS=5 check
+ popd
+ # and clean up our mess
+ mv src/pl/plpython src/pl/plpython3
+ mv src/pl/plpython2 src/pl/plpython
+ mv -f src/Makefile.global.save src/Makefile.global
+%endif
pushd contrib
make MAX_CONNECTIONS=5 check
popd
@@ -432,10 +551,19 @@ rm -f src/tutorial/GNUmakefile
%endif
%install
-rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install-world
+%if %plpython3
+ 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
+ pushd src/pl/plpython3
+ make DESTDIR=$RPM_BUILD_ROOT install
+ popd
+ mv -f src/Makefile.global.save src/Makefile.global
+%endif
+
# multilib header hack; note pg_config.h is installed in two places!
# we only apply this to known Red Hat multilib arches, per bug #177564
case `uname -i` in
@@ -474,14 +602,22 @@ install -m 755 postgresql-check-db-dir $RPM_BUILD_ROOT%{_bindir}/postgresql-chec
install -d $RPM_BUILD_ROOT%{_unitdir}
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_unitdir}/postgresql.service
-install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
-install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql
+install -d $RPM_BUILD_ROOT/usr/libexec/initscripts/legacy-actions/postgresql
+install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/usr/libexec/initscripts/legacy-actions/postgresql/initdb
+install -m 755 %{SOURCE12} $RPM_BUILD_ROOT/usr/libexec/initscripts/legacy-actions/postgresql/upgrade
%if %pam
install -d $RPM_BUILD_ROOT/etc/pam.d
install -m 644 %{SOURCE14} $RPM_BUILD_ROOT/etc/pam.d/postgresql
%endif
+# Create the directory for sockets.
+install -d -m 755 $RPM_BUILD_ROOT/var/run/postgresql
+
+# ... and make a tmpfiles script to recreate it at reboot.
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
+install -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/postgresql.conf
+
# PGDATA needs removal of group and world permissions due to pg_pwd hole.
install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/data
@@ -508,6 +644,7 @@ install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile
rm bin/dropuser
rm bin/ecpg
rm bin/initdb
+ rm bin/pg_basebackup
rm bin/pg_config
rm bin/pg_controldata
rm bin/pg_dump
@@ -554,7 +691,6 @@ install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile
%endif
# Fix some more documentation
-# gzip doc/internals.ps
cp %{SOURCE8} README.rpm-dist
mv $RPM_BUILD_ROOT%{_docdir}/pgsql/html doc
rm -rf $RPM_BUILD_ROOT%{_docdir}/pgsql
@@ -564,6 +700,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
%if !%upgrade
rm -f $RPM_BUILD_ROOT%{_bindir}/pg_upgrade
rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/pg_upgrade_support.so
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/pg_upgrade.*
%endif
# initialize file lists
@@ -574,6 +711,7 @@ cp /dev/null devel.lst
cp /dev/null plperl.lst
cp /dev/null pltcl.lst
cp /dev/null plpython.lst
+cp /dev/null plpython3.lst
%if %nls
%find_lang ecpg-%{majorversion}
@@ -608,6 +746,11 @@ cat plpgsql-%{majorversion}.lang >>server.lst
%find_lang plpython-%{majorversion}
cat plpython-%{majorversion}.lang >>plpython.lst
%endif
+%if %plpython3
+# plpython3 shares message files with plpython
+%find_lang plpython-%{majorversion}
+cat plpython-%{majorversion}.lang >>plpython3.lst
+%endif
%if %pltcl
%find_lang pltcl-%{majorversion}
cat pltcl-%{majorversion}.lang >>pltcl.lst
@@ -627,11 +770,7 @@ cat psql-%{majorversion}.lang >>main.lst
-c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :
%post server
-/sbin/ldconfig
-if [ $1 -eq 1 ] ; then
- # Initial installation
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
-fi
+%systemd_post postgresql.service
# Run this when upgrading from SysV initscript to native systemd unit
%triggerun server -- postgresql-server < %{first_systemd_version}
@@ -645,42 +784,14 @@ fi
/bin/systemctl try-restart postgresql.service >/dev/null 2>&1 || :
%preun server
-if [ $1 -eq 0 ] ; then
- # Package removal, not upgrade
- /bin/systemctl --no-reload disable postgresql.service >/dev/null 2>&1 || :
- /bin/systemctl stop postgresql.service >/dev/null 2>&1 || :
-fi
+%systemd_preun postgresql.service
%postun server
-/sbin/ldconfig
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
-if [ $1 -ge 1 ] ; then
- # Package upgrade, not uninstall
- /bin/systemctl try-restart postgresql.service >/dev/null 2>&1 || :
-fi
-
-%if %plperl
-%post -p /sbin/ldconfig plperl
-%postun -p /sbin/ldconfig plperl
-%endif
-
-%if %plpython
-%post -p /sbin/ldconfig plpython
-%postun -p /sbin/ldconfig plpython
-%endif
-
-%if %pltcl
-%post -p /sbin/ldconfig pltcl
-%postun -p /sbin/ldconfig pltcl
-%endif
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+%systemd_postun_with_restart postgresql.service
# FILES section.
%files -f main.lst
-%defattr(-,root,root)
%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO
%doc COPYRIGHT README HISTORY doc/bug.template
%doc README.rpm-dist
@@ -717,12 +828,10 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/pgsql
%files docs
-%defattr(-,root,root)
%doc *-US.pdf
%{_libdir}/pgsql/tutorial/
%files contrib
-%defattr(-,root,root)
%{_datadir}/pgsql/extension/adminpack*
%{_datadir}/pgsql/extension/autoinc*
%{_datadir}/pgsql/extension/btree_gin*
@@ -755,6 +864,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pgsql/extension/refint*
%{_datadir}/pgsql/extension/seg*
%{_datadir}/pgsql/extension/tablefunc*
+%{_datadir}/pgsql/extension/tcn*
%{_datadir}/pgsql/extension/test_parser*
%{_datadir}/pgsql/extension/timetravel*
%{_datadir}/pgsql/extension/tsearch2*
@@ -794,6 +904,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/refint.so
%{_libdir}/pgsql/seg.so
%{_libdir}/pgsql/tablefunc.so
+%{_libdir}/pgsql/tcn.so
%{_libdir}/pgsql/test_parser.so
%{_libdir}/pgsql/timetravel.so
%{_libdir}/pgsql/tsearch2.so
@@ -818,13 +929,20 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/pg_archivecleanup
%{_bindir}/pg_standby
%{_bindir}/pg_test_fsync
+%{_bindir}/pg_test_timing
%{_bindir}/pgbench
%{_bindir}/vacuumlo
+%{_mandir}/man1/oid2name.*
+%{_mandir}/man1/pg_archivecleanup.*
+%{_mandir}/man1/pg_standby.*
+%{_mandir}/man1/pg_test_fsync.*
+%{_mandir}/man1/pg_test_timing.*
+%{_mandir}/man1/pgbench.*
+%{_mandir}/man1/vacuumlo.*
%{_mandir}/man3/dblink*
%doc contrib/spi/*.example
%files libs -f libs.lst
-%defattr(-,root,root)
%doc COPYRIGHT
%{_libdir}/libpq.so.*
%{_libdir}/libecpg.so.*
@@ -832,9 +950,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libecpg_compat.so.*
%files server -f server.lst
-%defattr(-,root,root)
%{_unitdir}/postgresql.service
-/etc/rc.d/init.d/postgresql
+%dir /usr/libexec/initscripts/legacy-actions/postgresql
+/usr/libexec/initscripts/legacy-actions/postgresql/*
%if %pam
%config(noreplace) /etc/pam.d/postgresql
%endif
@@ -842,6 +960,7 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/pg_basebackup
%{_bindir}/pg_controldata
%{_bindir}/pg_ctl
+%{_bindir}/pg_receivexlog
%{_bindir}/pg_resetxlog
%{_bindir}/postgres
%{_bindir}/postmaster
@@ -851,6 +970,7 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/pg_basebackup.*
%{_mandir}/man1/pg_controldata.*
%{_mandir}/man1/pg_ctl.*
+%{_mandir}/man1/pg_receivexlog.*
%{_mandir}/man1/pg_resetxlog.*
%{_mandir}/man1/postgres.*
%{_mandir}/man1/postmaster.*
@@ -867,6 +987,8 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_datadir}/pgsql/contrib
%dir %{_datadir}/pgsql/extension
%{_datadir}/pgsql/extension/plpgsql*
+%{_prefix}/lib/tmpfiles.d/postgresql.conf
+%attr(755,postgres,postgres) %dir /var/run/postgresql
%attr(700,postgres,postgres) %dir /var/lib/pgsql
%attr(700,postgres,postgres) %dir /var/lib/pgsql/data
%attr(700,postgres,postgres) %dir /var/lib/pgsql/backups
@@ -880,7 +1002,6 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pgsql/sql_features.txt
%files devel -f devel.lst
-%defattr(-,root,root)
/usr/include/*
%{_bindir}/ecpg
%{_libdir}/libpq.so
@@ -893,22 +1014,20 @@ rm -rf $RPM_BUILD_ROOT
%if %upgrade
%files upgrade
-%defattr(-,root,root)
%{_bindir}/pg_upgrade
%{_libdir}/pgsql/pg_upgrade_support.so
%{_libdir}/pgsql/postgresql-%{prevmajorversion}
+%{_mandir}/man1/pg_upgrade.*
%endif
%if %plperl
%files plperl -f plperl.lst
-%defattr(-,root,root)
%{_datadir}/pgsql/extension/plperl*
%{_libdir}/pgsql/plperl.so
%endif
%if %pltcl
%files pltcl -f pltcl.lst
-%defattr(-,root,root)
%{_datadir}/pgsql/extension/pltcl*
%{_libdir}/pgsql/pltcl.so
%{_bindir}/pltcl_delmod
@@ -919,11 +1038,17 @@ rm -rf $RPM_BUILD_ROOT
%if %plpython
%files plpython -f plpython.lst
-%defattr(-,root,root)
-%{_datadir}/pgsql/extension/plpython*
+%{_datadir}/pgsql/extension/plpythonu*
+%{_datadir}/pgsql/extension/plpython2*
%{_libdir}/pgsql/plpython2.so
%endif
+%if %plpython3
+%files plpython3 -f plpython3.lst
+%{_datadir}/pgsql/extension/plpython3*
+%{_libdir}/pgsql/plpython3.so
+%endif
+
%if %test
%files test
%defattr(-,postgres,postgres)
@@ -932,6 +1057,61 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
+* Mon Sep 24 2012 Tom Lane <tgl@redhat.com> 9.2.1-1
+- Update to PostgreSQL 9.2.1, for various fixes described at
+ http://www.postgresql.org/docs/9.2/static/release-9-2-1.html
+ including a nasty data-loss bug
+- Adopt new systemd macros for server package install/uninstall triggers
+Resolves: #850277
+
+* Mon Sep 10 2012 Tom Lane <tgl@redhat.com> 9.2.0-1
+- Update to PostgreSQL 9.2.0 (major version bump);
+ in-place upgrade support now works from 9.1.x as the previous version
+- Add postgresql-plpython3 subpackage with PL/Python built against Python 3
+
+* Tue Aug 28 2012 Tom Lane <tgl@redhat.com> 9.1.5-2
+- Remove unnecessary ldconfig calls in pre/post triggers
+Resolves: #849344
+
+* Fri Aug 17 2012 Tom Lane <tgl@redhat.com> 9.1.5-1
+- Update to PostgreSQL 9.1.5, for various fixes described at
+ http://www.postgresql.org/docs/9.1/static/release-9-1-5.html
+ including the fixes for CVE-2012-3488, CVE-2012-3489
+
+* Mon Aug 13 2012 Tom Lane <tgl@redhat.com> 9.1.4-5
+- Back-port upstream support for postmaster listening on multiple Unix sockets
+- Configure postmaster to create sockets in both /var/run/postgresql and /tmp;
+ the former is now the default place for libpq to contact the postmaster.
+Resolves: #825448
+- Annotate postgresql.conf about not setting port number there
+- Minor specfile cleanup per suggestions from Tom Callaway
+Related: #845110
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.1.4-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jul 14 2012 Tom Lane <tgl@redhat.com> 9.1.4-3
+- Update code to use oom_score_adj not oom_adj, thereby suppressing
+ whining in the kernel log
+- Add "legacy action" scripts to support "service postgresql initdb" and
+ "service postgresql upgrade" in a now-approved fashion (requires a
+ recent version of initscripts to work)
+Resolves: #800416
+
+* Mon Jun 11 2012 Petr Pisar <ppisar@redhat.com> - 9.1.4-2
+- Perl 5.16 rebuild
+
+* Mon Jun 4 2012 Tom Lane <tgl@redhat.com> 9.1.4-1
+- Update to PostgreSQL 9.1.4, for various fixes described at
+ http://www.postgresql.org/docs/9.1/static/release-9-1-4.html
+ including the fixes for CVE-2012-2143, CVE-2012-2655
+Resolves: #826606
+- Update previous version (embedded in postgresql-upgrade) to 9.0.8
+ because fix in whole-row variable dumping could be needed for upgrades
+- Revert fix for bug #800416, per fedora-packaging discussion at
+ http://lists.fedoraproject.org/pipermail/packaging/2012-April/008314.html
+ "service postgresql initdb" is dead and will stay that way
+
* Sat Mar 17 2012 Tom Lane <tgl@redhat.com> 9.1.3-3
- Fix postgresql-setup to rely on systemd to parse the unit file, instead
of using ad-hoc code