3 %bcond_without tests # disable testing
4 %bcond_without tcl # disable Tcl support
5 %bcond_without kerberos5 # disable kerberos5 support
6 %bcond_without perl # disable Perl support
7 %bcond_without python # disable Python support
8 %bcond_with bonjour # Bonjour/DNS_SD support
9 %bcond_without ldap # disable LDAP support
10 %bcond_without selinux # sepgsql contrib module
11 %bcond_with systemtap # systemtap/dtrace probes
12 %bcond_with absolute_dbpaths # enable absolute paths to create database
13 # (disabled by default because it is a security risk)
17 %define pgsqlversion 9.4
18 %define pgsqlpriority 94
20 Summary: PostgreSQL Data Base Management System
21 Summary(de.UTF-8): PostgreSQL Datenbankverwaltungssystem
22 Summary(es.UTF-8): Gestor de Banco de Datos PostgreSQL
23 Summary(fr.UTF-8): Sysème de gestion de base de données PostgreSQL
24 Summary(pl.UTF-8): PostgreSQL - system bazodanowy
25 Summary(pt_BR.UTF-8): Gerenciador de Banco de Dados PostgreSQL
26 Summary(ru.UTF-8): PostgreSQL - система управления базами данных
27 Summary(tr.UTF-8): Veri Tabanı Yönetim Sistemi
28 Summary(uk.UTF-8): PostgreSQL - система керування базами даних
29 Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件
30 Name: postgresql-%{pgsqlversion}
31 Version: %{pgsqlversion}.19
34 Group: Applications/Databases
35 Source0: http://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
36 # Source0-md5: c7b24ea742692f33376ee40716f8b3ac
37 Source1: postgresql.init
38 Source2: pgsql-Database-HOWTO-html.tar.gz
39 # Source2-md5: 5b656ddf1db41965761f85204a14398e
40 Source3: postgresql.sysconfig
41 Patch0: postgresql-conf.patch
42 Patch1: postgresql-absolute_dbpaths.patch
43 Patch2: postgresql-ecpg-includedir.patch
44 Patch3: per-version-dirs.patch
45 Patch4: postgresql-disable_horology_test.patch
46 Patch5: postgresql-heimdal.patch
47 Patch7: socket-dir-fixes.patch
48 URL: http://www.postgresql.org/
49 BuildRequires: autoconf >= 2.69
50 BuildRequires: automake
51 %{?with_bonjour:BuildRequires: avahi-compat-libdns_sd-devel}
52 # not needed for releases... but fixes something in snapshot
53 BuildRequires: bison >= 1.875
54 BuildRequires: docbook-dtd42-sgml
55 BuildRequires: docbook-dtd42-xml
56 BuildRequires: docbook-style-xsl
57 BuildRequires: flex >= 2.5.31
58 BuildRequires: gettext-tools
59 BuildRequires: gnome-doc-tools
60 %{?with_kerberos5:BuildRequires: heimdal-devel}
61 %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.10}
62 BuildRequires: libtool
63 BuildRequires: libxml2-devel >= 1:2.6.23
64 BuildRequires: libxslt-devel
65 BuildRequires: libxslt-progs
66 BuildRequires: ncurses-devel >= 5.0
67 %{?with_ldap:BuildRequires: openldap-devel}
68 BuildRequires: openssl-devel >= 0.9.7d
69 BuildRequires: ossp-uuid-devel
70 BuildRequires: pam-devel
71 %{?with_perl:BuildRequires: perl-devel}
73 BuildRequires: python >= 1:2.3
74 BuildRequires: python-devel >= 1:2.3
75 BuildRequires: python-modules >= 1:2.3
77 BuildRequires: readline-devel >= 4.2
78 BuildRequires: rpmbuild(macros) >= 1.671
79 %{?with_systemtap:BuildRequires: systemtap-sdt-devel}
80 %{?with_tcl:BuildRequires: tcl-devel >= 8.4.3}
81 %{?with_tests:BuildRequires: tzdata}
82 BuildRequires: zlib-devel
83 Requires(post,preun): /sbin/chkconfig
84 Requires(pre): /bin/id
85 Requires(pre): /usr/bin/getgid
86 Requires(triggerpostun): /bin/id
87 Requires(triggerpostun): /usr/sbin/usermod
88 Requires: %{name}-clients = %{version}-%{release}
89 Requires: %{name}-dirs = %{version}-%{release}
90 Requires: postgresql-libs >= %{version}-%{release}
91 Requires: rc-scripts >= 0.4.3.0
94 Obsoletes: postgresql-module-plpgsql
95 Obsoletes: postgresql-module-tsearch2
96 Obsoletes: postgresql-server
97 Obsoletes: postgresql-test
98 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100 %define pgsqldatadir %{_datadir}/postgresql/%{pgsqlversion}
101 %define pgsqllibdir %{_libdir}/postgresql/%{pgsqlversion}
102 %define moduledir %{pgsqllibdir}/lib
103 %define extensiondir %{pgsqldatadir}/extension
105 %define _ulibdir /usr/lib
108 # spi, test_decoding, worker_spi - examples/tests
109 # tsearch2 - old module for compatibility only
110 %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_test_fsync pg_test_timing pg_upgrade pg_xlogdump pgbench pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} sslinfo tablefunc tcn unaccent uuid-ossp vacuumlo xml2
113 PostgreSQL Data Base Management System (formerly known as Postgres,
116 PostgreSQL is an enhancement of the POSTGRES database management
117 system, a next-generation DBMS research prototype. While PostgreSQL
118 retains the powerful data model and rich data types of POSTGRES, it
119 replaces the PostQuel query language with an extended subset of SQL.
120 PostgreSQL is free and the complete source is available.
122 PostgreSQL development is being performed by a team of Internet
123 developers who all subscribe to the PostgreSQL development mailing
124 list. The current coordinator is Marc G. Fournier
125 (scrappy@postgreSQL.org). This team is now responsible for all current
126 and future development of PostgreSQL.
128 The authors of PostgreSQL 1.01 were Andrew Yu and Jolly Chen. Many
129 others have contributed to the porting, testing, debugging and
130 enhancement of the code. The original Postgres code, from which
131 PostgreSQL is derived, was the effort of many graduate students,
132 undergraduate students, and staff programmers working under the
133 direction of Professor Michael Stonebraker at the University of
134 California, Berkeley.
136 The original name of the software at Berkeley was Postgres. When SQL
137 functionality was added in 1995, its name was changed to Postgres95.
138 The name was changed at the end of 1996 to PostgreSQL.
140 PostgreSQL runs on Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD,
141 and most flavours of Unix.
143 %description -l pl.UTF-8
144 System Zarządzania Bazą Danych PostgreSQL (dawniej znany jako
145 Postgres, następnie jako Postgres95).
147 PostgreSQL jest rozszerzeniem systemu zarządzania baz danych POSTGRES,
148 prototypu DBMS następnej generacji. Co prawda PostgreSQL odziedziczył
149 model danych oraz bogaty zbiór różnych typów danych, to jednak język
150 zapytań PostQuel został zastąpiony rozszerzonym SQL-em. PostgreSQL
151 jest wolnym oprogramowaniem i kody źródłowe tego oprogramowania są w
154 System PostgreSQL jest tworzony przez zespół ludzi, którzy są zapisani
155 na listę dyskusyjną dotyczącą PostgreSQL-a. Obecnym koordynatorem jest
156 Marc G. Fournier (scrappy@postgreSQL.org). Wymieniony wyżej zespół
157 jest odpowiedzialny za aktualny i przyszły rozwój systemu PostgreSQL.
159 Autorami PostgreSQL-a 1.01 byli Andrew Yu oraz Jolly Chen. Wielu
160 innych pomagało przenosząc na różne platformy, testując, analizując i
161 rozszerzając kod. Oryginalny kod Postgres-a, na podstawie którego
162 PostgreSQL powstał, był wysiłkiem wielu absolwentów, studentów oraz
163 zespołu programistów, którzy pracowali pod kierunkiem profesora
164 Michaela Stonebrakera z Uniwersytetu Kalifornii w Berkeley.
166 Nazwa oryginalna oprogramowania tworzonego w Berkeley brzmiała
167 Postgres. W 1995 roku dodano język zapytań SQL i nazwę zmieniono na
168 Postgres95. W końcu roku 1996 nazwę ostatecznie zmieniono na
171 PostgreSQL może być uruchomiony pod następującymi systemami: Solaris,
172 SunOS, HPUX, AIX, Linux, Irix, FreeBSD i innymi systemami uniksowymi.
175 Summary: Common directories for PostgresSQL %{pgsqlversion}
176 Summary(pl.UTF-8): Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
177 Group: Applicataion/Databases
180 Common directories for PostgresSQL %{pgsqlversion}
182 %description dirs -l pl.UTF-8
183 Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
185 %package backend-devel
186 Summary: PostgreSQL backend development header files
187 Summary(pl.UTF-8): PostgreSQL - pliki nagłówkowe dla backendu
188 Group: Development/Libraries
189 Requires: postgresql-devel >= %{version}-%{release}
190 Requires: postgresql-libs >= %{version}-%{release}
191 Obsoletes: postgresql-backend-devel
193 %description backend-devel
194 This package contains header files required to compile functions that
195 could be loaded directly by backend
197 %description backend-devel -l pl.UTF-8
198 Pakiet zawiera nagłówki wymagane do kompilacji funkcji ktore moga byc
199 bezposrednio ladowane przez beckend serwera PostgreSQL.
202 Summary: Clients needed to access a PostgreSQL server
203 Summary(es.UTF-8): Clientes necesarios para acceder al servidor PostgreSQL
204 Summary(pl.UTF-8): Klienci wymagani do dostępu do serwera PostgreSQL
205 Summary(pt_BR.UTF-8): Clientes necessários para acessar o servidor PostgreSQL
206 Summary(ru.UTF-8): Клиентские программы, необходимые для доступа к серверу PostgreSQL
207 Summary(uk.UTF-8): Клієнтські програми, необхідні для доступу до сервера PostgreSQL
208 Group: Applications/Databases
209 Requires: alternatives
210 Requires: %{name}-dirs = %{version}-%{release}
211 Requires: postgresql-libs >= %{version}-%{release}
212 Obsoletes: postgresql-clients
215 This package includes only the clients needed to access an PostgreSQL
216 server. The server is included in the main package. If all you need is
217 to connect to another PostgreSQL server, the this is the only package
218 you need to install. Clients include several command-line utilities
219 you can use to manage your databases on a remote PostgreSQL server.
221 %description clients -l pl.UTF-8
222 Pakiet zawiera programy klienckie potrzebne dla dostępu do serwera
223 PostgreSQL oraz narzędzia do zarządzania bazami działające z linii
224 poleceń. Serwer znajduje się w głównym pakiecie.
227 Summary: Documentation for PostgreSQL
228 Summary(pl.UTF-8): Dodatkowa dokumantacja dla PostgreSQL
229 Group: Applications/Databases
230 Obsoletes: postgresql-doc
233 This package includes documentation and HOWTO for programmer, admin
234 etc., in HTML format.
236 %description doc -l pl.UTF-8
237 Pakiet ten zawiera dokumentację oraz HOWTO m.in. dla programistów,
238 administratorów w formacie HTML.
241 Summary: Embedded SQL in C interface
242 Summary(pl.UTF-8): Interfejs wbudowanego SQL-a w język C
244 Requires: %{name}-dirs = %{version}-%{release}
245 Requires: postgresql-libs >= %{version}-%{release}
246 Requires: postgresql-ecpg-libs >= %{version}-%{release}
247 Obsoletes: postgresql-ecpg
250 Embedded SQL in C interface.
252 %description ecpg -l pl.UTF-8
253 Interfejs wbudowanego SQL-a w język C.
255 %package module-plperl
256 Summary: PL/perl - PostgreSQL procedural language
257 Summary(pl.UTF-8): PL/perl - język proceduralny bazy danych PostgreSQL
258 Group: Applications/Databases
259 Requires: %{name} = %{version}-%{release}
260 Obsoletes: postgresql-module-plperl
262 %description module-plperl
263 From PostgreSQL documentation:
265 Postgres supports the definition of procedural languages. In the case
266 of a function or trigger procedure defined in a procedural language,
267 the database has no built-in knowledge about how to interpret the
268 function's source text. Instead, the task is passed to a handler that
269 knows the details of the language. The handler itself is a special
270 programming language function compiled into a shared object and loaded
273 To enable PL/Perl procedural language for your database you have to
274 run createlang command.
276 %description module-plperl -l pl.UTF-8
277 Z dokumentacji PostgreSQL:
279 Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
280 programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
281 proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
282 funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
283 który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
284 funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
287 Za pomocą polecenia createlang można dodać obsługę języka
288 proceduralnego PL/Perl dla swojej bazy danych.
290 %package module-plpython
291 Summary: PL/Python - PostgreSQL procedural language
292 Summary(pl.UTF-8): PL/Python - język proceduralny bazy danych PostgreSQL
293 Group: Applications/Databases
294 Requires: %{name} = %{version}-%{release}
295 %pyrequires_eq python
296 Obsoletes: postgresql-module-plpython
298 %description module-plpython
299 From PostgreSQL documentation:
301 Postgres supports the definition of procedural languages. In the case
302 of a function or trigger procedure defined in a procedural language,
303 the database has no built-in knowledge about how to interpret the
304 function's source text. Instead, the task is passed to a handler that
305 knows the details of the language. The handler itself is a special
306 programming language function compiled into a shared object and loaded
309 To enable PL/Python procedural language for your database you have to
310 run createlang command.
312 %description module-plpython -l pl.UTF-8
313 Z dokumentacji PostgreSQL:
315 Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
316 programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
317 proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
318 funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
319 który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
320 funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
323 Za pomocą polecenia createlang można dodać obsługę języka
324 proceduralnego PL/Python dla swojej bazy danych.
326 %package module-pltcl
327 Summary: PL/Tcl - PostgreSQL procedural language
328 Summary(pl.UTF-8): PL/Tcl - język proceduralny bazy danych PostgreSQL
329 Group: Applications/Databases
330 Requires: %{name} = %{version}-%{release}
332 Obsoletes: postgresql-module-pltcl
334 %description module-pltcl
335 From PostgreSQL documentation:
337 Postgres supports the definition of procedural languages. In the case
338 of a function or trigger procedure defined in a procedural language,
339 the database has no built-in knowledge about how to interpret the
340 function's source text. Instead, the task is passed to a handler that
341 knows the details of the language. The handler itself is a special
342 programming language function compiled into a shared object and loaded
345 To enable PL/Tcl procedural language for your database you have to run
348 %description module-pltcl -l pl.UTF-8
349 Z dokumentacji PostgreSQL:
351 Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
352 programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
353 proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
354 funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
355 który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
356 funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
359 Za pomocą polecenia createlang można dodać obsługę języka
360 proceduralnego PL/Tcl dla swojej bazy danych.
362 %package module-dblink
363 Summary: dblink module for PostgreSQL
364 Summary(pl.UTF-8): Moduł dblink dla PostgreSQL-a
365 Group: Applications/Databases
366 Requires: %{name} = %{version}-%{release}
367 Obsoletes: postgresql-module-dblink
369 %description module-dblink
370 dblink module for PostgreSQL provides functions returning results from
373 %description module-dblink -l pl.UTF-8
374 Moduł dblink dla PostgreSQL-a udostępnia funkcje zwracające wyniki ze
378 Summary: Large Objects module for PostgreSQL
379 Summary(pl.UTF-8): Moduł Large Objects dla PostgreSQL-a
380 Group: Applications/Databases
381 Requires: %{name} = %{version}-%{release}
382 Obsoletes: postgresql-module-lo
384 %description module-lo
385 Large Objects module for PostgreSQL adds a new data type 'lo', some
386 support functions and a trigger which handles the orphaning problem.
388 %description module-lo -l pl.UTF-8
389 Moduł Large Objects dla PostgreSQL-a dodaje nowy typ danych 'lo',
390 kilka funkcji pomocniczych i wyzwalacz rozwiązujący problem
391 osieroconych obiektów.
393 %package module-pg_trgm
394 Summary: Trigram matching for PostgreSQL
395 Summary(pl.UTF-8): Dopasowanie trigramowe dla PostgreSQL-a
396 Group: Applications/Databases
397 Requires: %{name} = %{version}-%{release}
398 Obsoletes: postgresql-module-pg_trgm
400 %description module-pg_trgm
401 This module provides functions and index classes for determining the
402 similarity of text based on trigram matching.
404 %description module-pg_trgm -l pl.UTF-8
405 Ten moduł dostarcza funkcje i klasy do rozpoznawania podobnych tekstów
406 w oparciu o dopasowywanie trigramowe (trigram matching).
408 %package module-pgcrypto
409 Summary: Cryptographic functions for PostgreSQL
410 Summary(pl.UTF-8): Funkcje kryptograficzne dla PostgreSQL-a
411 Group: Applications/Databases
412 Requires: %{name} = %{version}-%{release}
413 Obsoletes: postgresql-module-pgcrypto
415 %description module-pgcrypto
416 Cryptographic functions for PostgreSQL.
418 %description module-pgcrypto -l pl.UTF-8
419 Funkcje kryptograficzne dla PostgreSQL.
421 %package module-sepgsql
422 Summary: PostgreSQL external security provider using SELinux
423 Summary(pl.UTF-8): Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa
424 Group: Applications/Databases
425 Requires: %{name} = %{version}-%{release}
426 Requires: libselinux >= 2.1.10
427 Obsoletes: postgresql-module-sepgsql
429 %description module-sepgsql
430 PostgreSQL external security provider using SELinux.
432 %description module-sepgsql -l pl.UTF-8
433 Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa.
435 %package module-tablefunc
436 Summary: crosstab functions for PostgreSQL
437 Summary(pl.UTF-8): Funkcje crosstab dla PostgreSQL-a
438 Group: Applications/Databases
439 Requires: %{name} = %{version}-%{release}
440 Obsoletes: postgresql-module-tablefunc
442 %description module-tablefunc
443 crosstab functions for PostgreSQL.
445 %description module-tablefunc -l pl.UTF-8
446 Funkcje crosstab dla PostgreSQL-a.
449 Summary: XML-handling functions for PostgreSQL
450 Summary(pl.UTF-8): Funkcje do obsługi XML-a dla PostgreSQL-a
451 Group: Applications/Databases
452 Requires: %{name} = %{version}-%{release}
453 Requires: libxml2 >= 1:2.6.23
454 Obsoletes: postgresql-module-xml2
456 %description module-xml2
457 Module with XML functions provides both XPath querying and XSLT
458 functionality. There is also a new table function which allows the
459 straightforward return of multiple XML results.
461 %description module-xml2 -l pl.UTF-8
462 Moduł z funkcjami XML zapewniającymi obsługę zapytań XPath oraz
463 funkcjonalność XSLT. Jest także nowa funkcja tabelowa pozwalająca na
464 bezpośrednie zwracanie wielu wyników XML.
467 Summary: Miscellaneous PostgreSQL contrib modules
468 Summary(pl.UTF-8): Różne moduły dołączone do PostgreSQL-a
469 Group: Applications/Databases
470 Requires: %{name} = %{version}-%{release}
471 Obsoletes: postgresql-contrib
474 Miscellaneous PostgreSQL contrib modules.
476 %description contrib -l pl.UTF-8
477 Różne moduły dołączone do PostgreSQL-a.
480 %setup -q -n postgresql-%{version}
482 %{?with_absolute_dbpaths:%patch1 -p1}
489 # force rebuild of bison/flex files
490 find src -name \*.l -o -name \*.y | xargs touch
493 #find contrib -type d -name CVS -exec rm -rf {} \;
496 %{__aclocal} -I config
500 CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
501 --prefix=%{pgsqldatadir} \
502 --bindir=%{pgsqllibdir}/bin \
503 --sbindir=%{pgsqllibdir}/sbin \
504 --includedir=%{_includedir} \
505 --mandir=%{pgsqldatadir}/man \
506 --datadir=%{pgsqldatadir} \
507 --libdir=%{_libdir} \
508 --docdir=%{pgsqldatadir}/doc \
509 --localedir=%{_datadir}/locale \
512 %{?with_systemtap:--enable-dtrace} \
513 --enable-integer-datetimes \
515 --enable-thread-safety \
516 %{?with_bonjour:--with-bonjour} \
517 %{?with_kerberos5:--with-gssapi} \
518 %{?with_ldap:--with-ldap} \
523 %{?with_perl:--with-perl} \
524 %{?with_python:--with-python} \
525 %{?with_selinux:--with-selinux} \
526 --with-system-tzdata=%{_datadir}/zoneinfo \
527 %{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
532 for mod in %{contrib_modules}; do \
533 flags="%{rpmcflags} %{rpmcppflags} -DNEED_REENTRANT_FUNCS"
534 if [ $mod = "xml2" ]; then flags="$flags -I/usr/include/libxml2"; fi
535 if [ $mod = "uuid-ossp" ]; then flags="$flags `uuid-config --cflags`"; fi
536 %{__make} -C contrib/$mod CFLAGS="$flags"
539 %{__make} -C src/tutorial \
542 %ifnarch sparc sparcv9 sparc64 alpha
543 %{?with_tests:%{__make} -j1 check}
547 rm -rf $RPM_BUILD_ROOT
548 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
549 $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log,run/postgresql} \
550 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
551 $RPM_BUILD_ROOT%{_mandir}
553 install src/tutorial/*.sql $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
556 DESTDIR=$RPM_BUILD_ROOT
557 %{__make} -C doc/src/sgml install-man \
558 DESTDIR=$RPM_BUILD_ROOT
561 %{__make} install -C src/pl/plperl \
562 DESTDIR=$RPM_BUILD_ROOT
565 for mod in %{contrib_modules}; do \
566 %{__make} -C contrib/$mod install \
567 DESTDIR=$RPM_BUILD_ROOT
570 touch $RPM_BUILD_ROOT/var/log/pgsql
572 sed -e 's,@pgsqlbindir@,%{pgsqllibdir}/bin,g; s,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql-%{pgsqlversion}
573 sed -e 's,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/sysconfig/postgresql-%{pgsqlversion}
576 tar zxf %{SOURCE2} -C howto
579 %py_comp $RPM_BUILD_ROOT%{py_libdir}
580 %py_ocomp $RPM_BUILD_ROOT%{py_libdir}
584 for f in libpq5 pgscripts postgres psql initdb ecpg ecpglib6 \
585 plpgsql %{?with_perl:plperl} %{?with_python:plpython} \
586 pg_basebackup pg_config pg_controldata pg_ctl pg_dump pg_resetxlog; do
587 %find_lang $f-%{pgsqlversion}
591 cat $(for f in $@; do echo ${f}-%{pgsqlversion}.lang ; done)
593 merge_lang pgscripts postgres plpgsql \
594 pg_basebackup pg_controldata pg_resetxlog > main.lang
595 merge_lang psql initdb \
596 pg_ctl pg_dump > clients.lang
599 %find_lang pltcl-%{pgsqlversion}
603 %{__mv} $RPM_BUILD_ROOT{%{pgsqldatadir}/contrib,%{extensiondir}}/sepgsql.sql
606 cp -p src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/%{pgsqlversion}/server/
608 # package it...? nah, why bother.
609 %{__rm} -r $RPM_BUILD_ROOT%{pgsqldatadir}/doc/html
611 # remove common files provided by PostgreSQL from master branch
612 %{__rm} -r $RPM_BUILD_ROOT%{_includedir}/{ecpg*,libpq*,pg_config*,postgres_ext.h,postgresql/internal}
613 %{__rm} -r $RPM_BUILD_ROOT{%{_libdir}/{libecpg*,libpg*,libpq*,pkgconfig},%{pgsqllibdir}/bin/pg_config,%{pgsqldatadir}/man/man1/pg_config.1*}
614 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/{ecpglib*,libpq*,pg_config*}
617 rm -rf $RPM_BUILD_ROOT
621 if [ -f /etc/sysconfig/postgresql-%{pgsqlversion} ]; then
622 . /etc/sysconfig/postgresql-%{pgsqlversion}
623 if [ -z "$PG_DB_CLUSTERS" -a -n "$POSTGRES_DATA_DIR" ]; then
624 PG_DB_CLUSTERS="$POSTGRES_DATA_DIR"
628 for pgdir in $PG_DB_CLUSTERS; do
629 if [ -f $pgdir/PG_VERSION ]; then
630 if [ $(cat $pgdir/PG_VERSION) != '%{pgsqlversion}' ]; then
631 echo "Found database(s) in older, incompatible format in cluster $pgdir."
636 if [ "$foundold" = "1" ]; then
638 echo "Dump all data from clusters mentioned above (using pg_dump or pg_dumpall)"
639 echo "and clean (or rename) those directories; then upgrade postgresql and"
640 echo "restore all data (using pg_restore or psql)."
641 echo "Remember to stop the daemon before upgrading!"
643 echo "Alternatively you can use pg_upgrade for 8.3+ online upgrade with"
644 echo "some restrictions: http://www.postgresql.org/docs/10.0/static/pgupgrade.html"
650 /sbin/chkconfig --add postgresql-%{pgsqlversion}
651 %service postgresql-%{pgsqlversion} restart "postgresql-%{pgsqlversion} server"
654 if [ "$1" = "0" ]; then
655 %service postgresql-%{pgsqlversion} stop
656 /sbin/chkconfig --del postgresql-%{pgsqlversion}
660 update-alternatives \
661 --install %{_bindir}/clusterdb clusterdb %{pgsqllibdir}/bin/clusterdb %{pgsqlpriority} \
662 --slave %{_mandir}/man1/clusterdb.1 clusterdb.1 %{pgsqldatadir}/man/man1/clusterdb.1* || :
663 update-alternatives \
664 --install %{_bindir}/createdb createdb %{pgsqllibdir}/bin/createdb %{pgsqlpriority} \
665 --slave %{_mandir}/man1/createdb.1 createdb.1 %{pgsqldatadir}/man/man1/createdb.1* || :
666 update-alternatives \
667 --install %{_bindir}/createuser createuser %{pgsqllibdir}/bin/createuser %{pgsqlpriority} \
668 --slave %{_mandir}/man1/createuser.1 createuser.1 %{pgsqldatadir}/man/man1/createuser.1* || :
669 update-alternatives \
670 --install %{_bindir}/dropdb dropdb %{pgsqllibdir}/bin/dropdb %{pgsqlpriority} \
671 --slave %{_mandir}/man1/dropdb.1 dropdb.1 %{pgsqldatadir}/man/man1/dropdb.1* || :
672 update-alternatives \
673 --install %{_bindir}/dropuser dropuser %{pgsqllibdir}/bin/dropuser %{pgsqlpriority} \
674 --slave %{_mandir}/man1/dropuser.1 dropuser.1 %{pgsqldatadir}/man/man1/dropuser.1* || :
675 update-alternatives \
676 --install %{_bindir}/pg_dump pg_dump %{pgsqllibdir}/bin/pg_dump %{pgsqlpriority} \
677 --slave %{_mandir}/man1/pg_dump.1 pg_dump.1 %{pgsqldatadir}/man/man1/pg_dump.1* || :
678 update-alternatives \
679 --install %{_bindir}/pg_dumpall pg_dumpall %{pgsqllibdir}/bin/pg_dumpall %{pgsqlpriority} \
680 --slave %{_mandir}/man1/pg_dumpall.1 pg_dumpall.1 %{pgsqldatadir}/man/man1/pg_dumpall.1* || :
681 update-alternatives \
682 --install %{_bindir}/pg_isready pg_isready %{pgsqllibdir}/bin/pg_isready %{pgsqlpriority} \
683 --slave %{_mandir}/man1/pg_isready.1 pg_isready.1 %{pgsqldatadir}/man/man1/pg_isready.1* || :
684 update-alternatives \
685 --install %{_bindir}/pg_restore pg_restore %{pgsqllibdir}/bin/pg_restore %{pgsqlpriority} \
686 --slave %{_mandir}/man1/pg_restore.1 pg_restore.1 %{pgsqldatadir}/man/man1/pg_restore.1* || :
687 update-alternatives \
688 --install %{_bindir}/psql psql %{pgsqllibdir}/bin/psql %{pgsqlpriority} \
689 --slave %{_mandir}/man1/psql.1 pgsql.1 %{pgsqldatadir}/man/man1/psql.1* || :
690 update-alternatives \
691 --install %{_bindir}/reindexdb reindexdb %{pgsqllibdir}/bin/reindexdb %{pgsqlpriority} \
692 --slave %{_mandir}/man1/reindexdb.1 reindexdb.1 %{pgsqldatadir}/man/man1/reindexdb.1* || :
693 update-alternatives \
694 --install %{_bindir}/vacuumdb vacuumdb %{pgsqllibdir}/bin/vacuumdb %{pgsqlpriority} \
695 --slave %{_mandir}/man1/vacuumdb.1 vacuumdb.1 %{pgsqldatadir}/man/man1/vacuumdb.1* || :
698 if [ $1 -eq 0 ]; then
699 update-alternatives --remove clusterdb %{pgsqllibdir}/bin/clusterdb || :
700 update-alternatives --remove createdb %{pgsqllibdir}/bin/createdb || :
701 update-alternatives --remove createuser %{pgsqllibdir}/bin/createuser || :
702 update-alternatives --remove dropdb %{pgsqllibdir}/bin/dropdb || :
703 update-alternatives --remove dropuser %{pgsqllibdir}/bin/dropuser || :
704 update-alternatives --remove pg_dump %{pgsqllibdir}/bin/pg_dump || :
705 update-alternatives --remove pg_dumpall %{pgsqllibdir}/bin/pg_dumpall || :
706 update-alternatives --remove pg_isready %{pgsqllibdir}/bin/pg_isready || :
707 update-alternatives --remove pg_restore %{pgsqllibdir}/bin/pg_restore || :
708 update-alternatives --remove psql %{pgsqllibdir}/bin/psql || :
709 update-alternatives --remove reindexdb %{pgsqllibdir}/bin/reindexdb || :
710 update-alternatives --remove vacuumdb %{pgsqllibdir}/bin/vacuumdb || :
714 %defattr(644,root,root,755)
715 %doc COPYRIGHT README HISTORY doc/{bug.template,KNOWN_BUGS,MISSING_FEATURES,TODO}
716 %attr(754,root,root) /etc/rc.d/init.d/postgresql-%{pgsqlversion}
717 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql-%{pgsqlversion}
719 %attr(755,root,root) %{pgsqllibdir}/bin/initdb
720 %attr(755,root,root) %{pgsqllibdir}/bin/pg_basebackup
721 %attr(755,root,root) %{pgsqllibdir}/bin/pg_controldata
722 %attr(755,root,root) %{pgsqllibdir}/bin/pg_ctl
723 %attr(755,root,root) %{pgsqllibdir}/bin/pg_resetxlog
724 %attr(755,root,root) %{pgsqllibdir}/bin/pg_receivexlog
725 %attr(755,root,root) %{pgsqllibdir}/bin/pg_recvlogical
726 %attr(755,root,root) %{pgsqllibdir}/bin/pg_test_fsync
727 %attr(755,root,root) %{pgsqllibdir}/bin/pg_test_timing
728 %attr(755,root,root) %{pgsqllibdir}/bin/pg_upgrade
729 %attr(755,root,root) %{pgsqllibdir}/bin/pg_xlogdump
730 %attr(755,root,root) %{pgsqllibdir}/bin/pgbench
731 %attr(755,root,root) %{pgsqllibdir}/bin/postgres
732 %attr(755,root,root) %{pgsqllibdir}/bin/postmaster
734 %attr(755,root,root) %{moduledir}/ascii_and_mic.so
735 %attr(755,root,root) %{moduledir}/cyrillic_and_mic.so
736 %attr(755,root,root) %{moduledir}/dict_int.so
737 %attr(755,root,root) %{moduledir}/dict_snowball.so
738 %attr(755,root,root) %{moduledir}/dict_xsyn.so
739 %attr(755,root,root) %{moduledir}/euc*.so
740 %attr(755,root,root) %{moduledir}/latin2_and_win1250.so
741 %attr(755,root,root) %{moduledir}/latin_and_mic.so
742 %attr(755,root,root) %{moduledir}/libpqwalreceiver.so
743 %attr(755,root,root) %{moduledir}/plpgsql.so
744 %attr(755,root,root) %{moduledir}/utf8_and_*.so
747 %{extensiondir}/plpgsql--*.sql
748 %{extensiondir}/plpgsql.control
750 %{pgsqldatadir}/*.bki
751 %{pgsqldatadir}/*.sample
752 %{pgsqldatadir}/*.description
753 %{pgsqldatadir}/*.shdescription
754 %{pgsqldatadir}/*.sql
755 %{pgsqldatadir}/*.txt
756 %{pgsqldatadir}/timezonesets
757 %{pgsqldatadir}/tsearch_data
759 %dir %{pgsqldatadir}/contrib
761 %attr(640,postgres,postgres) %config(noreplace) %verify(not md5 mtime size) /var/log/pgsql
763 %{pgsqldatadir}/man/man1/initdb.1*
764 %{pgsqldatadir}/man/man1/pg_basebackup.1*
765 %{pgsqldatadir}/man/man1/pg_controldata.1*
766 %{pgsqldatadir}/man/man1/pg_ctl.1*
767 %{pgsqldatadir}/man/man1/pg_resetxlog.1*
768 %{pgsqldatadir}/man/man1/pg_receivexlog.1*
769 %{pgsqldatadir}/man/man1/pg_recvlogical.1*
770 %{pgsqldatadir}/man/man1/pg_test_fsync.1*
771 %{pgsqldatadir}/man/man1/pg_test_timing.1*
772 %{pgsqldatadir}/man/man1/pg_test_timing.1*
773 %{pgsqldatadir}/man/man1/pg_upgrade.1*
774 %{pgsqldatadir}/man/man1/pg_xlogdump.1*
775 %{pgsqldatadir}/man/man1/pgbench.1*
776 %{pgsqldatadir}/man/man1/postgres.1*
777 %{pgsqldatadir}/man/man1/postmaster.1*
780 %defattr(644,root,root,755)
782 %dir %{pgsqllibdir}/bin
783 %dir %{pgsqllibdir}/lib
785 %dir %{pgsqldatadir}/man
786 %dir %{pgsqldatadir}/man/man1
787 %dir %{pgsqldatadir}/man/man3
788 %dir %{pgsqldatadir}/man/man7
789 %attr(700,postgres,postgres) %dir /var/lib/postgresql/%{pgsqlversion}
792 %defattr(644,root,root,755)
793 %doc doc/src/sgml/html howto
794 %{_examplesdir}/%{name}-%{version}
796 %files ecpg -f ecpg-%{pgsqlversion}.lang
797 %defattr(644,root,root,755)
798 %attr(755,root,root) %{pgsqllibdir}/bin/ecpg
799 %{pgsqldatadir}/man/man1/ecpg.1*
802 %defattr(644,root,root,755)
803 %dir %{_includedir}/postgresql/%{pgsqlversion}
804 %{_includedir}/postgresql/%{pgsqlversion}/server
805 %dir %{moduledir}/pgxs
806 %attr(755,root,root) %{moduledir}/pgxs/config
807 %{moduledir}/pgxs/src
808 %{pgsqldatadir}/man/man3/SPI_*.3*
810 %files clients -f clients.lang
811 %defattr(644,root,root,755)
812 %attr(755,root,root) %{pgsqllibdir}/bin/clusterdb
813 %attr(755,root,root) %{pgsqllibdir}/bin/createdb
814 %attr(755,root,root) %{pgsqllibdir}/bin/createlang
815 %attr(755,root,root) %{pgsqllibdir}/bin/createuser
816 %attr(755,root,root) %{pgsqllibdir}/bin/dropdb
817 %attr(755,root,root) %{pgsqllibdir}/bin/droplang
818 %attr(755,root,root) %{pgsqllibdir}/bin/dropuser
819 %attr(755,root,root) %{pgsqllibdir}/bin/pg_archivecleanup
820 %attr(755,root,root) %{pgsqllibdir}/bin/pg_dump
821 %attr(755,root,root) %{pgsqllibdir}/bin/pg_dumpall
822 %attr(755,root,root) %{pgsqllibdir}/bin/pg_isready
823 %attr(755,root,root) %{pgsqllibdir}/bin/pg_restore
824 %attr(755,root,root) %{pgsqllibdir}/bin/psql
825 %attr(755,root,root) %{pgsqllibdir}/bin/reindexdb
826 %attr(755,root,root) %{pgsqllibdir}/bin/vacuumdb
828 %{pgsqldatadir}/man/man1/clusterdb.1*
829 %{pgsqldatadir}/man/man1/createdb.1*
830 %{pgsqldatadir}/man/man1/createlang.1*
831 %{pgsqldatadir}/man/man1/createuser.1*
832 %{pgsqldatadir}/man/man1/dropdb.1*
833 %{pgsqldatadir}/man/man1/droplang.1*
834 %{pgsqldatadir}/man/man1/dropuser.1*
835 %{pgsqldatadir}/man/man1/pg_archivecleanup.1*
836 %{pgsqldatadir}/man/man1/pg_dump.1*
837 %{pgsqldatadir}/man/man1/pg_dumpall.1*
838 %{pgsqldatadir}/man/man1/pg_isready.1*
839 %{pgsqldatadir}/man/man1/pg_restore.1*
840 %{pgsqldatadir}/man/man1/psql.1*
841 %{pgsqldatadir}/man/man1/reindexdb.1*
842 %{pgsqldatadir}/man/man1/vacuumdb.1*
843 %{pgsqldatadir}/man/man7/*.7*
846 %files module-plperl -f plperl-%{pgsqlversion}.lang
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{moduledir}/plperl.so
849 %{extensiondir}/plperl--*.sql
850 %{extensiondir}/plperl.control
851 %{extensiondir}/plperlu--*.sql
852 %{extensiondir}/plperlu.control
856 %files module-plpython -f plpython-%{pgsqlversion}.lang
857 %defattr(644,root,root,755)
858 %attr(755,root,root) %{moduledir}/plpython2.so
859 %{extensiondir}/plpython*--*.sql
860 %{extensiondir}/plpython*.control
864 %files module-pltcl -f pltcl-%{pgsqlversion}.lang
865 %defattr(644,root,root,755)
866 %attr(755,root,root) %{pgsqllibdir}/bin/pltcl_*
867 %attr(755,root,root) %{moduledir}/pltcl.so
868 %{pgsqldatadir}/unknown.pltcl
869 %{extensiondir}/pltcl*--*.sql
870 %{extensiondir}/pltcl*.control
874 %defattr(644,root,root,755)
875 %attr(755,root,root) %{moduledir}/dblink.so
876 %{extensiondir}/dblink--*.sql
877 %{extensiondir}/dblink.control
878 %{pgsqldatadir}/man/man3/dblink*.3*
881 %defattr(644,root,root,755)
882 %attr(755,root,root) %{moduledir}/lo.so
883 %{extensiondir}/lo--*.sql
884 %{extensiondir}/lo.control
886 %files module-pg_trgm
887 %defattr(644,root,root,755)
888 %attr(755,root,root) %{moduledir}/pg_trgm.so
889 %{extensiondir}/pg_trgm--*.sql
890 %{extensiondir}/pg_trgm.control
892 %files module-pgcrypto
893 %defattr(644,root,root,755)
894 %attr(755,root,root) %{moduledir}/pgcrypto.so
895 %{extensiondir}/pgcrypto--*.sql
896 %{extensiondir}/pgcrypto.control
899 %files module-sepgsql
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{moduledir}/sepgsql.so
902 %{extensiondir}/sepgsql.sql
905 %files module-tablefunc
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{moduledir}/tablefunc.so
908 %{extensiondir}/*tablefunc--*.sql
909 %{extensiondir}/*tablefunc.control
912 %defattr(644,root,root,755)
913 %attr(755,root,root) %{moduledir}/pgxml.so
914 %{extensiondir}/xml2--*.sql
915 %{extensiondir}/xml2.control
918 %defattr(644,root,root,755)
920 %attr(755,root,root) %{pgsqllibdir}/bin/oid2name
921 %attr(755,root,root) %{pgsqllibdir}/bin/pg_standby
922 %attr(755,root,root) %{pgsqllibdir}/bin/vacuumlo
923 %attr(755,root,root) %{moduledir}/_int.so
924 %attr(755,root,root) %{moduledir}/adminpack.so
925 %attr(755,root,root) %{moduledir}/auth_delay.so
926 %attr(755,root,root) %{moduledir}/auto_explain.so
927 %attr(755,root,root) %{moduledir}/btree_gin.so
928 %attr(755,root,root) %{moduledir}/btree_gist.so
929 %attr(755,root,root) %{moduledir}/chkpass.so
930 %attr(755,root,root) %{moduledir}/citext.so
931 %attr(755,root,root) %{moduledir}/cube.so
932 %attr(755,root,root) %{moduledir}/earthdistance.so
933 %attr(755,root,root) %{moduledir}/file_fdw.so
934 %attr(755,root,root) %{moduledir}/fuzzystrmatch.so
935 %attr(755,root,root) %{moduledir}/hstore.so
936 %attr(755,root,root) %{moduledir}/isn.so
937 %attr(755,root,root) %{moduledir}/ltree.so
938 %attr(755,root,root) %{moduledir}/pageinspect.so
939 %attr(755,root,root) %{moduledir}/passwordcheck.so
940 %attr(755,root,root) %{moduledir}/pg_buffercache.so
941 %attr(755,root,root) %{moduledir}/pg_freespacemap.so
942 %attr(755,root,root) %{moduledir}/pg_prewarm.so
943 %attr(755,root,root) %{moduledir}/pg_stat_statements.so
944 %attr(755,root,root) %{moduledir}/pgrowlocks.so
945 %attr(755,root,root) %{moduledir}/pgstattuple.so
946 %attr(755,root,root) %{moduledir}/postgres_fdw.so
947 %attr(755,root,root) %{moduledir}/seg.so
948 %attr(755,root,root) %{moduledir}/sslinfo.so
949 %attr(755,root,root) %{moduledir}/tcn.so
950 %attr(755,root,root) %{moduledir}/unaccent.so
951 %attr(755,root,root) %{moduledir}/uuid-ossp.so
952 %{extensiondir}/adminpack--*.sql
953 %{extensiondir}/adminpack.control
954 %{extensiondir}/btree_gin--*.sql
955 %{extensiondir}/btree_gin.control
956 %{extensiondir}/btree_gist--*.sql
957 %{extensiondir}/btree_gist.control
958 %{extensiondir}/chkpass--*.sql
959 %{extensiondir}/chkpass.control
960 %{extensiondir}/citext--*.sql
961 %{extensiondir}/citext.control
962 %{extensiondir}/cube--*.sql
963 %{extensiondir}/cube.control
964 %{extensiondir}/dict_int--*.sql
965 %{extensiondir}/dict_int.control
966 %{extensiondir}/dict_xsyn--*.sql
967 %{extensiondir}/dict_xsyn.control
968 %{extensiondir}/earthdistance--*.sql
969 %{extensiondir}/earthdistance.control
970 %{extensiondir}/file_fdw--*.sql
971 %{extensiondir}/file_fdw.control
972 %{extensiondir}/fuzzystrmatch--*.sql
973 %{extensiondir}/fuzzystrmatch.control
974 %{extensiondir}/hstore--*.sql
975 %{extensiondir}/hstore.control
976 %{extensiondir}/intarray--*.sql
977 %{extensiondir}/intarray.control
978 %{extensiondir}/intagg--*.sql
979 %{extensiondir}/intagg.control
980 %{extensiondir}/isn--*.sql
981 %{extensiondir}/isn.control
982 %{extensiondir}/ltree--*.sql
983 %{extensiondir}/ltree.control
984 %{extensiondir}/pageinspect--*.sql
985 %{extensiondir}/pageinspect.control
986 %{extensiondir}/pg_buffercache--*.sql
987 %{extensiondir}/pg_buffercache.control
988 %{extensiondir}/pg_freespacemap--*.sql
989 %{extensiondir}/pg_freespacemap.control
990 %{extensiondir}/pg_prewarm--*.sql
991 %{extensiondir}/pg_prewarm.control
992 %{extensiondir}/pg_stat_statements--*.sql
993 %{extensiondir}/pg_stat_statements.control
994 %{extensiondir}/pgrowlocks--*.sql
995 %{extensiondir}/pgrowlocks.control
996 %{extensiondir}/pgstattuple--*.sql
997 %{extensiondir}/pgstattuple.control
998 %{extensiondir}/postgres_fdw--*.sql
999 %{extensiondir}/postgres_fdw.control
1000 %{extensiondir}/seg--*.sql
1001 %{extensiondir}/seg.control
1002 %{extensiondir}/sslinfo--*.sql
1003 %{extensiondir}/sslinfo.control
1004 %{extensiondir}/tcn--*.sql
1005 %{extensiondir}/tcn.control
1006 %{extensiondir}/unaccent--*.sql
1007 %{extensiondir}/unaccent.control
1008 %{extensiondir}/uuid-ossp--*.sql
1009 %{extensiondir}/uuid-ossp.control
1010 %{pgsqldatadir}/man/man1/oid2name.1*
1011 %{pgsqldatadir}/man/man1/pg_standby.1*
1012 %{pgsqldatadir}/man/man1/vacuumlo.1*