# This is the PostgreSQL Global Development Group Official RPMset spec file, # or a derivative thereof. # Copyright 2003-2009 Lamar Owen # and others listed. # Major Contributors: # --------------- # Lamar Owen # Trond Eivind Glomsrd # Thomas Lockhart # Reinhard Max # Karl DeBisschop # Peter Eisentraut # Joe Conway # Andrew Overholt # David Jee # Kaj J. Niemi # Sander Steffann # Tom Lane # and others in the Changelog.... # This spec file and ancillary files are licensed in accordance with # The PostgreSQL license. # In this file you can find the default build package list macros. # These can be overridden by defining on the rpm command line: # rpm --define 'packagename 1' .... to force the package to build. # rpm --define 'packagename 0' .... to force the package NOT to build. # The base package, the libs package, the devel package, and the server package # always get built. %global beta 0 %{?beta:%global __os_install_post /usr/lib/rpm/brp-compress} %{!?test:%global test 1} %{!?upgrade:%global upgrade 1} %{!?plpython:%global plpython 1} %if 0%{?fedora} > 12 %{!?plpython3:%global plpython3 1} %else %{!?plpython3:%global plpython3 0} %endif %{!?pltcl:%global pltcl 1} %{!?plperl:%global plperl 1} %{!?ssl:%global ssl 1} %{!?kerberos:%global kerberos 1} %{!?ldap:%global ldap 1} %{!?nls:%global nls 1} %{!?uuid:%global uuid 1} %{!?xml:%global xml 1} %{!?pam:%global pam 1} %{!?sdt:%global sdt 1} %{!?selinux:%global selinux 1} %{!?runselftest:%global runselftest 1} Summary: PostgreSQL client programs Name: postgresql %global majorversion 9.2 Version: 9.2.4 Release: 5%{?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. License: PostgreSQL Group: Applications/Databases Url: http://www.postgresql.org/ # This number must be NVR-greater than any PG version shipped in F15: %global first_systemd_version 0:9.0.99 # 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; # but update when bugs affecting pg_dump output are fixed. %global prevversion 9.1.9 %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 Source1: postgresql-%{version}-US.pdf # generate-pdf.sh is not used during RPM build, but include for documentation Source2: generate-pdf.sh Source3: ftp://ftp.postgresql.org/pub/source/v%{prevversion}/postgresql-%{prevversion}.tar.bz2 Source4: postgresql-check-db-dir Source5: Makefile.regress Source6: pg_config.h Source7: ecpg_config.h Source8: README.rpm-dist Source9: postgresql-setup Source10: postgresql.service Source11: initdb.sh Source12: upgrade.sh Source13: postgresql.tmpfiles.d Source14: postgresql.pam Source15: postgresql-bashprofile # 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 # Add support for atomic operations TAS/S_UNLOCK in aarch64. # ~> upstream (612ecf311b) # ~> #970661 Patch7: postgresql-9.2.4-aarch64-atomic.patch # Comments for these patches are in the patch files. Patch8: postgresql-man.patch # Build even with Perl 5.18+ # ~> upstream (035a5e1e8c34) Patch9: postgresql-9.2.4-perl-5.18.patch BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk BuildRequires: perl(ExtUtils::Embed), perl-devel BuildRequires: readline-devel zlib-devel BuildRequires: systemd-units %if %plpython BuildRequires: python-devel %endif %if %plpython3 BuildRequires: python3-devel %endif %if %pltcl BuildRequires: tcl-devel %endif %if %ssl BuildRequires: openssl-devel %endif %if %kerberos BuildRequires: krb5-devel %endif %if %ldap BuildRequires: openldap-devel %endif %if %nls BuildRequires: gettext >= 0.10.35 %endif %if %uuid BuildRequires: uuid-devel %endif %if %xml BuildRequires: libxml2-devel libxslt-devel %endif %if %pam BuildRequires: pam-devel %endif %if %sdt BuildRequires: systemtap-sdt-devel %endif %if %selinux BuildRequires: libselinux-devel %endif # main package requires -libs subpackage Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description PostgreSQL is an advanced Object-Relational database management system (DBMS). The base postgresql package contains the client programs that you'll need to access a PostgreSQL DBMS server, as well as HTML documentation for the whole system. These client programs can be located on the same machine as the PostgreSQL server, or on a remote machine that accesses a PostgreSQL server over a network connection. The PostgreSQL server can be found in the postgresql-server sub-package. %package libs Summary: The shared libraries required for any PostgreSQL clients Group: Applications/Databases Provides: libpq.so = %{version}-%{release} # for /sbin/ldconfig Requires(post): glibc Requires(postun): glibc %description libs The postgresql-libs package provides the essential shared libraries for any PostgreSQL client program or interface. You will need to install this package to use any other PostgreSQL package or any clients that need to connect to a PostgreSQL server. %package server Summary: The programs needed to create and run a PostgreSQL server Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires(pre): /usr/sbin/useradd # 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 # 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): systemd-sysv Requires(post): chkconfig %description server PostgreSQL is an advanced Object-Relational database management system (DBMS). The postgresql-server package contains the programs needed to create and run a PostgreSQL server, which will in turn allow you to create and maintain PostgreSQL databases. %package docs Summary: Extra documentation for PostgreSQL Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} %description docs The postgresql-docs package contains some additional documentation for PostgreSQL. Currently, this includes the main documentation in PDF format and source files for the PostgreSQL tutorial. %package contrib Summary: Extension modules distributed with PostgreSQL Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description contrib The postgresql-contrib package contains various extension modules that are included in the PostgreSQL distribution. %package devel Summary: PostgreSQL development header files and libraries Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The postgresql-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. It also contains the ecpg Embedded C Postgres preprocessor. You need to install this package if you want to develop applications which will interact with a PostgreSQL server. %if %upgrade %package upgrade Summary: Support for upgrading from the previous major release of PostgreSQL Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description upgrade The postgresql-upgrade package contains the pg_upgrade utility and supporting files needed for upgrading a PostgreSQL database from the previous major version of PostgreSQL. %endif %if %plperl %package plperl Summary: The Perl procedural language for PostgreSQL Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description plperl The postgresql-plperl package contains the PL/Perl procedural language, which is an extension to the PostgreSQL database server. Install this if you want to write database functions in Perl. %endif %if %plpython %package plpython 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 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 %package pltcl Summary: The Tcl procedural language for PostgreSQL Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{version}-%{release} %description pltcl 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 %if %test %package test Summary: The test suite distributed with PostgreSQL Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description test The postgresql-test package contains files needed for various tests for the PostgreSQL database management system, including regression tests and benchmarks. %endif %prep %setup -q %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch8 -p1 %patch9 -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. # add ppc64p7 support (https://fedoraproject.org/wiki/Features/Power7Subarch) # hopefully need for this will go away next time upstream updates config.sub sed -i -e "s/ppc64-\*/ppc64-\* \| ppc64p7-\*/" config/config.sub cp -p %{SOURCE1} . %if %upgrade tar xfj %{SOURCE3} # make sure older version is up-to-date on config.guess/config.sub; # not always necessary, but PG 9.2 knows about aarch64 while 9.1 doesn't # (and also see the ppc64p7 hack above) cp -p config/config.guess postgresql-%{prevversion}/config/config.guess cp -p config/config.sub postgresql-%{prevversion}/config/config.sub %endif # the %%{SOURCE3} must be unpacked before this patch is applied %patch7 -p1 -b .atomic-aarch64 # remove .gitignore files to ensure none get into the RPMs (bug #642210) find . -type f -name .gitignore | xargs rm %build # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"`id -u`" = x0 ]; then echo "postgresql's regression tests fail if run as root." echo "If you really need to build the RPM as root, use" echo "--define='runselftest 0' to skip the regression tests." exit 1 fi %endif 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_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=%{_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 \ --enable-cassert \ %endif %if %plperl --with-perl \ %endif %if %pltcl --with-tcl \ --with-tclconfig=%{_libdir} \ %endif %if %plpython --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 make %{?_smp_mflags} world # Have to hack makefile to put correct path into tutorial scripts sed "s|C=\`pwd\`;|C=%{_libdir}/pgsql/tutorial;|" < src/tutorial/Makefile > src/tutorial/GNUmakefile make %{?_smp_mflags} -C src/tutorial NO_PGXS=1 all rm -f src/tutorial/GNUmakefile %if %runselftest pushd src/test/regress make all 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 %endif # undo the "make clean" above %if %test pushd src/test/regress make all popd %endif %if %upgrade pushd postgresql-%{prevversion} # The upgrade build can be pretty stripped-down, but make sure that # any options that affect on-disk file layout match the previous # major release! Also, note we intentionally do not use %%configure # here, because we *don't* want its ideas about installation paths. ./configure --build=%{_build} --host=%{_host} \ --prefix=%{_libdir}/pgsql/postgresql-%{prevmajorversion} \ --disable-rpath \ --with-system-tzdata=/usr/share/zoneinfo make %{?_smp_mflags} all popd %endif %install 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 # make sure these directories exist even if we suppressed all contrib modules install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/contrib install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/extension # 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 i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) mv $RPM_BUILD_ROOT/usr/include/pg_config.h $RPM_BUILD_ROOT/usr/include/pg_config_`uname -i`.h install -m 644 %{SOURCE6} $RPM_BUILD_ROOT/usr/include/ mv $RPM_BUILD_ROOT/usr/include/pgsql/server/pg_config.h $RPM_BUILD_ROOT/usr/include/pgsql/server/pg_config_`uname -i`.h install -m 644 %{SOURCE6} $RPM_BUILD_ROOT/usr/include/pgsql/server/ mv $RPM_BUILD_ROOT/usr/include/ecpg_config.h $RPM_BUILD_ROOT/usr/include/ecpg_config_`uname -i`.h install -m 644 %{SOURCE7} $RPM_BUILD_ROOT/usr/include/ ;; *) ;; esac install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/pgsql/tutorial cp -p src/tutorial/* $RPM_BUILD_ROOT%{_libdir}/pgsql/tutorial # prep the setup script, including insertion of some values it needs sed -e 's|^PGVERSION=.*$|PGVERSION=%{version}|' \ -e 's|^PGENGINE=.*$|PGENGINE=%{_bindir}|' \ -e 's|^PREVMAJORVERSION=.*$|PREVMAJORVERSION=%{prevmajorversion}|' \ -e 's|^PREVPGENGINE=.*$|PREVPGENGINE=%{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin|' \ <%{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 sed -e 's|^PGVERSION=.*$|PGVERSION=%{version}|' \ -e 's|^PREVMAJORVERSION=.*$|PREVMAJORVERSION=%{prevmajorversion}|' \ -e 's|^PGDOCDIR=.*$|PGDOCDIR=%{_docdir}/%{name}-%{version}|' \ <%{SOURCE4} >postgresql-check-db-dir touch -r %{SOURCE4} postgresql-check-db-dir install -m 755 postgresql-check-db-dir $RPM_BUILD_ROOT%{_bindir}/postgresql-check-db-dir install -d $RPM_BUILD_ROOT%{_unitdir} install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_unitdir}/postgresql.service 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%{_tmpfilesdir} install -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{_tmpfilesdir}/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 # backups of data go here... install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/backups # postgres' .bash_profile install -m 644 %{SOURCE15} $RPM_BUILD_ROOT/var/lib/pgsql/.bash_profile %if %upgrade pushd postgresql-%{prevversion} make DESTDIR=$RPM_BUILD_ROOT install popd # remove stuff we don't actually need for upgrade purposes pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/postgresql-%{prevmajorversion} rm bin/clusterdb rm bin/createdb rm bin/createlang rm bin/createuser rm bin/dropdb rm bin/droplang rm bin/dropuser rm bin/ecpg rm bin/initdb rm bin/pg_basebackup rm bin/pg_config rm bin/pg_dump rm bin/pg_dumpall rm bin/pg_restore rm bin/psql rm bin/reindexdb rm bin/vacuumdb rm -rf include rm lib/dict_snowball.so rm lib/libecpg* rm lib/libpg* rm lib/libpq* rm -rf lib/pgxs rm lib/plpgsql.so rm -rf share/doc rm -rf share/man rm -rf share/tsearch_data rm share/*.bki rm share/*description rm share/*.sample rm share/*.sql rm share/*.txt popd %endif %if %test # tests. There are many files included here that are unnecessary, # but include them anyway for completeness. We replace the original # Makefiles, however. mkdir -p $RPM_BUILD_ROOT%{_libdir}/pgsql/test cp -a src/test/regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test # pg_regress binary should be only in one subpackage, # there will be a symlink from -test to -devel rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress ln -sf ../../pgxs/src/test/regress/pg_regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress rm -f GNUmakefile Makefile *.o chmod 0755 pg_regress regress.so popd cp %{SOURCE5} $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile chmod 0644 $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile %endif # Fix some more documentation cp %{SOURCE8} README.rpm-dist mv $RPM_BUILD_ROOT%{_docdir}/pgsql/html doc rm -rf $RPM_BUILD_ROOT%{_docdir}/pgsql # remove files not to be packaged 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 cp /dev/null main.lst cp /dev/null libs.lst cp /dev/null server.lst 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} cat ecpg-%{majorversion}.lang >>devel.lst %find_lang ecpglib6-%{majorversion} cat ecpglib6-%{majorversion}.lang >>libs.lst %find_lang initdb-%{majorversion} cat initdb-%{majorversion}.lang >>server.lst %find_lang libpq5-%{majorversion} cat libpq5-%{majorversion}.lang >>libs.lst %find_lang pg_basebackup-%{majorversion} cat pg_basebackup-%{majorversion}.lang >>server.lst %find_lang pg_controldata-%{majorversion} cat pg_controldata-%{majorversion}.lang >>server.lst %find_lang pg_ctl-%{majorversion} cat pg_ctl-%{majorversion}.lang >>server.lst %find_lang pg_config-%{majorversion} cat pg_config-%{majorversion}.lang >>main.lst %find_lang pg_dump-%{majorversion} cat pg_dump-%{majorversion}.lang >>main.lst %find_lang pg_resetxlog-%{majorversion} cat pg_resetxlog-%{majorversion}.lang >>server.lst %find_lang pgscripts-%{majorversion} cat pgscripts-%{majorversion}.lang >>main.lst %if %plperl %find_lang plperl-%{majorversion} cat plperl-%{majorversion}.lang >>plperl.lst %endif %find_lang plpgsql-%{majorversion} cat plpgsql-%{majorversion}.lang >>server.lst %if %plpython %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 %endif %find_lang postgres-%{majorversion} cat postgres-%{majorversion}.lang >>server.lst %find_lang psql-%{majorversion} cat psql-%{majorversion}.lang >>main.lst %endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %pre server /usr/sbin/groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : %post server %if 0%{?systemd_post:1} %systemd_post postgresql.service %else if [ $1 -eq 1 ]; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %endif # 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 postgresql.service >/dev/null 2>&1 || : %preun server %if 0%{?systemd_preun:1} %systemd_preun postgresql.service %else 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 %endif %postun server %if 0%{?systemd_postun_with_restart:1} %systemd_postun_with_restart postgresql.service %else /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 %endif # FILES section. %files -f main.lst %doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO %doc COPYRIGHT README HISTORY doc/bug.template %doc README.rpm-dist %doc doc/html %{_bindir}/clusterdb %{_bindir}/createdb %{_bindir}/createlang %{_bindir}/createuser %{_bindir}/dropdb %{_bindir}/droplang %{_bindir}/dropuser %{_bindir}/pg_config %{_bindir}/pg_dump %{_bindir}/pg_dumpall %{_bindir}/pg_restore %{_bindir}/psql %{_bindir}/reindexdb %{_bindir}/vacuumdb %{_mandir}/man1/clusterdb.* %{_mandir}/man1/createdb.* %{_mandir}/man1/createlang.* %{_mandir}/man1/createuser.* %{_mandir}/man1/dropdb.* %{_mandir}/man1/droplang.* %{_mandir}/man1/dropuser.* %{_mandir}/man1/pg_config.* %{_mandir}/man1/pg_dump.* %{_mandir}/man1/pg_dumpall.* %{_mandir}/man1/pg_restore.* %{_mandir}/man1/psql.* %{_mandir}/man1/reindexdb.* %{_mandir}/man1/vacuumdb.* %{_mandir}/man7/* %dir %{_libdir}/pgsql %files docs %doc *-US.pdf %{_libdir}/pgsql/tutorial/ %files contrib %{_datadir}/pgsql/extension/adminpack* %{_datadir}/pgsql/extension/autoinc* %{_datadir}/pgsql/extension/btree_gin* %{_datadir}/pgsql/extension/btree_gist* %{_datadir}/pgsql/extension/chkpass* %{_datadir}/pgsql/extension/citext* %{_datadir}/pgsql/extension/cube* %{_datadir}/pgsql/extension/dblink* %{_datadir}/pgsql/extension/dict_int* %{_datadir}/pgsql/extension/dict_xsyn* %{_datadir}/pgsql/extension/earthdistance* %{_datadir}/pgsql/extension/file_fdw* %{_datadir}/pgsql/extension/fuzzystrmatch* %{_datadir}/pgsql/extension/hstore* %{_datadir}/pgsql/extension/insert_username* %{_datadir}/pgsql/extension/intagg* %{_datadir}/pgsql/extension/intarray* %{_datadir}/pgsql/extension/isn* %{_datadir}/pgsql/extension/lo* %{_datadir}/pgsql/extension/ltree* %{_datadir}/pgsql/extension/moddatetime* %{_datadir}/pgsql/extension/pageinspect* %{_datadir}/pgsql/extension/pg_buffercache* %{_datadir}/pgsql/extension/pg_freespacemap* %{_datadir}/pgsql/extension/pg_stat_statements* %{_datadir}/pgsql/extension/pg_trgm* %{_datadir}/pgsql/extension/pgcrypto* %{_datadir}/pgsql/extension/pgrowlocks* %{_datadir}/pgsql/extension/pgstattuple* %{_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* %{_datadir}/pgsql/extension/unaccent* %{_libdir}/pgsql/_int.so %{_libdir}/pgsql/adminpack.so %{_libdir}/pgsql/auth_delay.so %{_libdir}/pgsql/autoinc.so %{_libdir}/pgsql/auto_explain.so %{_libdir}/pgsql/btree_gin.so %{_libdir}/pgsql/btree_gist.so %{_libdir}/pgsql/chkpass.so %{_libdir}/pgsql/citext.so %{_libdir}/pgsql/cube.so %{_libdir}/pgsql/dblink.so %{_libdir}/pgsql/dict_int.so %{_libdir}/pgsql/dict_xsyn.so %{_libdir}/pgsql/dummy_seclabel.so %{_libdir}/pgsql/earthdistance.so %{_libdir}/pgsql/file_fdw.so %{_libdir}/pgsql/fuzzystrmatch.so %{_libdir}/pgsql/hstore.so %{_libdir}/pgsql/insert_username.so %{_libdir}/pgsql/isn.so %{_libdir}/pgsql/lo.so %{_libdir}/pgsql/ltree.so %{_libdir}/pgsql/moddatetime.so %{_libdir}/pgsql/pageinspect.so %{_libdir}/pgsql/passwordcheck.so %{_libdir}/pgsql/pg_buffercache.so %{_libdir}/pgsql/pg_freespacemap.so %{_libdir}/pgsql/pg_trgm.so %{_libdir}/pgsql/pgcrypto.so %{_libdir}/pgsql/pgrowlocks.so %{_libdir}/pgsql/pgstattuple.so %{_libdir}/pgsql/pg_stat_statements.so %{_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 %{_libdir}/pgsql/unaccent.so %if %selinux %{_datadir}/pgsql/contrib/sepgsql.sql %{_libdir}/pgsql/sepgsql.so %endif %if %ssl %{_datadir}/pgsql/extension/sslinfo* %{_libdir}/pgsql/sslinfo.so %endif %if %uuid %{_datadir}/pgsql/extension/uuid-ossp* %{_libdir}/pgsql/uuid-ossp.so %endif %if %xml %{_datadir}/pgsql/extension/xml2* %{_libdir}/pgsql/pgxml.so %endif %{_bindir}/oid2name %{_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 %doc COPYRIGHT %{_libdir}/libpq.so.* %{_libdir}/libecpg.so.* %{_libdir}/libpgtypes.so.* %{_libdir}/libecpg_compat.so.* %files server -f server.lst %{_unitdir}/postgresql.service %dir /usr/libexec/initscripts/legacy-actions/postgresql /usr/libexec/initscripts/legacy-actions/postgresql/* %if %pam %config(noreplace) /etc/pam.d/postgresql %endif %{_bindir}/initdb %{_bindir}/pg_basebackup %{_bindir}/pg_controldata %{_bindir}/pg_ctl %{_bindir}/pg_receivexlog %{_bindir}/pg_resetxlog %{_bindir}/postgres %{_bindir}/postmaster %{_bindir}/postgresql-setup %{_bindir}/postgresql-check-db-dir %{_mandir}/man1/initdb.* %{_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.* %{_datadir}/pgsql/postgres.bki %{_datadir}/pgsql/postgres.description %{_datadir}/pgsql/postgres.shdescription %{_datadir}/pgsql/system_views.sql %{_datadir}/pgsql/*.sample %{_datadir}/pgsql/timezonesets/ %{_datadir}/pgsql/tsearch_data/ %{_libdir}/pgsql/dict_snowball.so %{_libdir}/pgsql/plpgsql.so %dir %{_datadir}/pgsql %dir %{_datadir}/pgsql/contrib %dir %{_datadir}/pgsql/extension %{_datadir}/pgsql/extension/plpgsql* %{_tmpfilesdir}/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 %attr(644,postgres,postgres) %config(noreplace) /var/lib/pgsql/.bash_profile %{_libdir}/pgsql/libpqwalreceiver.so %{_libdir}/pgsql/*_and_*.so %{_libdir}/pgsql/euc2004_sjis2004.so %{_datadir}/pgsql/conversion_create.sql %{_datadir}/pgsql/information_schema.sql %{_datadir}/pgsql/snowball_create.sql %{_datadir}/pgsql/sql_features.txt %files devel -f devel.lst /usr/include/* %{_bindir}/ecpg %{_libdir}/libpq.so %{_libdir}/libecpg.so %{_libdir}/libecpg_compat.so %{_libdir}/libpgtypes.so %{_libdir}/pgsql/pgxs/ %{_mandir}/man1/ecpg.* %{_mandir}/man3/SPI_* %if %upgrade %files upgrade %{_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 %{_datadir}/pgsql/extension/plperl* %{_libdir}/pgsql/plperl.so %endif %if %pltcl %files pltcl -f pltcl.lst %{_datadir}/pgsql/extension/pltcl* %{_libdir}/pgsql/pltcl.so %{_bindir}/pltcl_delmod %{_bindir}/pltcl_listmod %{_bindir}/pltcl_loadmod %{_datadir}/pgsql/unknown.pltcl %endif %if %plpython %files plpython -f plpython.lst %{_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) %attr(-,postgres,postgres) %{_libdir}/pgsql/test/* %attr(-,postgres,postgres) %dir %{_libdir}/pgsql/test %endif %changelog * Tue Jul 23 2013 Pavel Raiskup - 9.2.4-5 - fix testsuite to allow build against Perl 5.18 * Thu Jul 18 2013 Petr Pisar - 9.2.4-5 - Perl 5.18 rebuild * Tue Jul 09 2013 Pavel Raiskup - 9.2.4-4 - do not use -b for manual page fixes * Thu Jun 20 2013 Pavel Raiskup - 9.2.4-3 - fix README.rpm-dist for the bug (#969050) - replace hard-wired path with %%{_datadir} * Thu Jun 13 2013 Pavel Raiskup - 9.2.4-3 - add atomic operations support for aarch64 to preupgrade version also (#970661) - apply the forgotten man-page-day patch (#948933) * Thu Jun 13 2013 Jan Stanek - 9.2.4-3 - added patch for manual pages (#948933) * Tue Jun 11 2013 Pavel Raiskup - 9.2.4-2 - postgresql-setup: don't create whole path to server's data to make sure that the parent directory has correct permissions (#972425) * Wed Jun 05 2013 Pavel Raiskup - 9.2.4-2 - fix rpmlint warnings - fix aarch64 build by defining missing atomic operations (#970661) * Thu Apr 4 2013 Tom Lane 9.2.4-1 - Update to PostgreSQL 9.2.4, for various fixes described at http://www.postgresql.org/docs/9.2/static/release-9-2-4.html including the fixes for CVE-2013-1899, CVE-2013-1900, CVE-2013-1901 Resolves: #929223, #929255, #929328 - fix build for aarch64 and ppc64p7 * Thu Feb 7 2013 Tom Lane 9.2.3-1 - Update to PostgreSQL 9.2.3, for various fixes described at http://www.postgresql.org/docs/9.2/static/release-9-2-3.html including the fix for CVE-2013-0255 Resolves: #908722 - Make the package build with selinux option disabled Resolves: #894367 - Include old version of pg_controldata in postgresql-upgrade subpackage Related: #896161 * Thu Jan 3 2013 Tom Lane 9.2.2-3 - Prevent creation of TCP socket during pg_upgrade regression test, so that concurrent RPM builds on the same machine won't fail Resolves: #891531 - Make sure $PGDATA/pg_log/ gets the right SELinux label in postgresql-setup Resolves: #891547 * Wed Dec 19 2012 Tom Lane 9.2.2-2 - Make building of plpython3 dependent on Fedora version, per guidelines Resolves: #888419 * Thu Dec 6 2012 Tom Lane 9.2.2-1 - Update to PostgreSQL 9.2.2, for various fixes described at http://www.postgresql.org/docs/9.2/static/release-9-2-2.html - Use new systemd install/uninstall trigger macros conditionally, so that package can still be installed on pre-F18 branches * Mon Sep 24 2012 Tom Lane 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 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 9.1.5-2 - Remove unnecessary ldconfig calls in pre/post triggers Resolves: #849344 * Fri Aug 17 2012 Tom Lane 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 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 - 9.1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sat Jul 14 2012 Tom Lane 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 - 9.1.4-2 - Perl 5.16 rebuild * Mon Jun 4 2012 Tom Lane 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 9.1.3-3 - Fix postgresql-setup to rely on systemd to parse the unit file, instead of using ad-hoc code Resolves: #804290 * Tue Mar 13 2012 Tom Lane 9.1.3-2 - Fix postgresql-setup to look for unit file in /usr/lib and to ignore comments therein Resolves: #802835 - Resurrect a now-mostly-dummy postgresql init script, so that people can keep on using "service postgresql initdb" if they wish Resolves: #800416 * Mon Feb 27 2012 Tom Lane 9.1.3-1 - Update to PostgreSQL 9.1.3, for various fixes described at http://www.postgresql.org/docs/9.1/static/release-9-1-3.html including the fixes for CVE-2012-0866, CVE-2012-0867, CVE-2012-0868 Resolves: #797918 * Mon Jan 9 2012 Tom Lane 9.1.2-2 - Make systemd unit file more user-friendly by resurrecting the old init script's checks for data directory presence and version match Resolves: #771496 * Mon Dec 5 2011 Tom Lane 9.1.2-1 - Update to PostgreSQL 9.1.2, for various fixes described at http://www.postgresql.org/docs/9.1/static/release-9-1-2.html * Wed Nov 02 2011 Honza Horak 9.1.1-2 - Create a symlink of pg_regress instead of full copy; Don't strip symbols from regress libs Related: #729012 * Mon Sep 26 2011 Tom Lane 9.1.1-1 - Update to PostgreSQL 9.1.1, for various fixes described at http://www.postgresql.org/docs/9.1/static/release-9-1-1.html - Enable build (but not test) of contrib/sepgsql - Clean up specfile build options so that turning options off works again * Mon Sep 12 2011 Tom Lane 9.1.0-1 - Update to PostgreSQL 9.1.0 (major version bump); in-place upgrade support now works from 9.0.x as the previous version * Wed Jul 27 2011 Tom Lane 9.0.4-8 - Convert to systemd startup support Resolves: #696427 * Thu Jul 21 2011 Petr Sabata - 9.0.4-7 - Perl mass rebuild * Wed Jul 20 2011 Petr Sabata - 9.0.4-6 - Perl mass rebuild * Wed Jul 6 2011 Tom Lane 9.0.4-5 - Remove erroneously-included Default-Start line from LSB init block Related: #717024 * Fri Jun 17 2011 Marcela Mašláňová 9.0.4-4 - Perl mass rebuild - incorporate upstream patch to make it build with Perl 5.14 * Fri Jun 10 2011 Tom Lane 9.0.4-3 - Work around gcc 4.6.0 bug (temporary backport from next upstream release) * Tue May 10 2011 Tom Lane 9.0.4-2 - Add LSB init block to initscript, to ensure sane ordering at system boot Resolves: #703215 * Mon Apr 18 2011 Tom Lane 9.0.4-1 - Update to PostgreSQL 9.0.4, for various fixes described at http://www.postgresql.org/docs/9.0/static/release-9-0-4.html - Add %%{?_isa} to cross-subpackage Requires, per latest packaging guidelines * Wed Feb 09 2011 Fedora Release Engineering - 9.0.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Feb 3 2011 Tom Lane 9.0.3-2 - Remove filter-requires-perl-Pg.sh, which doesn't seem to be needed now that PyGreSQL has been split out; and our use of it isn't compatible with rpm 4.9 anyway * Tue Feb 1 2011 Tom Lane 9.0.3-1 - Update to PostgreSQL 9.0.3, for various fixes described at http://www.postgresql.org/docs/9.0/static/release-9-0-3.html including the fix for CVE-2010-4015 Resolves: #674296 * Tue Dec 28 2010 Tom Lane 9.0.2-1 - Update to PostgreSQL 9.0.2 (major version bump) - Create infrastructure for in-place database upgrade using pg_upgrade Resolves: #398221 * Thu Dec 16 2010 Tom Lane 8.4.6-1 - Update to PostgreSQL 8.4.6, for various fixes described at http://www.postgresql.org/docs/8.4/static/release-8-4-6.html - Ensure we don't package any .gitignore files from the source tarball Related: #642210 * Tue Oct 5 2010 Tom Lane 8.4.5-1 - Update to PostgreSQL 8.4.5, for various fixes described at http://www.postgresql.org/docs/8.4/static/release-8-4-5.html including the fix for CVE-2010-3433 Related: #639371 - Add -p "$pidfile" to initscript's status call to improve corner cases. Related: #561010 * Sat Jul 31 2010 Orcan Ogetbil - 8.4.4-3 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - Duplicate COPYRIGHT in -libs subpackage, per revised packaging guidelines * Wed Jun 02 2010 Marcela Maslanova - 8.4.4-2 - Mass rebuild with perl-5.12.0 * Mon May 17 2010 Tom Lane 8.4.4-1 - Update to PostgreSQL 8.4.4, for various fixes described at http://www.postgresql.org/docs/8.4/static/release-8-4-4.html including fixes for CVE-2010-1169 and CVE-2010-1170 Resolves: #593032 * Sun Mar 14 2010 Tom Lane 8.4.3-1 - Update to PostgreSQL 8.4.3, for various fixes described at http://www.postgresql.org/docs/8.4/static/release-8-4-3.html * Mon Feb 22 2010 Tom Lane 8.4.2-8 - Bring init script into some modicum of compliance with Fedora/LSB standards Resolves: #201043 * Thu Feb 18 2010 Tom "spot" Callaway 8.4.2-7 - adjust license tag to reflect OSI decision * Tue Jan 26 2010 Tom Lane 8.4.2-6 - Emit explicit error message if user tries to build RPM as root Related: #558921 * Wed Jan 20 2010 Tom Lane 8.4.2-5 - Latest version of systemtap needs the probes.o file to be built again Resolves: #557266 - Provide script and instructions for building the documentation PDF * Mon Jan 11 2010 Tom Lane 8.4.2-4 - Arrange for the postmaster, but not any of its child processes, to be run with oom_adj -17. This compensates for the OOM killer not being smart about accounting for shared memory usage. * Sat Jan 9 2010 Tom Lane 8.4.2-3 - Remove the postgresql-python and postgresql-tcl subpackages. These files are now broken out as their own packages (PyGreSQL and tcl-pgtcl, respectively), to reflect the now longstanding split of upstream projects. Related: #452306, #452321 * Tue Jan 5 2010 Tom Lane 8.4.2-2 - Remove static libraries (.a files) from package, per packaging guidelines - Change %%define to %%global, per packaging guidelines * Wed Dec 16 2009 Tom Lane 8.4.2-1 - Update to PostgreSQL 8.4.2, for various fixes described at http://www.postgresql.org/docs/8.4/static/release-8-4-2.html including two security issues Related: #546321 Related: #547662 - Use -N not the obsolete -n in useradd call Resolves: #495727 - Clean up specfile to eliminate rpmlint gripes, mainly by removing no-longer-needed provisions for superseding rh-postgresql * Mon Dec 7 2009 Stepan Kasal - 8.4.1-5 - rebuild against perl 5.10.1 * Thu Oct 15 2009 Tom Lane 8.4.1-4 - add sparc/sparc64 to multilib header support * Mon Sep 21 2009 Tom Lane 8.4.1-3 - Ensure pgstartup.log gets the right ownership/permissions during initdb Resolves: #498959 * Wed Sep 16 2009 Tomas Mraz - 8.4.1-2 - Use password-auth common PAM configuration instead of system-auth * Wed Sep 9 2009 Tom Lane 8.4.1-1 - Update to PostgreSQL 8.4.1, for various fixes described at http://www.postgresql.org/docs/8.4/static/release-8-4-1.html including two security issues Related: #522085 Related: #522092 * Tue Sep 01 2009 Karsten Hopp 8.4.0-3.2 - bump release and build again with the correct libssl * Tue Sep 01 2009 Karsten Hopp 8.4.0-3.1 - disable dtrace on s390x as a workaround until #520469 has been fixed * Fri Aug 21 2009 Tomas Mraz - 8.4.0-3 - rebuilt with new openssl * Thu Aug 20 2009 Tom "spot" Callaway 8.4.0-2 - update License tag to MIT (PostgreSQL calls it "BSD", but it is MIT) - Note: This changes nothing from a license compatibility perspective. * Mon Aug 17 2009 Tom Lane 8.4.0-1 - Update to PostgreSQL 8.4.0. See release notes at http://www.postgresql.org/docs/8.4/static/release-8-4.html * Sun Jul 26 2009 Fedora Release Engineering - 8.3.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat Mar 21 2009 Tom Lane 8.3.7-1 - Update to PostgreSQL 8.3.7, for various fixes described at http://www.postgresql.org/docs/8.3/static/release-8-3-7.html notably the fix for CVE-2009-0922 * Tue Mar 10 2009 Tom Lane 8.3.6-4 - Prevent dependent packages from needing to include sys/sdt.h (unintended side effect of previous patch) - Use -O1 on alpha, per report from Oliver Falk; -O2 tickles gcc bugs * Sun Mar 8 2009 Tom Lane 8.3.6-3 - Enable tracing via systemtap Resolves: #488941 * Thu Feb 26 2009 Fedora Release Engineering - 8.3.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Feb 7 2009 Tom Lane 8.3.6-1 - Update to PostgreSQL 8.3.6, for various fixes described at http://www.postgresql.org/docs/8.3/static/release-8-3-6.html * Wed Jan 21 2009 Dennis Gilmore 8.3.5-4 - use -O1 on sparc64 * Sat Jan 17 2009 Tomas Mraz - 8.3.5-3 - rebuild with new openssl * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 8.3.5-2 - Rebuild for Python 2.6 * Sun Nov 2 2008 Tom Lane 8.3.5-1 - Update to PostgreSQL 8.3.5. - Improve display from init script's initdb action, per Michael Schwendt * Thu Sep 25 2008 Tom Lane 8.3.4-1 - Update to PostgreSQL 8.3.4. * Mon Jul 28 2008 Tom Lane 8.3.3-3 - Fix build failure caused by new default patch fuzz = 0 policy in rawhide. * Fri Jun 20 2008 Tom Lane 8.3.3-2 - Install Pgtcl in /usr/lib/tcl$TCL_VERSION, not directly in /usr/lib. Needed because tcl 8.5 no longer puts /usr/lib into its package search path. NOTE: do not back-port this change into branches using pre-8.5 tcl, because /usr/lib/tcl8.4 had been a symlink to /usr/share/tcl8.4, and /usr/share is exactly where we must not put Pgtcl. Resolves: #228263 * Wed Jun 11 2008 Tom Lane 8.3.3-1 - Update to PostgreSQL 8.3.3. - Remove postgresql-prefer-ncurses.patch, no longer needed in recent Fedora releases because libtermcap is gone. * Sat May 17 2008 Tom Lane 8.3.1-5 - rebuild because of buildsystem hiccup * Sat May 17 2008 Tom Lane 8.3.1-4 - Enable LDAP support Resolves: #445315 - Use -Wl,--as-needed to suppress bogus dependencies for libraries that are really only needed by some of the subpackages * Mon Apr 28 2008 Tom Lane 8.3.1-3 - Fix build breakage on PPC due to incorrect configure test Related: #444317 * Sat Apr 26 2008 Tom Lane 8.3.1-2 - Clean up cross-subpackage Requires: to ensure that updating any one subpackage brings in the matching versions of others. Resolves: #444271 * Tue Mar 25 2008 Tom Lane 8.3.1-1 - Update to PostgreSQL 8.3.1. * Tue Mar 18 2008 Tom "spot" Callaway 8.3.0-3 - add Requires for versioned perl (libperl.so) * Wed Feb 6 2008 Tom Lane 8.3.0-2 - Enable the new GSSAPI support in 8.3.0. * Mon Feb 4 2008 Tom Lane 8.3.0-1 - Update to PostgreSQL 8.3.0. * Fri Jan 18 2008 Tom Lane 8.3RC2-1 - Update to PostgreSQL 8.3RC2 (not waiting for 8.3.0 because Fedora 9 alpha should be 8.3-based not 8.2-based). - Update to pgtcl 1.6.2 * Mon Jan 7 2008 Tom Lane 8.2.6-1 - Update to PostgreSQL 8.2.6 to fix CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601 - Make initscript and pam config files be installed unconditionally; seems new buildroots don't necessarily have those directories in place * Wed Dec 5 2007 Tom Lane 8.2.5-2 - Rebuild for new openssl * Thu Sep 20 2007 Tom Lane 8.2.5-1 - Update to PostgreSQL 8.2.5 and pgtcl 1.6.0 * Tue Sep 4 2007 Tom Lane 8.2.4-6 - Fix multilib problem for /usr/include/ecpg_config.h (which is new in 8.2.x) * Sat Aug 25 2007 Tom Lane 8.2.4-5 - Use nicer solution for tzdata file substitution: upstream discussion concluded that hardwiring the path was better than a symlink after all. * Wed Aug 22 2007 Tom Lane 8.2.4-4 - Use tzdata package's data files instead of private copy, so that postgresql-server need not be turned for routine timezone updates - Don't remove postgres user/group during RPM uninstall, per Fedora packaging guidelines - Seems we need an explicit BuildRequires on gawk now - Rebuild to fix Fedora toolchain issues * Sun Aug 12 2007 Tom Lane 8.2.4-3 - Recent perl changes in rawhide mean we need a more specific BuildRequires * Wed Jun 20 2007 Tom Lane 8.2.4-2 - Fix oversight in postgresql-test makefile: pg_regress isn't a shell script anymore. Per upstream bug 3398. * Tue Apr 24 2007 Tom Lane 8.2.4-1 - Update to PostgreSQL 8.2.4 for CVE-2007-2138, data loss bugs Resolves: #237682 * Wed Feb 14 2007 Karsten Hopp 8.2.3-2 - rebuild with tcl-8.4 * Wed Feb 7 2007 Tom Lane 8.2.3-1 - Update to PostgreSQL 8.2.3 due to regression induced by security fix Resolves: #227522 * Sun Feb 4 2007 Tom Lane 8.2.2-1 - Update to PostgreSQL 8.2.2 to fix CVE-2007-0555, CVE-2007-0556 Related: #225496 * Fri Jan 12 2007 Tom Lane 8.2.1-2 - Split -pl subpackage into three new packages to reduce dependencies and track upstream project's packaging. * Wed Jan 10 2007 Tom Lane 8.2.1-1 - Update to PostgreSQL 8.2.1 - Update to pgtcl 1.5.3 - Be sure we link to libncurses, not libtermcap which is disappearing in Fedora * Thu Dec 7 2006 Jeremy Katz - 8.2.0-2 - rebuild for python 2.5 * Mon Dec 4 2006 Tom Lane 8.2.0-1 - Update to PostgreSQL 8.2.0 - Update to PyGreSQL 3.8.1 - Fix chcon arguments in test/regress/Makefile Related: #201035 - Adjust init script to not fool /etc/rc.d/rc Resolves: #161470 - Change init script to not do initdb automatically, but require manual "service postgresql initdb" for safety. Per upstream discussions. * Wed Jul 12 2006 Jesse Keating - 8.1.4-1.1 - rebuild * Mon May 22 2006 Tom Lane 8.1.4-1 - Update to PostgreSQL 8.1.4 (includes fixes for CVE-2006-2313, CVE-2006-2314; see bug #192173) - Update to PyGreSQL 3.8 - Suppress noise from chcon, per bug #187744 * Mon Mar 27 2006 Tom Lane 8.1.3-2 - Remove JDBC from this build; we will package it as separate SRPM * Mon Feb 13 2006 Jesse Keating - 8.1.3-1.1 - rebump for build order issues during double-long bump * Mon Feb 13 2006 Tom Lane 8.1.3-1 - Update to PostgreSQL 8.1.3 (fixes bug #180617, CVE-2006-0553) - Update to jdbc driver build 405 - Modify multilib header hack to not break non-RH arches, per bug #177564 * Tue Feb 07 2006 Jesse Keating - 8.1.2-1.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Mon Jan 9 2006 Tom Lane 8.1.2-1 - Update to PostgreSQL 8.1.2 - Repair extraneous quote in pgtcl configure script ... odd that bash didn't use to spit up on this. * Thu Dec 15 2005 Tom Lane 8.1.1-3 - fix pg_config.h for 64-bit and ppc platforms - update Makefile.regress (needs to --load-language=plpgsql) * Wed Dec 14 2005 Tom Lane 8.1.1-2 - oops, looks like we want uname -i not uname -m * Wed Dec 14 2005 Tom Lane 8.1.1-1 - Update to PostgreSQL 8.1.1 - Make pg_config.h architecture-independent for multilib installs; put the original pg_config.h into pg_config_$ARCH.h * Fri Dec 09 2005 Jesse Keating - rebuilt * Sat Nov 12 2005 Tom Lane 8.1.0-4 - Update included PDF-format manual to 8.1. * Wed Nov 9 2005 Tom Lane 8.1.0-3 - Rebuild due to openssl library update. * Wed Nov 9 2005 Tom Lane 8.1.0-2 - Rebuild due to openssl library update. * Mon Nov 7 2005 Tom Lane 8.1.0-1 - Update to PostgreSQL 8.1.0, PyGreSQL 3.7, and jdbc driver build 404 - Fix PAM config file (must have account not only auth) (bug #167040) - Add BuildPrereq: libxslt-devel (bug #170141) - Sync with PGDG SRPM as much as feasible * Fri Oct 14 2005 Tomas Mraz - use include instead of pam_stack in pam config * Tue Oct 4 2005 Tom Lane 8.0.4-2 - Add rpath to plperl.so (bug #162198) * Tue Oct 4 2005 Tom Lane 8.0.4-1 - Update to PostgreSQL 8.0.4, PyGreSQL 3.6.2, and jdbc driver build 312 - Adjust pgtcl link command to ensure it binds to correct libpq (bug #166665) - Remove obsolete Conflicts: against other python versions (bug #166754) - Add /etc/pam.d/postgresql (bug #167040) - Include contrib/xml2 in build (bug #167492) * Tue May 10 2005 Tom Lane 8.0.3-1 - Update to PostgreSQL 8.0.3 (includes security and data-loss fixes; see bz#156727, CAN-2005-1409, CAN-2005-1410) - Update to jdbc driver build 311 - Recreate postgres user after superseding an rh-postgresql install (bug #151911) - Ensure postgresql server is restarted if running during an upgrade * Thu Apr 14 2005 Florian La Roche 8.0.2-2 - rebuild for postgresql-tcl * Tue Apr 12 2005 Tom Lane 8.0.2-1 - Update to PostgreSQL 8.0.2. * Fri Mar 11 2005 Tom Lane 8.0.1-5 - Remove unwanted rpath specification from pgtcl (bz#150649) * Wed Mar 2 2005 Tom Lane 8.0.1-4 - Attach Obsoletes: declarations for rh-postgresql to subpackages (bz#144435) - Make Requires: and Prereq: package linkages specify release not only version, as per recent mailing list discussion. * Tue Mar 1 2005 Tomas Mraz 8.0.1-3 - rebuild with openssl-0.9.7e * Mon Feb 21 2005 Tom Lane 8.0.1-2 - Repair improper error message in init script when PGVERSION doesn't match. - Arrange for auto update of version embedded in init script. * Sun Jan 30 2005 Tom Lane 8.0.1-1 - Update to PostgreSQL 8.0.1. - Add versionless symlinks to jar files (bz#145744) * Wed Jan 19 2005 Tom Lane 8.0.0-1 - Update to PostgreSQL 8.0.0, PyGreSQL 3.6.1, pgtcl 1.5.2, and jdbc driver build 309. - Extensive cleanout of obsolete cruft in patch set. - Regression tests are run during RPM build (NOTE: cannot build as root when this is enabled). - Postmaster stderr goes someplace useful, not /dev/null (bz#76503, #103767) - Make init script return a useful exit status (bz#80782) - Move docs' tutorial directory to %%{_libdir}/pgsql/tutorial, since it includes .so files that surely do not belong under /usr/share. - Remove useless .sgml files from docs RPM (bz#134450) - Put regression tests under /usr/lib64 on 64-bit archs, since .so files are not architecture-independent. * Wed Jan 12 2005 Tim Waugh 7.4.6-5 - Rebuilt for new readline. * Tue Jan 11 2005 Dan Walsh 7.4.6-4 - Add restorecon to postgresql.init in order to restore database to correct - SELinux context. * Thu Dec 16 2004 Tom Lane 7.4.6-3 - Update to PyGreSQL 3.6 (to fix bug #142711) - Adjust a few file permissions (bug #142431) - Assign %%{_libdir}/pgsql to base package instead of -server (bug #74003) * Mon Nov 15 2004 Tom Lane 7.4.6-2 - Rebuild so python components play with python 2.4 (bug 139160) * Sat Oct 23 2004 Tom Lane 7.4.6-1 - Update to PostgreSQL 7.4.6 (bugs 136947, 136949) - Make init script more paranoid about mkdir step of initializing a new database (bugs 136947, 136949) * Wed Oct 20 2004 Tom Lane 7.4.5-4 - Remove contrib/oidjoins stuff from installed fileset; it's of no use to ordinary users and has a security issue (bugs 136300, 136301) - adjust chkconfig priority (bug 128852) * Tue Oct 05 2004 Tom Lane 7.4.5-3 - Solve the stale lockfile problem (bugs 71295, 96981, 134090) - Use runuser instead of su for SELinux (bug 134588) * Mon Aug 30 2004 Tom Lane 7.4.5-2 - Update to PyGreSQL 3.5. * Tue Aug 24 2004 Tom Lane 7.4.5-1 - Update to PostgreSQL 7.4.5. - Update JDBC jars to driver build 215. - Add Obsoletes: entries for rh-postgresql packages, per bug 129278. * Sat Jul 10 2004 Tom Lane 7.4.3-3 - Undo ill-considered chkconfig change that causes server to start immediately upon install. Mea culpa (bug 127552). * Sat Jul 03 2004 Tom Lane 7.4.3-2 - Update JDBC jars to driver build 214. * Wed Jun 23 2004 Tom Lane 7.4.3-1 - Update to PostgreSQL 7.4.3. - Uninstalling server RPM stops postmaster first, per bug 114846. - Fix su commands to not assume PG user's shell is sh-like, per bug 124024. - Fix permissions on postgresql-python doc files, per bug 124822. - Minor postgresql.init improvements. * Tue Jun 15 2004 Elliot Lee - rebuilt * Wed Mar 10 2004 Tom Lane 7.4.2-1 - Update to PostgreSQL 7.4.2; sync with community SRPM as much as possible. - Support PGOPTS from /etc/sysconfig/pgsql, per bug 111504. - Fix permissions on /etc/sysconfig/pgsql, per bug 115278. - SELinux patch in init file: always su - rebuilt * Wed Feb 25 2004 Tom Lane - Update to PostgreSQL 7.4.1. - Rebuilt * Tue Feb 24 2004 Tom Lane - Fix chown syntax in postgresql.init also. - Rebuilt * Mon Feb 23 2004 Tim Waugh - Use ':' instead of '.' as separator for chown. * Fri Feb 13 2004 Elliot Lee - rebuilt * Fri Jan 9 2004 Lamar Owen - 7.4.1-1PGDG - Merge Sander Steffann's changes up to 7.4-0.5PGDG - Proper 7.4.1 JDBC jars this time. - Patch for no pl/python from Alvaro * Fri Dec 05 2003 David Jee 7.4-5 - Rebuild for Perl 5.8.2. * Mon Dec 01 2003 David Jee 7.4-4 - Add PyGreSQL patch for deprecated column pg_type.typprtlen [Bug #111263] - Add headers patch which moves ecpg headers to /usr/include/ecpg [Bug #111195] * Fri Nov 28 2003 David Jee 7.4-3 - uncomment buildrequires tcl-devel * Fri Nov 28 2003 David Jee 7.4-2 - rebuild * Mon Nov 24 2003 David Jee 7.4-1 - initial Red Hat build - move jars to /usr/share/java - fix rpm-multilib patch to use sysconfig * Fri Nov 21 2003 Lamar Owen - 7.4-0.1PGDG - Development JDBC jars in addition to the 7.3 jars; will replace the - 7.3 jars once 7.4 official jars are released. - Changed to use the bzip2 source to save a little size. - Removed some commented out portions of the specfile. - Removed the 7.3.4 PDF docs. Will replace with 7.4 PDF's once they - are ready. * Tue Nov 18 2003 Kaj J. Niemi 7.4-0.1 - 7.4 - Fixed Patch #1 (now rpm-pgsql-7.4.patch) - Fixed Patch #2 (now rpm-multilib-7.4.patch): - Patch #4 is unnecessary (upstream) - Fixed Patch #6 (now postgresql-7.4-src-tutorial.patch) - Added Patch #8 (postgresql-7.4-com_err.patch) as com_err() is provided by e2fsprogs and CPPFLAGS gets lost somewhere inside configure (bad macro?) - No 7.4 PDF docs available yet (Source #17) - PyGreSQL is separated from the upstream distribution but we include it as usual (Source #18) - Default to compiling libpq and ECPG as fully thread-safe - 7.4 Origin. See previous spec files for previous history. Adapted - from Red Hat and PGDG's 7.3.4 RPM, directly descended from - postgresql-7.3.4-2 as shipped in Fedora Core 1.