diff options
author | Honza Horák <hhorak@redhat.com> | 2012-10-08 14:34:13 +0200 |
---|---|---|
committer | Honza Horák <hhorak@redhat.com> | 2012-10-08 14:34:13 +0200 |
commit | 4a981dd0c3f1796daff5fbe66eca91566d14e12f (patch) | |
tree | c6742357191ac0c6d2ade14a6fca3ae9d59a8153 | |
parent | 975f12a1e2dc660651b0892e168f6c0d7de96687 (diff) | |
download | dsc-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.spec | 63 | ||||
-rw-r--r-- | postgresql92/postgresql.spec | 369 | ||||
-rw-r--r-- | postgresql92/postgresql.spec.nodsc | 314 |
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 |