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}.23
34 Group: Applications/Databases
35 Source0: http://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
36 # Source0-md5: 096f75f97934b11f7f7123a30163058d
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
178 Requires: postgresql-common >= %{version}-%{release}
181 Common directories for PostgresSQL %{pgsqlversion}
183 %description dirs -l pl.UTF-8
184 Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
186 %package backend-devel
187 Summary: PostgreSQL backend development header files
188 Summary(pl.UTF-8): PostgreSQL - pliki nagłówkowe dla backendu
189 Group: Development/Libraries
190 Requires: postgresql-devel >= %{version}-%{release}
191 Requires: postgresql-libs >= %{version}-%{release}
192 Obsoletes: postgresql-backend-devel
194 %description backend-devel
195 This package contains header files required to compile functions that
196 could be loaded directly by backend
198 %description backend-devel -l pl.UTF-8
199 Pakiet zawiera nagłówki wymagane do kompilacji funkcji ktore moga byc
200 bezposrednio ladowane przez beckend serwera PostgreSQL.
203 Summary: Clients needed to access a PostgreSQL server
204 Summary(es.UTF-8): Clientes necesarios para acceder al servidor PostgreSQL
205 Summary(pl.UTF-8): Klienci wymagani do dostępu do serwera PostgreSQL
206 Summary(pt_BR.UTF-8): Clientes necessários para acessar o servidor PostgreSQL
207 Summary(ru.UTF-8): Клиентские программы, необходимые для доступа к серверу PostgreSQL
208 Summary(uk.UTF-8): Клієнтські програми, необхідні для доступу до сервера PostgreSQL
209 Group: Applications/Databases
210 Requires: alternatives
211 Requires: %{name}-dirs = %{version}-%{release}
212 Requires: postgresql-libs >= %{version}-%{release}
213 Obsoletes: postgresql-clients
216 This package includes only the clients needed to access an PostgreSQL
217 server. The server is included in the main package. If all you need is
218 to connect to another PostgreSQL server, the this is the only package
219 you need to install. Clients include several command-line utilities
220 you can use to manage your databases on a remote PostgreSQL server.
222 %description clients -l pl.UTF-8
223 Pakiet zawiera programy klienckie potrzebne dla dostępu do serwera
224 PostgreSQL oraz narzędzia do zarządzania bazami działające z linii
225 poleceń. Serwer znajduje się w głównym pakiecie.
228 Summary: Documentation for PostgreSQL
229 Summary(pl.UTF-8): Dodatkowa dokumantacja dla PostgreSQL
230 Group: Applications/Databases
231 Obsoletes: postgresql-doc
234 This package includes documentation and HOWTO for programmer, admin
235 etc., in HTML format.
237 %description doc -l pl.UTF-8
238 Pakiet ten zawiera dokumentację oraz HOWTO m.in. dla programistów,
239 administratorów w formacie HTML.
242 Summary: Embedded SQL in C interface
243 Summary(pl.UTF-8): Interfejs wbudowanego SQL-a w język C
245 Requires: %{name}-dirs = %{version}-%{release}
246 Requires: postgresql-libs >= %{version}-%{release}
247 Requires: postgresql-ecpg-libs >= %{version}-%{release}
248 Obsoletes: postgresql-ecpg
251 Embedded SQL in C interface.
253 %description ecpg -l pl.UTF-8
254 Interfejs wbudowanego SQL-a w język C.
256 %package module-plperl
257 Summary: PL/perl - PostgreSQL procedural language
258 Summary(pl.UTF-8): PL/perl - język proceduralny bazy danych PostgreSQL
259 Group: Applications/Databases
260 Requires: %{name} = %{version}-%{release}
261 Obsoletes: postgresql-module-plperl
263 %description module-plperl
264 From PostgreSQL documentation:
266 Postgres supports the definition of procedural languages. In the case
267 of a function or trigger procedure defined in a procedural language,
268 the database has no built-in knowledge about how to interpret the
269 function's source text. Instead, the task is passed to a handler that
270 knows the details of the language. The handler itself is a special
271 programming language function compiled into a shared object and loaded
274 To enable PL/Perl procedural language for your database you have to
275 run createlang command.
277 %description module-plperl -l pl.UTF-8
278 Z dokumentacji PostgreSQL:
280 Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
281 programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
282 proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
283 funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
284 który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
285 funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
288 Za pomocą polecenia createlang można dodać obsługę języka
289 proceduralnego PL/Perl dla swojej bazy danych.
291 %package module-plpython
292 Summary: PL/Python - PostgreSQL procedural language
293 Summary(pl.UTF-8): PL/Python - język proceduralny bazy danych PostgreSQL
294 Group: Applications/Databases
295 Requires: %{name} = %{version}-%{release}
296 %pyrequires_eq python
297 Obsoletes: postgresql-module-plpython
299 %description module-plpython
300 From PostgreSQL documentation:
302 Postgres supports the definition of procedural languages. In the case
303 of a function or trigger procedure defined in a procedural language,
304 the database has no built-in knowledge about how to interpret the
305 function's source text. Instead, the task is passed to a handler that
306 knows the details of the language. The handler itself is a special
307 programming language function compiled into a shared object and loaded
310 To enable PL/Python procedural language for your database you have to
311 run createlang command.
313 %description module-plpython -l pl.UTF-8
314 Z dokumentacji PostgreSQL:
316 Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
317 programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
318 proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
319 funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
320 który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
321 funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
324 Za pomocą polecenia createlang można dodać obsługę języka
325 proceduralnego PL/Python dla swojej bazy danych.
327 %package module-pltcl
328 Summary: PL/Tcl - PostgreSQL procedural language
329 Summary(pl.UTF-8): PL/Tcl - język proceduralny bazy danych PostgreSQL
330 Group: Applications/Databases
331 Requires: %{name} = %{version}-%{release}
333 Obsoletes: postgresql-module-pltcl
335 %description module-pltcl
336 From PostgreSQL documentation:
338 Postgres supports the definition of procedural languages. In the case
339 of a function or trigger procedure defined in a procedural language,
340 the database has no built-in knowledge about how to interpret the
341 function's source text. Instead, the task is passed to a handler that
342 knows the details of the language. The handler itself is a special
343 programming language function compiled into a shared object and loaded
346 To enable PL/Tcl procedural language for your database you have to run
349 %description module-pltcl -l pl.UTF-8
350 Z dokumentacji PostgreSQL:
352 Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
353 programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
354 proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
355 funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
356 który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
357 funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
360 Za pomocą polecenia createlang można dodać obsługę języka
361 proceduralnego PL/Tcl dla swojej bazy danych.
363 %package module-dblink
364 Summary: dblink module for PostgreSQL
365 Summary(pl.UTF-8): Moduł dblink dla PostgreSQL-a
366 Group: Applications/Databases
367 Requires: %{name} = %{version}-%{release}
368 Obsoletes: postgresql-module-dblink
370 %description module-dblink
371 dblink module for PostgreSQL provides functions returning results from
374 %description module-dblink -l pl.UTF-8
375 Moduł dblink dla PostgreSQL-a udostępnia funkcje zwracające wyniki ze
379 Summary: Large Objects module for PostgreSQL
380 Summary(pl.UTF-8): Moduł Large Objects dla PostgreSQL-a
381 Group: Applications/Databases
382 Requires: %{name} = %{version}-%{release}
383 Obsoletes: postgresql-module-lo
385 %description module-lo
386 Large Objects module for PostgreSQL adds a new data type 'lo', some
387 support functions and a trigger which handles the orphaning problem.
389 %description module-lo -l pl.UTF-8
390 Moduł Large Objects dla PostgreSQL-a dodaje nowy typ danych 'lo',
391 kilka funkcji pomocniczych i wyzwalacz rozwiązujący problem
392 osieroconych obiektów.
394 %package module-pg_trgm
395 Summary: Trigram matching for PostgreSQL
396 Summary(pl.UTF-8): Dopasowanie trigramowe dla PostgreSQL-a
397 Group: Applications/Databases
398 Requires: %{name} = %{version}-%{release}
399 Obsoletes: postgresql-module-pg_trgm
401 %description module-pg_trgm
402 This module provides functions and index classes for determining the
403 similarity of text based on trigram matching.
405 %description module-pg_trgm -l pl.UTF-8
406 Ten moduł dostarcza funkcje i klasy do rozpoznawania podobnych tekstów
407 w oparciu o dopasowywanie trigramowe (trigram matching).
409 %package module-pgcrypto
410 Summary: Cryptographic functions for PostgreSQL
411 Summary(pl.UTF-8): Funkcje kryptograficzne dla PostgreSQL-a
412 Group: Applications/Databases
413 Requires: %{name} = %{version}-%{release}
414 Obsoletes: postgresql-module-pgcrypto
416 %description module-pgcrypto
417 Cryptographic functions for PostgreSQL.
419 %description module-pgcrypto -l pl.UTF-8
420 Funkcje kryptograficzne dla PostgreSQL.
422 %package module-sepgsql
423 Summary: PostgreSQL external security provider using SELinux
424 Summary(pl.UTF-8): Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa
425 Group: Applications/Databases
426 Requires: %{name} = %{version}-%{release}
427 Requires: libselinux >= 2.1.10
428 Obsoletes: postgresql-module-sepgsql
430 %description module-sepgsql
431 PostgreSQL external security provider using SELinux.
433 %description module-sepgsql -l pl.UTF-8
434 Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa.
436 %package module-tablefunc
437 Summary: crosstab functions for PostgreSQL
438 Summary(pl.UTF-8): Funkcje crosstab dla PostgreSQL-a
439 Group: Applications/Databases
440 Requires: %{name} = %{version}-%{release}
441 Obsoletes: postgresql-module-tablefunc
443 %description module-tablefunc
444 crosstab functions for PostgreSQL.
446 %description module-tablefunc -l pl.UTF-8
447 Funkcje crosstab dla PostgreSQL-a.
450 Summary: XML-handling functions for PostgreSQL
451 Summary(pl.UTF-8): Funkcje do obsługi XML-a dla PostgreSQL-a
452 Group: Applications/Databases
453 Requires: %{name} = %{version}-%{release}
454 Requires: libxml2 >= 1:2.6.23
455 Obsoletes: postgresql-module-xml2
457 %description module-xml2
458 Module with XML functions provides both XPath querying and XSLT
459 functionality. There is also a new table function which allows the
460 straightforward return of multiple XML results.
462 %description module-xml2 -l pl.UTF-8
463 Moduł z funkcjami XML zapewniającymi obsługę zapytań XPath oraz
464 funkcjonalność XSLT. Jest także nowa funkcja tabelowa pozwalająca na
465 bezpośrednie zwracanie wielu wyników XML.
468 Summary: Miscellaneous PostgreSQL contrib modules
469 Summary(pl.UTF-8): Różne moduły dołączone do PostgreSQL-a
470 Group: Applications/Databases
471 Requires: %{name} = %{version}-%{release}
472 Obsoletes: postgresql-contrib
475 Miscellaneous PostgreSQL contrib modules.
477 %description contrib -l pl.UTF-8
478 Różne moduły dołączone do PostgreSQL-a.
481 %setup -q -n postgresql-%{version}
483 %{?with_absolute_dbpaths:%patch1 -p1}
490 # force rebuild of bison/flex files
491 find src -name \*.l -o -name \*.y | xargs touch
494 #find contrib -type d -name CVS -exec rm -rf {} \;
497 %{__aclocal} -I config
501 CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
502 --prefix=%{pgsqldatadir} \
503 --bindir=%{pgsqllibdir}/bin \
504 --sbindir=%{pgsqllibdir}/sbin \
505 --includedir=%{_includedir} \
506 --mandir=%{pgsqldatadir}/man \
507 --datadir=%{pgsqldatadir} \
508 --libdir=%{_libdir} \
509 --docdir=%{pgsqldatadir}/doc \
510 --localedir=%{_datadir}/locale \
513 %{?with_systemtap:--enable-dtrace} \
514 --enable-integer-datetimes \
516 --enable-thread-safety \
517 %{?with_bonjour:--with-bonjour} \
518 %{?with_kerberos5:--with-gssapi} \
519 %{?with_ldap:--with-ldap} \
524 %{?with_perl:--with-perl} \
525 %{?with_python:--with-python} \
526 %{?with_selinux:--with-selinux} \
527 --with-system-tzdata=%{_datadir}/zoneinfo \
528 %{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
533 for mod in %{contrib_modules}; do \
534 flags="%{rpmcflags} %{rpmcppflags} -DNEED_REENTRANT_FUNCS"
535 if [ $mod = "xml2" ]; then flags="$flags -I/usr/include/libxml2"; fi
536 if [ $mod = "uuid-ossp" ]; then flags="$flags `uuid-config --cflags`"; fi
537 %{__make} -C contrib/$mod CFLAGS="$flags"
540 %{__make} -C src/tutorial \
543 %ifnarch sparc sparcv9 sparc64 alpha
544 %{?with_tests:%{__make} -j1 check}
548 rm -rf $RPM_BUILD_ROOT
549 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
550 $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log/{archive,}/postgresql,run/postgresql} \
551 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
552 $RPM_BUILD_ROOT%{_mandir}
554 install src/tutorial/*.sql $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
557 DESTDIR=$RPM_BUILD_ROOT
558 %{__make} -C doc/src/sgml install-man \
559 DESTDIR=$RPM_BUILD_ROOT
562 %{__make} install -C src/pl/plperl \
563 DESTDIR=$RPM_BUILD_ROOT
566 for mod in %{contrib_modules}; do \
567 %{__make} -C contrib/$mod install \
568 DESTDIR=$RPM_BUILD_ROOT
571 sed -e 's,@pgsqlbindir@,%{pgsqllibdir}/bin,g; s,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql-%{pgsqlversion}
572 sed -e 's,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/sysconfig/postgresql-%{pgsqlversion}
575 tar zxf %{SOURCE2} -C howto
578 %py_comp $RPM_BUILD_ROOT%{py_libdir}
579 %py_ocomp $RPM_BUILD_ROOT%{py_libdir}
583 for f in libpq5 pgscripts postgres psql initdb ecpg ecpglib6 \
584 plpgsql %{?with_perl:plperl} %{?with_python:plpython} \
585 pg_basebackup pg_config pg_controldata pg_ctl pg_dump pg_resetxlog; do
586 %find_lang $f-%{pgsqlversion}
590 cat $(for f in $@; do echo ${f}-%{pgsqlversion}.lang ; done)
592 merge_lang pgscripts postgres plpgsql \
593 pg_basebackup pg_controldata pg_resetxlog > main.lang
594 merge_lang psql initdb \
595 pg_ctl pg_dump > clients.lang
598 %find_lang pltcl-%{pgsqlversion}
602 %{__mv} $RPM_BUILD_ROOT{%{pgsqldatadir}/contrib,%{extensiondir}}/sepgsql.sql
605 cp -p src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/%{pgsqlversion}/server/
607 # package it...? nah, why bother.
608 %{__rm} -r $RPM_BUILD_ROOT%{pgsqldatadir}/doc/html
610 # remove common files provided by PostgreSQL from master branch
611 %{__rm} -r $RPM_BUILD_ROOT%{_includedir}/{ecpg*,libpq*,pg_config*,postgres_ext.h,postgresql/internal}
612 %{__rm} -r $RPM_BUILD_ROOT{%{_libdir}/{libecpg*,libpg*,libpq*,pkgconfig},%{pgsqllibdir}/bin/pg_config,%{pgsqldatadir}/man/man1/pg_config.1*}
613 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/{ecpglib*,libpq*,pg_config*}
616 rm -rf $RPM_BUILD_ROOT
620 if [ -f /etc/sysconfig/postgresql-%{pgsqlversion} ]; then
621 . /etc/sysconfig/postgresql-%{pgsqlversion}
622 if [ -z "$PG_DB_CLUSTERS" -a -n "$POSTGRES_DATA_DIR" ]; then
623 PG_DB_CLUSTERS="$POSTGRES_DATA_DIR"
627 for pgdir in $PG_DB_CLUSTERS; do
628 if [ -f $pgdir/PG_VERSION ]; then
629 if [ $(cat $pgdir/PG_VERSION) != '%{pgsqlversion}' ]; then
630 echo "Found database(s) in older, incompatible format in cluster $pgdir."
635 if [ "$foundold" = "1" ]; then
637 echo "Dump all data from clusters mentioned above (using pg_dump or pg_dumpall)"
638 echo "and clean (or rename) those directories; then upgrade postgresql and"
639 echo "restore all data (using pg_restore or psql)."
640 echo "Remember to stop the daemon before upgrading!"
642 echo "Alternatively you can use pg_upgrade for 8.3+ online upgrade with"
643 echo "some restrictions: http://www.postgresql.org/docs/10.0/static/pgupgrade.html"
649 /sbin/chkconfig --add postgresql-%{pgsqlversion}
650 %service postgresql-%{pgsqlversion} restart "postgresql-%{pgsqlversion} server"
653 if [ "$1" = "0" ]; then
654 %service postgresql-%{pgsqlversion} stop
655 /sbin/chkconfig --del postgresql-%{pgsqlversion}
659 update-alternatives \
660 --install %{_bindir}/clusterdb clusterdb %{pgsqllibdir}/bin/clusterdb %{pgsqlpriority} \
661 --slave %{_mandir}/man1/clusterdb.1 clusterdb.1 %{pgsqldatadir}/man/man1/clusterdb.1* || :
662 update-alternatives \
663 --install %{_bindir}/createdb createdb %{pgsqllibdir}/bin/createdb %{pgsqlpriority} \
664 --slave %{_mandir}/man1/createdb.1 createdb.1 %{pgsqldatadir}/man/man1/createdb.1* || :
665 update-alternatives \
666 --install %{_bindir}/createuser createuser %{pgsqllibdir}/bin/createuser %{pgsqlpriority} \
667 --slave %{_mandir}/man1/createuser.1 createuser.1 %{pgsqldatadir}/man/man1/createuser.1* || :
668 update-alternatives \
669 --install %{_bindir}/dropdb dropdb %{pgsqllibdir}/bin/dropdb %{pgsqlpriority} \
670 --slave %{_mandir}/man1/dropdb.1 dropdb.1 %{pgsqldatadir}/man/man1/dropdb.1* || :
671 update-alternatives \
672 --install %{_bindir}/dropuser dropuser %{pgsqllibdir}/bin/dropuser %{pgsqlpriority} \
673 --slave %{_mandir}/man1/dropuser.1 dropuser.1 %{pgsqldatadir}/man/man1/dropuser.1* || :
674 update-alternatives \
675 --install %{_bindir}/pg_dump pg_dump %{pgsqllibdir}/bin/pg_dump %{pgsqlpriority} \
676 --slave %{_mandir}/man1/pg_dump.1 pg_dump.1 %{pgsqldatadir}/man/man1/pg_dump.1* || :
677 update-alternatives \
678 --install %{_bindir}/pg_dumpall pg_dumpall %{pgsqllibdir}/bin/pg_dumpall %{pgsqlpriority} \
679 --slave %{_mandir}/man1/pg_dumpall.1 pg_dumpall.1 %{pgsqldatadir}/man/man1/pg_dumpall.1* || :
680 update-alternatives \
681 --install %{_bindir}/pg_isready pg_isready %{pgsqllibdir}/bin/pg_isready %{pgsqlpriority} \
682 --slave %{_mandir}/man1/pg_isready.1 pg_isready.1 %{pgsqldatadir}/man/man1/pg_isready.1* || :
683 update-alternatives \
684 --install %{_bindir}/pg_restore pg_restore %{pgsqllibdir}/bin/pg_restore %{pgsqlpriority} \
685 --slave %{_mandir}/man1/pg_restore.1 pg_restore.1 %{pgsqldatadir}/man/man1/pg_restore.1* || :
686 update-alternatives \
687 --install %{_bindir}/psql psql %{pgsqllibdir}/bin/psql %{pgsqlpriority} \
688 --slave %{_mandir}/man1/psql.1 pgsql.1 %{pgsqldatadir}/man/man1/psql.1* || :
689 update-alternatives \
690 --install %{_bindir}/reindexdb reindexdb %{pgsqllibdir}/bin/reindexdb %{pgsqlpriority} \
691 --slave %{_mandir}/man1/reindexdb.1 reindexdb.1 %{pgsqldatadir}/man/man1/reindexdb.1* || :
692 update-alternatives \
693 --install %{_bindir}/vacuumdb vacuumdb %{pgsqllibdir}/bin/vacuumdb %{pgsqlpriority} \
694 --slave %{_mandir}/man1/vacuumdb.1 vacuumdb.1 %{pgsqldatadir}/man/man1/vacuumdb.1* || :
697 if [ $1 -eq 0 ]; then
698 update-alternatives --remove clusterdb %{pgsqllibdir}/bin/clusterdb || :
699 update-alternatives --remove createdb %{pgsqllibdir}/bin/createdb || :
700 update-alternatives --remove createuser %{pgsqllibdir}/bin/createuser || :
701 update-alternatives --remove dropdb %{pgsqllibdir}/bin/dropdb || :
702 update-alternatives --remove dropuser %{pgsqllibdir}/bin/dropuser || :
703 update-alternatives --remove pg_dump %{pgsqllibdir}/bin/pg_dump || :
704 update-alternatives --remove pg_dumpall %{pgsqllibdir}/bin/pg_dumpall || :
705 update-alternatives --remove pg_isready %{pgsqllibdir}/bin/pg_isready || :
706 update-alternatives --remove pg_restore %{pgsqllibdir}/bin/pg_restore || :
707 update-alternatives --remove psql %{pgsqllibdir}/bin/psql || :
708 update-alternatives --remove reindexdb %{pgsqllibdir}/bin/reindexdb || :
709 update-alternatives --remove vacuumdb %{pgsqllibdir}/bin/vacuumdb || :
713 %defattr(644,root,root,755)
714 %doc COPYRIGHT README HISTORY doc/{bug.template,KNOWN_BUGS,MISSING_FEATURES,TODO}
715 %attr(754,root,root) /etc/rc.d/init.d/postgresql-%{pgsqlversion}
716 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql-%{pgsqlversion}
718 %attr(755,root,root) %{pgsqllibdir}/bin/initdb
719 %attr(755,root,root) %{pgsqllibdir}/bin/pg_basebackup
720 %attr(755,root,root) %{pgsqllibdir}/bin/pg_controldata
721 %attr(755,root,root) %{pgsqllibdir}/bin/pg_ctl
722 %attr(755,root,root) %{pgsqllibdir}/bin/pg_resetxlog
723 %attr(755,root,root) %{pgsqllibdir}/bin/pg_receivexlog
724 %attr(755,root,root) %{pgsqllibdir}/bin/pg_recvlogical
725 %attr(755,root,root) %{pgsqllibdir}/bin/pg_test_fsync
726 %attr(755,root,root) %{pgsqllibdir}/bin/pg_test_timing
727 %attr(755,root,root) %{pgsqllibdir}/bin/pg_upgrade
728 %attr(755,root,root) %{pgsqllibdir}/bin/pg_xlogdump
729 %attr(755,root,root) %{pgsqllibdir}/bin/pgbench
730 %attr(755,root,root) %{pgsqllibdir}/bin/postgres
731 %attr(755,root,root) %{pgsqllibdir}/bin/postmaster
733 %attr(755,root,root) %{moduledir}/ascii_and_mic.so
734 %attr(755,root,root) %{moduledir}/cyrillic_and_mic.so
735 %attr(755,root,root) %{moduledir}/dict_int.so
736 %attr(755,root,root) %{moduledir}/dict_snowball.so
737 %attr(755,root,root) %{moduledir}/dict_xsyn.so
738 %attr(755,root,root) %{moduledir}/euc*.so
739 %attr(755,root,root) %{moduledir}/latin2_and_win1250.so
740 %attr(755,root,root) %{moduledir}/latin_and_mic.so
741 %attr(755,root,root) %{moduledir}/libpqwalreceiver.so
742 %attr(755,root,root) %{moduledir}/plpgsql.so
743 %attr(755,root,root) %{moduledir}/utf8_and_*.so
746 %{extensiondir}/plpgsql--*.sql
747 %{extensiondir}/plpgsql.control
749 %{pgsqldatadir}/*.bki
750 %{pgsqldatadir}/*.sample
751 %{pgsqldatadir}/*.description
752 %{pgsqldatadir}/*.shdescription
753 %{pgsqldatadir}/*.sql
754 %{pgsqldatadir}/*.txt
755 %{pgsqldatadir}/timezonesets
756 %{pgsqldatadir}/tsearch_data
758 %dir %{pgsqldatadir}/contrib
760 %{pgsqldatadir}/man/man1/initdb.1*
761 %{pgsqldatadir}/man/man1/pg_basebackup.1*
762 %{pgsqldatadir}/man/man1/pg_controldata.1*
763 %{pgsqldatadir}/man/man1/pg_ctl.1*
764 %{pgsqldatadir}/man/man1/pg_resetxlog.1*
765 %{pgsqldatadir}/man/man1/pg_receivexlog.1*
766 %{pgsqldatadir}/man/man1/pg_recvlogical.1*
767 %{pgsqldatadir}/man/man1/pg_test_fsync.1*
768 %{pgsqldatadir}/man/man1/pg_test_timing.1*
769 %{pgsqldatadir}/man/man1/pg_test_timing.1*
770 %{pgsqldatadir}/man/man1/pg_upgrade.1*
771 %{pgsqldatadir}/man/man1/pg_xlogdump.1*
772 %{pgsqldatadir}/man/man1/pgbench.1*
773 %{pgsqldatadir}/man/man1/postgres.1*
774 %{pgsqldatadir}/man/man1/postmaster.1*
777 %defattr(644,root,root,755)
779 %dir %{pgsqllibdir}/bin
780 %dir %{pgsqllibdir}/lib
782 %dir %{pgsqldatadir}/man
783 %dir %{pgsqldatadir}/man/man1
784 %dir %{pgsqldatadir}/man/man3
785 %dir %{pgsqldatadir}/man/man7
786 %attr(700,postgres,postgres) %dir /var/lib/postgresql/%{pgsqlversion}
789 %defattr(644,root,root,755)
790 %doc doc/src/sgml/html howto
791 %{_examplesdir}/%{name}-%{version}
793 %files ecpg -f ecpg-%{pgsqlversion}.lang
794 %defattr(644,root,root,755)
795 %attr(755,root,root) %{pgsqllibdir}/bin/ecpg
796 %{pgsqldatadir}/man/man1/ecpg.1*
799 %defattr(644,root,root,755)
800 %dir %{_includedir}/postgresql/%{pgsqlversion}
801 %{_includedir}/postgresql/%{pgsqlversion}/server
802 %dir %{moduledir}/pgxs
803 %attr(755,root,root) %{moduledir}/pgxs/config
804 %{moduledir}/pgxs/src
805 %{pgsqldatadir}/man/man3/SPI_*.3*
807 %files clients -f clients.lang
808 %defattr(644,root,root,755)
809 %attr(755,root,root) %{pgsqllibdir}/bin/clusterdb
810 %attr(755,root,root) %{pgsqllibdir}/bin/createdb
811 %attr(755,root,root) %{pgsqllibdir}/bin/createlang
812 %attr(755,root,root) %{pgsqllibdir}/bin/createuser
813 %attr(755,root,root) %{pgsqllibdir}/bin/dropdb
814 %attr(755,root,root) %{pgsqllibdir}/bin/droplang
815 %attr(755,root,root) %{pgsqllibdir}/bin/dropuser
816 %attr(755,root,root) %{pgsqllibdir}/bin/pg_archivecleanup
817 %attr(755,root,root) %{pgsqllibdir}/bin/pg_dump
818 %attr(755,root,root) %{pgsqllibdir}/bin/pg_dumpall
819 %attr(755,root,root) %{pgsqllibdir}/bin/pg_isready
820 %attr(755,root,root) %{pgsqllibdir}/bin/pg_restore
821 %attr(755,root,root) %{pgsqllibdir}/bin/psql
822 %attr(755,root,root) %{pgsqllibdir}/bin/reindexdb
823 %attr(755,root,root) %{pgsqllibdir}/bin/vacuumdb
825 %{pgsqldatadir}/man/man1/clusterdb.1*
826 %{pgsqldatadir}/man/man1/createdb.1*
827 %{pgsqldatadir}/man/man1/createlang.1*
828 %{pgsqldatadir}/man/man1/createuser.1*
829 %{pgsqldatadir}/man/man1/dropdb.1*
830 %{pgsqldatadir}/man/man1/droplang.1*
831 %{pgsqldatadir}/man/man1/dropuser.1*
832 %{pgsqldatadir}/man/man1/pg_archivecleanup.1*
833 %{pgsqldatadir}/man/man1/pg_dump.1*
834 %{pgsqldatadir}/man/man1/pg_dumpall.1*
835 %{pgsqldatadir}/man/man1/pg_isready.1*
836 %{pgsqldatadir}/man/man1/pg_restore.1*
837 %{pgsqldatadir}/man/man1/psql.1*
838 %{pgsqldatadir}/man/man1/reindexdb.1*
839 %{pgsqldatadir}/man/man1/vacuumdb.1*
840 %{pgsqldatadir}/man/man7/*.7*
843 %files module-plperl -f plperl-%{pgsqlversion}.lang
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{moduledir}/plperl.so
846 %{extensiondir}/plperl--*.sql
847 %{extensiondir}/plperl.control
848 %{extensiondir}/plperlu--*.sql
849 %{extensiondir}/plperlu.control
853 %files module-plpython -f plpython-%{pgsqlversion}.lang
854 %defattr(644,root,root,755)
855 %attr(755,root,root) %{moduledir}/plpython2.so
856 %{extensiondir}/plpython*--*.sql
857 %{extensiondir}/plpython*.control
861 %files module-pltcl -f pltcl-%{pgsqlversion}.lang
862 %defattr(644,root,root,755)
863 %attr(755,root,root) %{pgsqllibdir}/bin/pltcl_*
864 %attr(755,root,root) %{moduledir}/pltcl.so
865 %{pgsqldatadir}/unknown.pltcl
866 %{extensiondir}/pltcl*--*.sql
867 %{extensiondir}/pltcl*.control
871 %defattr(644,root,root,755)
872 %attr(755,root,root) %{moduledir}/dblink.so
873 %{extensiondir}/dblink--*.sql
874 %{extensiondir}/dblink.control
875 %{pgsqldatadir}/man/man3/dblink*.3*
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{moduledir}/lo.so
880 %{extensiondir}/lo--*.sql
881 %{extensiondir}/lo.control
883 %files module-pg_trgm
884 %defattr(644,root,root,755)
885 %attr(755,root,root) %{moduledir}/pg_trgm.so
886 %{extensiondir}/pg_trgm--*.sql
887 %{extensiondir}/pg_trgm.control
889 %files module-pgcrypto
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{moduledir}/pgcrypto.so
892 %{extensiondir}/pgcrypto--*.sql
893 %{extensiondir}/pgcrypto.control
896 %files module-sepgsql
897 %defattr(644,root,root,755)
898 %attr(755,root,root) %{moduledir}/sepgsql.so
899 %{extensiondir}/sepgsql.sql
902 %files module-tablefunc
903 %defattr(644,root,root,755)
904 %attr(755,root,root) %{moduledir}/tablefunc.so
905 %{extensiondir}/*tablefunc--*.sql
906 %{extensiondir}/*tablefunc.control
909 %defattr(644,root,root,755)
910 %attr(755,root,root) %{moduledir}/pgxml.so
911 %{extensiondir}/xml2--*.sql
912 %{extensiondir}/xml2.control
915 %defattr(644,root,root,755)
917 %attr(755,root,root) %{pgsqllibdir}/bin/oid2name
918 %attr(755,root,root) %{pgsqllibdir}/bin/pg_standby
919 %attr(755,root,root) %{pgsqllibdir}/bin/vacuumlo
920 %attr(755,root,root) %{moduledir}/_int.so
921 %attr(755,root,root) %{moduledir}/adminpack.so
922 %attr(755,root,root) %{moduledir}/auth_delay.so
923 %attr(755,root,root) %{moduledir}/auto_explain.so
924 %attr(755,root,root) %{moduledir}/btree_gin.so
925 %attr(755,root,root) %{moduledir}/btree_gist.so
926 %attr(755,root,root) %{moduledir}/chkpass.so
927 %attr(755,root,root) %{moduledir}/citext.so
928 %attr(755,root,root) %{moduledir}/cube.so
929 %attr(755,root,root) %{moduledir}/earthdistance.so
930 %attr(755,root,root) %{moduledir}/file_fdw.so
931 %attr(755,root,root) %{moduledir}/fuzzystrmatch.so
932 %attr(755,root,root) %{moduledir}/hstore.so
933 %attr(755,root,root) %{moduledir}/isn.so
934 %attr(755,root,root) %{moduledir}/ltree.so
935 %attr(755,root,root) %{moduledir}/pageinspect.so
936 %attr(755,root,root) %{moduledir}/passwordcheck.so
937 %attr(755,root,root) %{moduledir}/pg_buffercache.so
938 %attr(755,root,root) %{moduledir}/pg_freespacemap.so
939 %attr(755,root,root) %{moduledir}/pg_prewarm.so
940 %attr(755,root,root) %{moduledir}/pg_stat_statements.so
941 %attr(755,root,root) %{moduledir}/pgrowlocks.so
942 %attr(755,root,root) %{moduledir}/pgstattuple.so
943 %attr(755,root,root) %{moduledir}/postgres_fdw.so
944 %attr(755,root,root) %{moduledir}/seg.so
945 %attr(755,root,root) %{moduledir}/sslinfo.so
946 %attr(755,root,root) %{moduledir}/tcn.so
947 %attr(755,root,root) %{moduledir}/unaccent.so
948 %attr(755,root,root) %{moduledir}/uuid-ossp.so
949 %{extensiondir}/adminpack--*.sql
950 %{extensiondir}/adminpack.control
951 %{extensiondir}/btree_gin--*.sql
952 %{extensiondir}/btree_gin.control
953 %{extensiondir}/btree_gist--*.sql
954 %{extensiondir}/btree_gist.control
955 %{extensiondir}/chkpass--*.sql
956 %{extensiondir}/chkpass.control
957 %{extensiondir}/citext--*.sql
958 %{extensiondir}/citext.control
959 %{extensiondir}/cube--*.sql
960 %{extensiondir}/cube.control
961 %{extensiondir}/dict_int--*.sql
962 %{extensiondir}/dict_int.control
963 %{extensiondir}/dict_xsyn--*.sql
964 %{extensiondir}/dict_xsyn.control
965 %{extensiondir}/earthdistance--*.sql
966 %{extensiondir}/earthdistance.control
967 %{extensiondir}/file_fdw--*.sql
968 %{extensiondir}/file_fdw.control
969 %{extensiondir}/fuzzystrmatch--*.sql
970 %{extensiondir}/fuzzystrmatch.control
971 %{extensiondir}/hstore--*.sql
972 %{extensiondir}/hstore.control
973 %{extensiondir}/intarray--*.sql
974 %{extensiondir}/intarray.control
975 %{extensiondir}/intagg--*.sql
976 %{extensiondir}/intagg.control
977 %{extensiondir}/isn--*.sql
978 %{extensiondir}/isn.control
979 %{extensiondir}/ltree--*.sql
980 %{extensiondir}/ltree.control
981 %{extensiondir}/pageinspect--*.sql
982 %{extensiondir}/pageinspect.control
983 %{extensiondir}/pg_buffercache--*.sql
984 %{extensiondir}/pg_buffercache.control
985 %{extensiondir}/pg_freespacemap--*.sql
986 %{extensiondir}/pg_freespacemap.control
987 %{extensiondir}/pg_prewarm--*.sql
988 %{extensiondir}/pg_prewarm.control
989 %{extensiondir}/pg_stat_statements--*.sql
990 %{extensiondir}/pg_stat_statements.control
991 %{extensiondir}/pgrowlocks--*.sql
992 %{extensiondir}/pgrowlocks.control
993 %{extensiondir}/pgstattuple--*.sql
994 %{extensiondir}/pgstattuple.control
995 %{extensiondir}/postgres_fdw--*.sql
996 %{extensiondir}/postgres_fdw.control
997 %{extensiondir}/seg--*.sql
998 %{extensiondir}/seg.control
999 %{extensiondir}/sslinfo--*.sql
1000 %{extensiondir}/sslinfo.control
1001 %{extensiondir}/tcn--*.sql
1002 %{extensiondir}/tcn.control
1003 %{extensiondir}/unaccent--*.sql
1004 %{extensiondir}/unaccent.control
1005 %{extensiondir}/uuid-ossp--*.sql
1006 %{extensiondir}/uuid-ossp.control
1007 %{pgsqldatadir}/man/man1/oid2name.1*
1008 %{pgsqldatadir}/man/man1/pg_standby.1*
1009 %{pgsqldatadir}/man/man1/vacuumlo.1*