X-Git-Url: https://git.tld-linux.org/?p=packages%2Fpostgresql.git;a=blobdiff_plain;f=postgresql.spec;h=22da08d6a7c0614081893724cd04bf59e17725c1;hp=cdf435394b8e0db3df9fe0a6f7df59fd79877335;hb=5522a1f123308968ba30b48c9df2a2d7d6f12d00;hpb=c6f188b0a79186234a5126fda5b80a8946532d04 diff --git a/postgresql.spec b/postgresql.spec index cdf4353..22da08d 100644 --- a/postgresql.spec +++ b/postgresql.spec @@ -1,7 +1,5 @@ # TODO: # - python 3 and python 2 subpackages? -# - consider dns_sd/Bonjour support (--with-bonjour) -# - --enable-dtrace (is it systemtap-compatible?) # - think about pg_upgrade integration (sysconfig variable to allow upgrade from 8.3+ without dump/restore?) # create postgresqlM.N packages with parts of old pgsql required by pg_upgrade # - test init script (db initialization) @@ -12,14 +10,16 @@ %bcond_without kerberos5 # disable kerberos5 support %bcond_without perl # disable Perl support %bcond_without python # disable Python support +%bcond_with bonjour # Bonjour/DNS_SD support %bcond_without ldap # disable LDAP support %bcond_without selinux # sepgsql contrib module +%bcond_with systemtap # systemtap/dtrace probes %bcond_with absolute_dbpaths # enable absolute paths to create database # (disabled by default because it is a security risk) # %define beta %{nil} -%define mver 9.4 +%define mver 9.5 Summary: PostgreSQL Data Base Management System Summary(de.UTF-8): PostgreSQL Datenbankverwaltungssystem @@ -32,19 +32,16 @@ Summary(tr.UTF-8): Veri Tabanı Yönetim Sistemi Summary(uk.UTF-8): PostgreSQL - система керування базами даних Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件 Name: postgresql -Version: %{mver}.1 -Release: 2 +Version: %{mver}.4 +Release: 1 License: BSD Group: Applications/Databases Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2 -# Source0-md5: 2cf30f50099ff1109d0aa517408f8eff +# Source0-md5: ad36fcf624748b8ed67783ad04529f43 Source1: %{name}.init Source2: pgsql-Database-HOWTO-html.tar.gz # Source2-md5: 5b656ddf1db41965761f85204a14398e Source3: %{name}.sysconfig -Source4: %{name}@.service -Source5: %{name}.service -Source6: %{name}.target Patch0: %{name}-conf.patch Patch1: %{name}-absolute_dbpaths.patch Patch2: %{name}-ecpg-includedir.patch @@ -52,9 +49,11 @@ Patch3: %{name}-ac_version.patch Patch4: %{name}-disable_horology_test.patch Patch5: %{name}-heimdal.patch Patch6: %{name}-ossp_uuid.patch +Patch7: %{name}-link.patch URL: http://www.postgresql.org/ BuildRequires: autoconf BuildRequires: automake +%{?with_bonjour:BuildRequires: avahi-compat-libdns_sd-devel} # not needed for releases... but fixes something in snapshot BuildRequires: bison >= 1.875 BuildRequires: docbook-dtd42-sgml @@ -82,6 +81,7 @@ BuildRequires: python-modules >= 1:2.3 %endif BuildRequires: readline-devel >= 4.2 BuildRequires: rpmbuild(macros) >= 1.671 +%{?with_systemtap:BuildRequires: systemtap-sdt-devel} %{?with_tcl:BuildRequires: tcl-devel >= 8.4.3} %{?with_tests:BuildRequires: tzdata} BuildRequires: zlib-devel @@ -95,7 +95,6 @@ Requires(triggerpostun): /usr/sbin/usermod Requires: %{name}-clients >= %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: rc-scripts >= 0.4.3.0 -Requires: systemd-units >= 38 Requires: tzdata Obsoletes: postgresql-module-plpgsql Obsoletes: postgresql-module-tsearch2 @@ -109,9 +108,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _ulibdir /usr/lib # omitted contribs: -# dummy_seclabel, pg_test_fsync, pg_test_timing, spi, test_parser, worker_spi - examples/tests +# dummy_seclabel, spi, test_parser, worker_spi - examples/tests # tsearch2 - old module for compatibility only -%define contrib_modules adminpack auth_delay auto_explain btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore intagg intarray isn lo ltree oid2name pageinspect passwordcheck pg_archivecleanup pg_buffercache pg_freespacemap pg_prewarm pg_standby pg_stat_statements pg_trgm pg_upgrade pg_upgrade_support pg_xlogdump pgbench pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} sslinfo tablefunc tcn unaccent uuid-ossp vacuumlo xml2 +%define contrib_modules adminpack auth_delay auto_explain btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore intagg intarray isn lo ltree oid2name pageinspect passwordcheck pg_buffercache pg_freespacemap pg_prewarm pg_standby pg_stat_statements pg_trgm pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} sslinfo tablefunc tcn unaccent uuid-ossp vacuumlo xml2 %description PostgreSQL Data Base Management System (formerly known as Postgres, @@ -769,6 +768,7 @@ Różne moduły dołączone do PostgreSQL-a. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 # force rebuild of bison/flex files find src -name \*.l -o -name \*.y | xargs touch @@ -784,19 +784,21 @@ find src -name \*.l -o -name \*.y | xargs touch CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \ --disable-rpath \ --enable-depend \ + %{?with_systemtap:--enable-dtrace} \ --enable-integer-datetimes \ - --with-system-tzdata=%{_datadir}/zoneinfo \ --enable-nls \ --enable-thread-safety \ + %{?with_bonjour:--with-bonjour} \ %{?with_kerberos5:--with-gssapi} \ %{?with_ldap:--with-ldap} \ - --with-openssl \ - --with-pam \ --with-libxml \ --with-libxslt \ + --with-openssl \ + --with-pam \ %{?with_perl:--with-perl} \ %{?with_python:--with-python} \ %{?with_selinux:--with-selinux} \ + --with-system-tzdata=%{_datadir}/zoneinfo \ %{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \ --with-uuid=ossp @@ -822,7 +824,6 @@ install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \ $RPM_BUILD_ROOT{/var/{lib/pgsql,log},%{_pgsqldir}} \ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \ $RPM_BUILD_ROOT%{_mandir} \ - $RPM_BUILD_ROOT{%{systemdunitdir},/etc/systemd/system/%{name}.target.requires} \ $RPM_BUILD_ROOT/home/services/postgres install src/tutorial/*.sql $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} @@ -847,10 +848,6 @@ touch $RPM_BUILD_ROOT/var/log/pgsql install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/postgresql -install %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}@.service -install %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service -install %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.target - install -d howto tar zxf %{SOURCE2} -C howto @@ -860,13 +857,13 @@ tar zxf %{SOURCE2} -C howto %endif # find locales -for f in libpq5 pg_basebackup pg_controldata pg_dump pg_resetxlog pgscripts postgres psql initdb pg_ctl pg_config plpgsql ecpg ecpglib6 %{?with_perl:plperl} plpgsql %{?with_python: plpython}; do +for f in libpq5 pg_basebackup pg_controldata pg_dump pg_resetxlog pg_rewind pgscripts postgres psql initdb pg_ctl pg_config plpgsql ecpg ecpglib6 %{?with_perl:plperl} plpgsql %{?with_python: plpython}; do %find_lang $f-%{mver} done # merge locales cat pgscripts-%{mver}.lang pg_resetxlog-%{mver}.lang \ postgres-%{mver}.lang pg_controldata-%{mver}.lang \ - plpgsql-%{mver}.lang \ + plpgsql-%{mver}.lang pg_rewind-%{mver}.lang \ pg_basebackup-%{mver}.lang \ > main-%{mver}.lang cat pg_dump-%{mver}.lang psql-%{mver}.lang initdb-%{mver}.lang \ @@ -884,9 +881,6 @@ mv $RPM_BUILD_ROOT{%{_datadir}/postgresql/contrib,%{_pgsqldir}}/sepgsql.sql install src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/server/ -# unpackaged contribs -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{pg_test_fsync,pg_test_timing}.1 - # package it...? nah, why bother. %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc/postgresql/html @@ -904,7 +898,7 @@ fi foundold=0 for pgdir in $PG_DB_CLUSTERS; do if [ -f $pgdir/PG_VERSION ]; then - if [ $(cat $pgdir/PG_VERSION) != '9.3' ]; then + if [ $(cat $pgdir/PG_VERSION) != '%{mver}' ]; then echo "Found database(s) in older, incompatible format in cluster $pgdir." foundold=1 fi @@ -941,43 +935,12 @@ fi %post /sbin/chkconfig --add postgresql %service postgresql restart "postgresql server" -if [ "$1" -eq "1" ]; then - PG_DB_CLUSTERS="" - [ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql - export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog - for pgdir in $PG_DB_CLUSTERS; do - instance="$(echo "$pgdir" | sed -e 's/^\///;s/-/\\x2d/g;s/@/\\x40/g;s/\//-/g')" - /bin/systemctl --quiet enable "postgresql@$instance.service" || : - done -fi -%systemd_post postgresql.service %preun if [ "$1" = "0" ]; then %service postgresql stop /sbin/chkconfig --del postgresql - - PG_DB_CLUSTERS="" - [ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql - export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog - for pgdir in $PG_DB_CLUSTERS; do - instance="$(echo "$pgdir" | sed -e 's/^\///;s/-/\\x2d/g;s/@/\\x40/g;s/\//-/g')" - /bin/systemctl --quiet disable "postgresql@$instance.service" || : - done fi -%systemd_preun postgresql.service - -%postun -%systemd_reload - -%triggerpostun -- %{name} < 9.3.3-2 -PG_DB_CLUSTERS="" -[ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql -for pgdir in $PG_DB_CLUSTERS; do - instance="$(echo "$pgdir" | sed -e 's/^\///;s/-/\\x2d/g;s/@/\\x40/g;s/\//-/g')" - /bin/systemctl --quiet enable "postgresql@$instance.service" || : -done -%systemd_trigger postgresql.service %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig @@ -990,10 +953,6 @@ done %doc COPYRIGHT README HISTORY doc/{bug.template,KNOWN_BUGS,MISSING_FEATURES,TODO} %attr(754,root,root) /etc/rc.d/init.d/postgresql %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql -%{systemdunitdir}/%{name}.service -%{systemdunitdir}/%{name}@.service -%{systemdunitdir}/%{name}.target -%dir /etc/systemd/system/%{name}.target.requires %attr(755,root,root) %{_bindir}/initdb %attr(755,root,root) %{_bindir}/pg_basebackup @@ -1002,7 +961,12 @@ done %attr(755,root,root) %{_bindir}/pg_resetxlog %attr(755,root,root) %{_bindir}/pg_receivexlog %attr(755,root,root) %{_bindir}/pg_recvlogical +%attr(755,root,root) %{_bindir}/pg_rewind +%attr(755,root,root) %{_bindir}/pg_test_fsync +%attr(755,root,root) %{_bindir}/pg_test_timing %attr(755,root,root) %{_bindir}/pg_upgrade +%attr(755,root,root) %{_bindir}/pg_xlogdump +%attr(755,root,root) %{_bindir}/pgbench %attr(755,root,root) %{_bindir}/postgres %attr(755,root,root) %{_bindir}/postmaster @@ -1015,7 +979,6 @@ done %attr(755,root,root) %{_pgmoduledir}/latin2_and_win1250.so %attr(755,root,root) %{_pgmoduledir}/latin_and_mic.so %attr(755,root,root) %{_pgmoduledir}/libpqwalreceiver.so -%attr(755,root,root) %{_pgmoduledir}/pg_upgrade_support.so %attr(755,root,root) %{_pgmoduledir}/plpgsql.so %attr(755,root,root) %{_pgmoduledir}/utf8_and_*.so @@ -1046,6 +1009,12 @@ done %{_mandir}/man1/pg_resetxlog.1* %{_mandir}/man1/pg_receivexlog.1* %{_mandir}/man1/pg_recvlogical.1* +%{_mandir}/man1/pg_rewind.1* +%{_mandir}/man1/pg_xlogdump.1* +%{_mandir}/man1/pg_test_fsync.1* +%{_mandir}/man1/pg_test_timing.1* +%{_mandir}/man1/pg_upgrade.1* +%{_mandir}/man1/pgbench.1* %{_mandir}/man1/postgres.1* %{_mandir}/man1/postmaster.1* @@ -1130,6 +1099,7 @@ done %attr(755,root,root) %{_bindir}/dropdb %attr(755,root,root) %{_bindir}/droplang %attr(755,root,root) %{_bindir}/dropuser +%attr(755,root,root) %{_bindir}/pg_archivecleanup %attr(755,root,root) %{_bindir}/pg_dump %attr(755,root,root) %{_bindir}/pg_dumpall %attr(755,root,root) %{_bindir}/pg_isready @@ -1145,11 +1115,11 @@ done %{_mandir}/man1/dropdb.1* %{_mandir}/man1/droplang.1* %{_mandir}/man1/dropuser.1* +%{_mandir}/man1/pg_archivecleanup.1* %{_mandir}/man1/pg_dump.1* %{_mandir}/man1/pg_dumpall.1* %{_mandir}/man1/pg_isready.1* %{_mandir}/man1/pg_restore.1* -%{_mandir}/man1/pg_upgrade.1.gz %{_mandir}/man1/psql.1* %{_mandir}/man1/reindexdb.1* %{_mandir}/man1/vacuumdb.1* @@ -1231,10 +1201,7 @@ done %defattr(644,root,root,755) %doc contrib/README %attr(755,root,root) %{_bindir}/oid2name -%attr(755,root,root) %{_bindir}/pg_archivecleanup %attr(755,root,root) %{_bindir}/pg_standby -%attr(755,root,root) %{_bindir}/pg_xlogdump -%attr(755,root,root) %{_bindir}/pgbench %attr(755,root,root) %{_bindir}/vacuumlo %attr(755,root,root) %{_pgmoduledir}/_int.so %attr(755,root,root) %{_pgmoduledir}/adminpack.so @@ -1324,8 +1291,5 @@ done %{_pgsqldir}/uuid-ossp--*.sql %{_pgsqldir}/uuid-ossp.control %{_mandir}/man1/oid2name.1* -%{_mandir}/man1/pg_archivecleanup.1* %{_mandir}/man1/pg_standby.1* -%{_mandir}/man1/pg_xlogdump.1* -%{_mandir}/man1/pgbench.1* %{_mandir}/man1/vacuumlo.1*