1 |
cjw |
798277 |
%define Werror_cflags %{nil} |
2 |
|
|
%define _disable_ld_no_undefined 1 |
3 |
|
|
|
4 |
|
|
%define perl_version %(rpm -q --qf "%{VERSION}" perl) |
5 |
|
|
%define perl_epoch %(rpm -q --qf "%{EPOCH}" perl) |
6 |
|
|
|
7 |
|
|
%define pgdata /var/lib/pgsql |
8 |
|
|
%define logrotatedir %{_sysconfdir}/logrotate.d |
9 |
|
|
|
10 |
|
|
%define major 5 |
11 |
|
|
%define major_ecpg 6 |
12 |
|
|
|
13 |
|
|
%define bname postgresql |
14 |
|
|
%define current_major_version 9.4 |
15 |
|
|
# upstream minor version, comment out for releases without minor version |
16 |
oden |
813905 |
%define current_minor_version 1 |
17 |
cjw |
798277 |
# upstream prerelease name, comment out for final releases |
18 |
cjw |
804250 |
#define beta rc1 |
19 |
cjw |
798277 |
|
20 |
akien |
818274 |
%define rel 3 |
21 |
cjw |
798277 |
|
22 |
|
|
|
23 |
cjw |
809309 |
%define libname %mklibname pq %{major} |
24 |
cjw |
798277 |
%define libecpg %mklibname ecpg%{current_major_version} _%{major_ecpg} |
25 |
|
|
|
26 |
|
|
%define withuuid 1 |
27 |
|
|
|
28 |
|
|
Summary: PostgreSQL client programs and libraries |
29 |
|
|
Name: %{bname}%{current_major_version} |
30 |
|
|
Version: %{current_major_version}%{?current_minor_version:.}%{?current_minor_version} |
31 |
|
|
Release: %mkrel %{rel} |
32 |
|
|
License: BSD |
33 |
|
|
Group: Databases |
34 |
|
|
URL: http://www.postgresql.org/ |
35 |
|
|
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}%{?beta}.tar.bz2 |
36 |
|
|
Source5: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}%{?beta}.tar.bz2.md5 |
37 |
|
|
Source10: postgres.profile |
38 |
|
|
Source11: postgresql.service |
39 |
|
|
Source13: postgresql.distro.releasenote |
40 |
|
|
Source14: postgresql_initdb.sh |
41 |
|
|
Source15: postgresql.tmpfiles.d |
42 |
|
|
|
43 |
|
|
Requires: perl |
44 |
|
|
Provides: postgresql-clients = %{version}-%{release} |
45 |
|
|
Conflicts: postgresql-clients < %{version}-%{release} |
46 |
|
|
BuildRequires: bison |
47 |
|
|
BuildRequires: flex |
48 |
|
|
BuildRequires: openssl-devel |
49 |
|
|
BuildRequires: pam-devel |
50 |
|
|
BuildRequires: perl-devel |
51 |
|
|
BuildRequires: python-devel |
52 |
|
|
BuildRequires: readline-devel |
53 |
|
|
BuildRequires: tcl-devel |
54 |
|
|
BuildRequires: libxml2-devel |
55 |
|
|
BuildRequires: libxslt-devel |
56 |
|
|
BuildRequires: zlib-devel |
57 |
|
|
%if %withuuid |
58 |
|
|
BuildRequires: ossp_uuid-devel |
59 |
|
|
%endif |
60 |
|
|
# Need to build doc |
61 |
|
|
BuildRequires: docbook-dtd42-sgml |
62 |
|
|
BuildRequires: openjade |
63 |
|
|
BuildRequires: docbook-utils |
64 |
|
|
BuildRequires: docbook-style-xsl |
65 |
|
|
BuildRequires: xsltproc |
66 |
|
|
Provides: %{bname}-virtual = %{current_major_version} |
67 |
|
|
Conflicts: %{bname}-virtual < %{current_major_version} |
68 |
|
|
Provides: %{bname} = %{version}-%{release} |
69 |
|
|
Conflicts: %{bname} < %{version}-%{release} |
70 |
akien |
818274 |
Obsoletes: %{bname}9.1 < 9.1.15-2 |
71 |
|
|
Obsoletes: %{bname}9.2 < 9.2.10-2 |
72 |
cjw |
798277 |
|
73 |
|
|
%description |
74 |
|
|
PostgreSQL is an advanced Object-Relational database management system (DBMS) |
75 |
|
|
that supports almost all SQL constructs (including transactions, subselects and |
76 |
|
|
user-defined types and functions). The postgresql package includes the client |
77 |
|
|
programs and libraries that you'll need to access a PostgreSQL DBMS server. |
78 |
|
|
These PostgreSQL client programs are programs that directly manipulate the |
79 |
|
|
internal structure of PostgreSQL databases on a PostgreSQL server. These client |
80 |
|
|
programs can be located on the same machine with the PostgreSQL server, or may |
81 |
|
|
be on a remote machine which accesses a PostgreSQL server over a network |
82 |
|
|
connection. This package contains the client libraries for C and C++, as well |
83 |
|
|
as command-line utilities for managing PostgreSQL databases on a PostgreSQL |
84 |
|
|
server. |
85 |
|
|
|
86 |
|
|
If you want to manipulate a PostgreSQL database on a remote PostgreSQL server, |
87 |
|
|
you need this package. You also need to install this package if you're |
88 |
|
|
installing the postgresql-server package. |
89 |
|
|
|
90 |
|
|
%package -n %{libname} |
91 |
|
|
Summary: The shared libraries required for any PostgreSQL clients |
92 |
|
|
Group: System/Libraries |
93 |
|
|
Provides: postgresql-libs = %{version}-%{release} |
94 |
|
|
Provides: libpq = %{version}-%{release} |
95 |
|
|
Provides: %{libname}-virtual = %{current_major_version} |
96 |
|
|
Conflicts: %{libname}-virtual < %{current_major_version} |
97 |
cjw |
809309 |
# replace legacy library packages with different names |
98 |
|
|
Obsoletes: %mklibname pq 9.4 5 |
99 |
|
|
Obsoletes: %mklibname pq 9.3 5 |
100 |
|
|
Obsoletes: %mklibname pq 9.2 5 |
101 |
|
|
Obsoletes: %mklibname pq 9.1 5 |
102 |
|
|
Obsoletes: %mklibname pq 9.0 5 |
103 |
|
|
Provides: %mklibname pq 9.4 5 |
104 |
|
|
Provides: %mklibname pq 9.3 5 |
105 |
|
|
Provides: %mklibname pq 9.2 5 |
106 |
|
|
Provides: %mklibname pq 9.1 5 |
107 |
|
|
Provides: %mklibname pq 9.0 5 |
108 |
akien |
818274 |
Obsoletes: %mklibname pq 9.1 5.4 < 9.1.15-2 |
109 |
|
|
Obsoletes: %mklibname pq 9.2 5.5 < 9.2.10-2 |
110 |
cjw |
798277 |
|
111 |
|
|
%description -n %{libname} |
112 |
|
|
C and C++ libraries to enable user programs to communicate with the PostgreSQL |
113 |
|
|
database backend. The backend can be on another machine and accessed through |
114 |
|
|
TCP/IP. |
115 |
|
|
|
116 |
|
|
%package -n %{libecpg} |
117 |
|
|
Summary: Shared library libecpg for PostgreSQL |
118 |
|
|
Group: System/Libraries |
119 |
|
|
Requires: postgresql%{current_major_version} = %{version}-%{release} |
120 |
|
|
Provides: libecpg = %{version}-%{release} |
121 |
|
|
Provides: %{libecpg}-virtual = %{current_major_version} |
122 |
|
|
Conflicts: %{libecpg}-virtual < %{current_major_version} |
123 |
akien |
818263 |
Obsoletes: %mklibname ecpg 9.1 6 < 9.1.15-2 |
124 |
|
|
Obsoletes: %mklibname ecpg 9.2 6 < 9.2.10-2 |
125 |
cjw |
798277 |
|
126 |
|
|
%description -n %{libecpg} |
127 |
|
|
Libecpg is used by programs built with ecpg (Embedded PostgreSQL for C) Use |
128 |
|
|
postgresql-dev to develop such programs. |
129 |
|
|
|
130 |
|
|
%package server |
131 |
|
|
Summary: The programs needed to create and run a PostgreSQL server |
132 |
|
|
Group: Databases |
133 |
|
|
Provides: sqlserver |
134 |
|
|
Requires(post): %{libname} >= %{version}-%{release} |
135 |
|
|
Requires(preun): %{libname} >= %{version}-%{release} |
136 |
|
|
# add/remove services |
137 |
|
|
Requires(post): rpm-helper |
138 |
|
|
Requires(preun): rpm-helper |
139 |
|
|
# add/del user |
140 |
|
|
Requires(pre): rpm-helper |
141 |
|
|
Requires(postun): rpm-helper |
142 |
|
|
Requires(pre): postgresql%{current_major_version} >= %{version}-%{release} |
143 |
|
|
Requires(post): postgresql%{current_major_version} >= %{version}-%{release} |
144 |
|
|
Provides: %{?arch_tagged:%arch_tagged %{bname}-server-ABI}%{?!arch_tagged:%{bname}-server-ABI} = %{current_major_version} |
145 |
|
|
Provides: %{bname}-server-virtual = %{current_major_version} |
146 |
|
|
Conflicts: %{bname}-server-virtual < %{current_major_version} |
147 |
|
|
Provides: %{bname}-server = %{version}-%{release} |
148 |
akien |
818263 |
Requires: postgresql-plpgsql = %{version}-%{release} |
149 |
|
|
Obsoletes: %{bname}9.1-server < 9.1.15-2 |
150 |
|
|
Obsoletes: %{bname}9.2-server < 9.2.10-2 |
151 |
cjw |
798277 |
|
152 |
|
|
%description server |
153 |
|
|
The postgresql-server package includes the programs needed to create and run a |
154 |
|
|
PostgreSQL server, which will in turn allow you to create and maintain |
155 |
|
|
PostgreSQL databases. PostgreSQL is an advanced Object-Relational database |
156 |
|
|
management system (DBMS) that supports almost all SQL constructs (including |
157 |
|
|
transactions, subselects and user-defined types and functions). You should |
158 |
|
|
install postgresql-server if you want to create and maintain your own |
159 |
|
|
PostgreSQL databases and/or your own PostgreSQL server. You also need to |
160 |
|
|
install the postgresql and postgresql-devel packages. |
161 |
|
|
|
162 |
|
|
After installing this package, please read postgresql.%{_vendor}.releasenote. |
163 |
|
|
|
164 |
|
|
%package docs |
165 |
|
|
Summary: Extra documentation for PostgreSQL |
166 |
|
|
Group: Databases |
167 |
|
|
BuildArch: noarch |
168 |
|
|
Provides: %{bname}-docs-virtual = %{current_major_version} |
169 |
|
|
Conflicts: %{bname}-docs-virtual < %{current_major_version} |
170 |
akien |
818263 |
Obsoletes: %{bname}9.1-docs < 9.1.15-2 |
171 |
|
|
Obsoletes: %{bname}9.2-docs < 9.2.10-2 |
172 |
cjw |
798277 |
|
173 |
|
|
%description docs |
174 |
|
|
The postgresql-docs package includes the SGML source for the documentation as |
175 |
|
|
well as the documentation in other formats, and some extra documentation. |
176 |
|
|
Install this package if you want to help with the PostgreSQL documentation |
177 |
|
|
project, or if you want to generate printed documentation. |
178 |
|
|
|
179 |
|
|
%package contrib |
180 |
|
|
Summary: Contributed binaries distributed with PostgreSQL |
181 |
|
|
Group: Databases |
182 |
|
|
Requires: postgresql%{current_major_version}-server = %{version}-%{release} |
183 |
|
|
Provides: %{bname}-contrib-virtual = %{current_major_version} |
184 |
|
|
Conflicts: %{bname}-contrib-virtual < %{current_major_version} |
185 |
akien |
818263 |
Obsoletes: %{bname}9.1-contrib < 9.1.15-2 |
186 |
|
|
Obsoletes: %{bname}9.2-contrib < 9.2.10-2 |
187 |
cjw |
798277 |
|
188 |
|
|
%description contrib |
189 |
|
|
The postgresql-contrib package includes the contrib tree distributed with the |
190 |
|
|
PostgreSQL tarball. Selected contrib modules are prebuilt. |
191 |
|
|
|
192 |
|
|
%package devel |
193 |
|
|
Summary: PostgreSQL development header files and libraries |
194 |
|
|
Group: Development/Databases |
195 |
|
|
Requires: postgresql%{current_major_version} = %{version}-%{release} |
196 |
|
|
Provides: %{bname}-devel-virtual = %{current_major_version} |
197 |
|
|
Conflicts: %{bname}-devel-virtual < %{current_major_version} |
198 |
|
|
Requires: %{libname} = %{version}-%{release} |
199 |
|
|
Provides: postgresql-libs-devel = %{version}-%{release} |
200 |
|
|
Provides: pq-devel = %{version}-%{release} |
201 |
|
|
%if %_lib != lib |
202 |
|
|
Provides: libpq-devel = %{version}-%{release} |
203 |
|
|
%endif |
204 |
|
|
Provides: %{_lib}pq-devel = %{version} |
205 |
|
|
Conflicts: %{_lib}pq-devel < %{version} |
206 |
|
|
Requires: %{libecpg} = %{version}-%{release} |
207 |
|
|
Provides: libecpg-devel = %{version}-%{release} |
208 |
|
|
Provides: %{_lib}ecpg-devel = %{version}-%{release} |
209 |
|
|
Conflicts: %{_lib}ecpg-devel < %{version}-%{release} |
210 |
|
|
Provides: %{bname}-devel = %{version}-%{release} |
211 |
|
|
Conflicts: %{bname}-devel < %{version}-%{release} |
212 |
akien |
818263 |
Obsoletes: %{bname}9.1-devel < 9.1.15-2 |
213 |
|
|
Obsoletes: %{bname}9.2-devel < 9.2.10-2 |
214 |
cjw |
798277 |
|
215 |
|
|
%description devel |
216 |
|
|
The postgresql-devel package contains the header files and libraries needed to |
217 |
|
|
compile C or C++ applications which will directly interact with a PostgreSQL |
218 |
|
|
database management server and the ecpg Embedded C Postgres preprocessor. You |
219 |
|
|
need to install this package if you want to develop applications which will |
220 |
|
|
interact with a PostgreSQL server. If you're installing postgresql-server, you |
221 |
|
|
need to install this package. |
222 |
|
|
|
223 |
|
|
%package pl |
224 |
|
|
Summary: Procedurals languages for PostgreSQL |
225 |
|
|
Group: Databases |
226 |
|
|
Conflicts: libpgsql2 |
227 |
|
|
Requires: %{name}-plpython = %{version}-%{release} |
228 |
|
|
Requires: %{name}-plperl = %{version}-%{release} |
229 |
|
|
Requires: %{name}-pltcl = %{version}-%{release} |
230 |
|
|
Requires: %{name}-plpgsql = %{version}-%{release} |
231 |
|
|
Provides: %{bname}-pl-virtual = %{current_major_version} |
232 |
|
|
Conflicts: %{bname}-pl-virtual < %{current_major_version} |
233 |
|
|
Conflicts: %{bname}-pl < %{version}-%{release} |
234 |
|
|
Provides: %{bname}-pl = %{version}-%{release} |
235 |
akien |
818263 |
Obsoletes: %{bname}9.1-pl < 9.1.15-2 |
236 |
|
|
Obsoletes: %{bname}9.2-pl < 9.2.10-2 |
237 |
cjw |
798277 |
|
238 |
|
|
%description pl |
239 |
|
|
PostgreSQL is an advanced Object-Relational database management system. The |
240 |
|
|
postgresql-pl will install the the PL/Perl, PL/Tcl, and PL/Python procedural |
241 |
|
|
languages for the backend. PL/Pgsql is part of the core server package. |
242 |
|
|
|
243 |
|
|
%package plpython |
244 |
|
|
Summary: The PL/Python procedural language for PostgreSQL |
245 |
|
|
Group: Databases |
246 |
|
|
Requires: postgresql%{current_major_version}-server = %{version} |
247 |
|
|
Conflicts: postgresql-pl < %version-%release |
248 |
|
|
Requires: %{?arch_tagged:%arch_tagged %{bname}-server-ABI}%{?!arch_tagged:%{bname}-server-ABI} = %{current_major_version} |
249 |
|
|
Provides: %{bname}-plpython-virtual = %{current_major_version} |
250 |
|
|
Conflicts: %{bname}-plpython-virtual < %{current_major_version} |
251 |
|
|
Conflicts: %{bname}-plpython < %{version}-%{release} |
252 |
|
|
Provides: %{bname}-plpython = %{version}-%{release} |
253 |
akien |
818263 |
Obsoletes: %{bname}9.1-plpython < 9.1.15-2 |
254 |
|
|
Obsoletes: %{bname}9.2-plpython < 9.2.10-2 |
255 |
cjw |
798277 |
|
256 |
|
|
%description plpython |
257 |
|
|
PostgreSQL is an advanced Object-Relational database management system. The |
258 |
|
|
postgresql-plpython package contains the the PL/Python procedural languages for |
259 |
|
|
the backend. PL/Python is part of the core server package. |
260 |
|
|
|
261 |
|
|
%package plperl |
262 |
|
|
Summary: The PL/Perl procedural language for PostgreSQL |
263 |
|
|
Group: Databases |
264 |
|
|
Requires: postgresql%{current_major_version}-server = %{version} |
265 |
|
|
Requires: perl-base = %{perl_epoch}:%{perl_version} |
266 |
|
|
Conflicts: postgresql-pl < %version-%release |
267 |
|
|
Requires: %{?arch_tagged:%arch_tagged %{bname}-server-ABI}%{?!arch_tagged:%{bname}-server-ABI} = %{current_major_version} |
268 |
|
|
Provides: %{bname}-plperl-virtual = %{current_major_version} |
269 |
|
|
Conflicts: %{bname}-plperl-virtual < %{current_major_version} |
270 |
|
|
Conflicts: %{bname}-plperl < %{version}-%{release} |
271 |
|
|
Provides: %{bname}-plperl = %{version}-%{release} |
272 |
akien |
818263 |
Obsoletes: %{bname}9.1-plperl < 9.1.15-2 |
273 |
|
|
Obsoletes: %{bname}9.2-plperl < 9.2.10-2 |
274 |
cjw |
798277 |
|
275 |
|
|
%description plperl |
276 |
|
|
PostgreSQL is an advanced Object-Relational database management system. The |
277 |
|
|
postgresql-plperl package contains the the PL/Perl procedural languages for the |
278 |
|
|
backend. PL/Perl is part of the core server package. |
279 |
|
|
|
280 |
|
|
%package pltcl |
281 |
|
|
Summary: The PL/Tcl procedural language for PostgreSQL |
282 |
|
|
Group: Databases |
283 |
|
|
Requires: postgresql%{current_major_version}-server = %{version} |
284 |
|
|
Conflicts: postgresql-pl < %version-%release |
285 |
|
|
Requires: %{?arch_tagged:%arch_tagged %{bname}-server-ABI}%{?!arch_tagged:%{bname}-server-ABI} = %{current_major_version} |
286 |
|
|
Provides: %{bname}-pltcl-virtual = %{current_major_version} |
287 |
|
|
Conflicts: %{bname}-pltcl-virtual < %{current_major_version} |
288 |
|
|
Conflicts: %{bname}-pltcl < %{version}-%{release} |
289 |
|
|
Provides: %{bname}-pltcl = %{version}-%{release} |
290 |
akien |
818263 |
Obsoletes: %{bname}9.1-pltcl < 9.1.15-2 |
291 |
|
|
Obsoletes: %{bname}9.2-pltcl < 9.2.10-2 |
292 |
cjw |
798277 |
|
293 |
|
|
%description pltcl |
294 |
|
|
PostgreSQL is an advanced Object-Relational database management system. The |
295 |
|
|
postgresql-pltcl package contains the the PL/Tcl procedural languages for the |
296 |
|
|
backend. PL/Tcl is part of the core server package. |
297 |
|
|
|
298 |
|
|
%package plpgsql |
299 |
|
|
Summary: The PL/PgSQL procedural language for PostgreSQL |
300 |
|
|
Group: Databases |
301 |
|
|
Requires: postgresql%{current_major_version}-server = %{version} |
302 |
|
|
Conflicts: postgresql-pl < %version-%release |
303 |
|
|
Requires: %{?arch_tagged:%arch_tagged %{bname}-server-ABI}%{?!arch_tagged:%{bname}-server-ABI} = %{current_major_version} |
304 |
|
|
Provides: %{bname}-plpgsql-virtual = %{current_major_version} |
305 |
|
|
Conflicts: %{bname}-plpgsql-virtual < %{current_major_version} |
306 |
|
|
Conflicts: %{bname}-plpgsql < %{version}-%{release} |
307 |
|
|
Provides: %{bname}-plpgsql = %{version}-%{release} |
308 |
akien |
818263 |
Obsoletes: %{bname}9.1-plpgsql < 9.1.15-2 |
309 |
|
|
Obsoletes: %{bname}9.2-plpgsql < 9.2.10-2 |
310 |
cjw |
798277 |
|
311 |
|
|
%description plpgsql |
312 |
|
|
PostgreSQL is an advanced Object-Relational database management system. The |
313 |
|
|
postgresql-plpgsql package contains the the PL/PgSQL procedural languages for |
314 |
|
|
the backend. PL/PgSQL is part of the core server package. |
315 |
|
|
|
316 |
|
|
%prep |
317 |
|
|
%setup -q -n %{bname}-%{version}%{?beta} |
318 |
|
|
%apply_patches |
319 |
|
|
|
320 |
|
|
%build |
321 |
|
|
|
322 |
|
|
%serverbuild |
323 |
|
|
|
324 |
cjw |
798833 |
# -fPIC is only needed for shared objects, should not be in optflags |
325 |
|
|
export CFLAGS=$(echo "$CFLAGS"|sed -e 's/-fPIC//') |
326 |
|
|
export CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-fPIC//') |
327 |
|
|
export RPM_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS"|sed -e 's/-fPIC//') |
328 |
|
|
|
329 |
cjw |
798277 |
%configure2_5x \ |
330 |
|
|
--disable-rpath \ |
331 |
|
|
--with-perl \ |
332 |
|
|
--with-python \ |
333 |
|
|
--with-tcl --with-tclconfig=%{_libdir} \ |
334 |
|
|
--with-openssl \ |
335 |
|
|
--with-pam \ |
336 |
|
|
--with-libxml \ |
337 |
|
|
--with-libxslt \ |
338 |
|
|
--libdir=%{_libdir} \ |
339 |
|
|
--mandir=%{_mandir} \ |
340 |
|
|
--prefix=%_prefix \ |
341 |
|
|
--sysconfdir=%{_sysconfdir}/pgsql \ |
342 |
|
|
--enable-nls \ |
343 |
|
|
%if %{withuuid} |
344 |
|
|
--with-ossp-uuid |
345 |
|
|
%endif |
346 |
|
|
|
347 |
|
|
# $(rpathdir) come from Makefile |
348 |
|
|
perl -pi -e 's|^all:|LINK.shared=\$(COMPILER) -shared -Wl,-rpath,\$(rpathdir),-soname,\$(soname)\nall:|' src/pl/plperl/GNUmakefile |
349 |
|
|
|
350 |
|
|
%make world |
351 |
|
|
|
352 |
|
|
pushd src/test |
353 |
|
|
make all |
354 |
|
|
popd |
355 |
|
|
|
356 |
|
|
%check |
357 |
|
|
make check |
358 |
|
|
|
359 |
|
|
%install |
360 |
|
|
make DESTDIR=%{buildroot} install-world install-docs |
361 |
|
|
|
362 |
|
|
# install odbcinst.ini |
363 |
|
|
mkdir -p %{buildroot}%{_sysconfdir}/pgsql |
364 |
|
|
|
365 |
|
|
# copy over Makefile.global to the include dir.... |
366 |
|
|
#install -m755 src/Makefile.global %{buildroot}%{_includedir}/pgsql/ |
367 |
|
|
|
368 |
|
|
# PGDATA needs removal of group and world permissions due to pg_pwd hole. |
369 |
|
|
install -d -m 700 %{buildroot}/var/lib/pgsql/data |
370 |
|
|
|
371 |
|
|
# backups of data go here... |
372 |
|
|
install -d -m 700 %{buildroot}/var/lib/pgsql/backups |
373 |
|
|
|
374 |
|
|
# Create the multiple postmaster startup directory |
375 |
|
|
install -d -m 700 %{buildroot}/etc/sysconfig/pgsql |
376 |
|
|
|
377 |
|
|
# install systemd units |
378 |
|
|
mkdir -p %{buildroot}%{_unitdir} |
379 |
|
|
install -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{bname}.service |
380 |
|
|
|
381 |
|
|
# Create the directory for sockets. |
382 |
|
|
install -d -m 755 %{buildroot}/var/run/postgresql |
383 |
|
|
|
384 |
|
|
# ... and make a tmpfiles script to recreate it at reboot. |
385 |
|
|
mkdir -p %{buildroot}%{_tmpfilesdir} |
386 |
|
|
install -m 0644 %{SOURCE15} %{buildroot}%{_tmpfilesdir}/postgresql.conf |
387 |
|
|
|
388 |
|
|
# install helper script for env initialisation |
389 |
|
|
mkdir -p %{buildroot}%{_libexecdir} |
390 |
|
|
install -m 755 %{SOURCE14} %{buildroot}%{_libexecdir}/ |
391 |
|
|
|
392 |
|
|
mkdir -p %{buildroot}/var/log/postgres |
393 |
|
|
|
394 |
|
|
mkdir -p %{buildroot}%{logrotatedir} |
395 |
|
|
cat > %{buildroot}%{logrotatedir}/%{bname} <<EOF |
396 |
|
|
/var/log/postgres/postgresql { |
397 |
|
|
notifempty |
398 |
|
|
missingok |
399 |
|
|
copytruncate |
400 |
|
|
} |
401 |
|
|
EOF |
402 |
|
|
|
403 |
|
|
mv %{buildroot}%{_docdir}/%{bname}/html %{buildroot}%{_docdir}/%{name}-docs-%{version} |
404 |
|
|
|
405 |
|
|
echo -n '' > main.lst |
406 |
|
|
for i in \ |
407 |
|
|
pg_ctl initdb pg_config psql pg_dump pgscripts libpq libecpg \ |
408 |
|
|
ecpg libpq%{major} ecpglib%{major_ecpg}; do |
409 |
|
|
%find_lang $i-%{current_major_version} |
410 |
|
|
cat $i-%{current_major_version}.lang >> main.lst |
411 |
|
|
%find_lang $i |
412 |
|
|
cat $i.lang >> main.lst |
413 |
|
|
done |
414 |
|
|
echo -n '' > server.lst |
415 |
|
|
for i in postgres pg_resetxlog pg_controldata plpgsql plpython plperl pltcl pg_basebackup; do |
416 |
|
|
%find_lang $i |
417 |
|
|
cat $i.lang >> server.lst |
418 |
|
|
%find_lang $i-%{current_major_version} |
419 |
|
|
cat $i-%{current_major_version}.lang >> server.lst |
420 |
|
|
done |
421 |
|
|
|
422 |
|
|
# pg_ctl.lang initdb.lang pg_config.lang psql.lang pg_dump.lang pgscripts.lang \ |
423 |
|
|
# postgres.lang pg_resetxlog.lang pg_controldata.lang \ |
424 |
|
|
# libpq.lang libecpg.lang \ |
425 |
|
|
|
426 |
|
|
# taken directly in build dir. |
427 |
|
|
rm -fr %{buildroot}%{_datadir}/doc/postgresql/contrib/ |
428 |
|
|
rm -fr %{buildroot}%{_datadir}/doc/postgresql/extension/ |
429 |
|
|
|
430 |
|
|
mkdir -p %{buildroot}/%{_sys_macros_dir} |
431 |
|
|
cat > %{buildroot}/%{_sys_macros_dir}/%{name}.macros <<EOF |
432 |
|
|
%%postgresql_version %{version} |
433 |
|
|
%%postgresql_major %{current_major_version} |
434 |
|
|
%%postgresql_minor %{current_minor_version} |
435 |
|
|
%%pgmodules_req Requires: %{?arch_tagged:%arch_tagged %{bname}-server-ABI}%{?!arch_tagged:%{bname}-server-ABI} = %{current_major_version} |
436 |
|
|
EOF |
437 |
|
|
|
438 |
|
|
cat %{SOURCE13} > postgresql.%{_vendor}.releasenote |
439 |
|
|
cat > README.urpmi <<EOF |
440 |
|
|
You just installed or updated %{bname} server. |
441 |
|
|
You can find important information about %{distribution} %{bname} rpms and database |
442 |
|
|
management in: |
443 |
|
|
|
444 |
|
|
%{_defaultdocdir}/%{name}-server/postgresql.%{_vendor}.releasenote |
445 |
|
|
|
446 |
|
|
Please read it. |
447 |
|
|
EOF |
448 |
|
|
|
449 |
|
|
# postgres' .profile and .bashrc |
450 |
|
|
install -D -m 700 %{SOURCE10} %{buildroot}/var/lib/pgsql/.profile |
451 |
|
|
( |
452 |
|
|
cd %{buildroot}/var/lib/pgsql/ |
453 |
|
|
ln -s .profile .bashrc |
454 |
|
|
) |
455 |
|
|
|
456 |
|
|
cat > %{buildroot}%{_sysconfdir}/sysconfig/postgresql <<EOF |
457 |
|
|
# Olivier Thauvin <nanardon@mandriva.org> |
458 |
|
|
|
459 |
|
|
# The database location: |
460 |
|
|
# You probably won't change this |
461 |
|
|
# PGDATA=/var/lib/pgsql/data |
462 |
|
|
|
463 |
|
|
# What is the based locales for postgresql |
464 |
|
|
# Setting locales to C allow to use any encoding |
465 |
|
|
# ISO or UTF, any other choice will restrict you |
466 |
|
|
# either ISO or UTF. |
467 |
|
|
LC_ALL=C |
468 |
|
|
|
469 |
|
|
# These are additional to pass to pg_ctl when starting/restarting postgresql. |
470 |
|
|
# PGOPTIONS= |
471 |
|
|
EOF |
472 |
|
|
|
473 |
|
|
%pre server |
474 |
|
|
%_pre_useradd postgres /var/lib/pgsql /bin/bash |
475 |
|
|
|
476 |
|
|
[ ! -f %{pgdata}/data/PG_VERSION ] && exit 0 |
477 |
|
|
mypgversion=`cat %{pgdata}/data/PG_VERSION` |
478 |
|
|
[ $mypgversion = %{current_major_version} ] && exit 0 |
479 |
|
|
|
480 |
|
|
echo "" |
481 |
|
|
echo "You currently have database tree for Postgresql $mypgversion" |
482 |
|
|
echo "You must use postgresql${mypgversion}-server" |
483 |
|
|
echo "To update you Postgresql server, dump your databases" |
484 |
|
|
echo "delete /var/lib/pgsql/data/ content, upgrade the server, then" |
485 |
|
|
echo "restore your databases from your backup" |
486 |
|
|
echo "" |
487 |
|
|
|
488 |
|
|
exit 1 |
489 |
|
|
|
490 |
|
|
%post server |
491 |
|
|
%_post_service %{bname} |
492 |
|
|
|
493 |
|
|
%_tmpfilescreate %{_tmpfilesdir}/%{bname} |
494 |
|
|
|
495 |
|
|
%preun server |
496 |
|
|
%_preun_service %{bname} |
497 |
|
|
|
498 |
|
|
%postun server |
499 |
|
|
%_postun_userdel postgres |
500 |
|
|
|
501 |
|
|
%files -f main.lst |
502 |
|
|
%doc doc/KNOWN_BUGS doc/MISSING_FEATURES |
503 |
|
|
%doc COPYRIGHT README HISTORY doc/bug.template |
504 |
|
|
%{_bindir}/clusterdb |
505 |
|
|
%{_bindir}/createdb |
506 |
|
|
%{_bindir}/createlang |
507 |
|
|
%{_bindir}/createuser |
508 |
|
|
%{_bindir}/dropdb |
509 |
|
|
%{_bindir}/droplang |
510 |
|
|
%{_bindir}/dropuser |
511 |
|
|
%{_bindir}/pg_dump |
512 |
|
|
%{_bindir}/pg_dumpall |
513 |
|
|
%{_bindir}/pg_isready |
514 |
|
|
%{_bindir}/pg_restore |
515 |
|
|
%{_bindir}/psql |
516 |
|
|
%{_bindir}/reindexdb |
517 |
|
|
%{_bindir}/vacuumdb |
518 |
|
|
%{_mandir}/man1/clusterdb.* |
519 |
|
|
%{_mandir}/man1/createdb.* |
520 |
|
|
%{_mandir}/man1/createlang.* |
521 |
|
|
%{_mandir}/man1/createuser.* |
522 |
|
|
%{_mandir}/man1/dropdb.* |
523 |
|
|
%{_mandir}/man1/droplang.* |
524 |
|
|
%{_mandir}/man1/dropuser.* |
525 |
|
|
%{_mandir}/man1/pg_dump.* |
526 |
|
|
%{_mandir}/man1/pg_dumpall.* |
527 |
|
|
%{_mandir}/man1/pg_isready.* |
528 |
|
|
%{_mandir}/man1/pg_restore.* |
529 |
|
|
%{_mandir}/man1/psql.* |
530 |
|
|
%{_mandir}/man1/vacuumdb.* |
531 |
|
|
%{_mandir}/man1/reindexdb.* |
532 |
|
|
%{_mandir}/man7/* |
533 |
|
|
%{_sys_macros_dir}/%{name}.macros |
534 |
|
|
|
535 |
|
|
%files -n %{libname} |
536 |
|
|
%{_libdir}/libpq.so.%{major}* |
537 |
|
|
|
538 |
|
|
%files -n %{libecpg} |
539 |
|
|
%{_libdir}/libecpg.so.%{major_ecpg}* |
540 |
|
|
%{_libdir}/libecpg_compat.so.* |
541 |
|
|
%{_libdir}/libpgtypes.so.* |
542 |
|
|
|
543 |
|
|
%files docs |
544 |
|
|
%doc %{_docdir}/%{name}-docs-%{version} |
545 |
|
|
|
546 |
|
|
%files contrib |
547 |
|
|
# %doc contrib/*/README.* contrib/spi/*.example |
548 |
|
|
%{_libdir}/postgresql/_int.so |
549 |
|
|
%{_libdir}/postgresql/btree_gist.so |
550 |
|
|
%{_libdir}/postgresql/chkpass.so |
551 |
|
|
%{_libdir}/postgresql/cube.so |
552 |
|
|
%{_libdir}/postgresql/dblink.so |
553 |
|
|
%{_libdir}/postgresql/earthdistance.so |
554 |
|
|
%{_libdir}/postgresql/fuzzystrmatch.so |
555 |
|
|
%{_libdir}/postgresql/insert_username.so |
556 |
|
|
%{_libdir}/postgresql/lo.so |
557 |
|
|
%{_libdir}/postgresql/ltree.so |
558 |
|
|
%{_libdir}/postgresql/moddatetime.so |
559 |
|
|
%{_libdir}/postgresql/pgcrypto.so |
560 |
|
|
%{_libdir}/postgresql/pgstattuple.so |
561 |
|
|
%{_libdir}/postgresql/refint.so |
562 |
|
|
%{_libdir}/postgresql/seg.so |
563 |
|
|
%{_libdir}/postgresql/tablefunc.so |
564 |
|
|
%{_libdir}/postgresql/timetravel.so |
565 |
|
|
%{_libdir}/postgresql/pg_trgm.so |
566 |
|
|
%{_libdir}/postgresql/autoinc.so |
567 |
|
|
%{_libdir}/postgresql/pg_buffercache.so |
568 |
|
|
%{_libdir}/postgresql/adminpack.so |
569 |
|
|
%{_libdir}/postgresql/hstore.so |
570 |
|
|
%{_libdir}/postgresql/isn.so |
571 |
|
|
%{_libdir}/postgresql/pg_freespacemap.so |
572 |
|
|
%{_libdir}/postgresql/pgrowlocks.so |
573 |
|
|
%{_libdir}/postgresql/sslinfo.so |
574 |
|
|
%{_libdir}/postgresql/pageinspect.so |
575 |
|
|
%{_libdir}/postgresql/tcn.so |
576 |
|
|
%{_libdir}/postgresql/postgres_fdw.so |
577 |
|
|
%{_libdir}/postgresql/worker_spi.so |
578 |
|
|
|
579 |
|
|
%{_bindir}/oid2name |
580 |
|
|
%{_bindir}/pgbench |
581 |
|
|
%{_bindir}/vacuumlo |
582 |
|
|
%{_bindir}/pg_test_timing |
583 |
|
|
%{_bindir}/pg_xlogdump |
584 |
|
|
%{_mandir}/man1/oid2name.1* |
585 |
|
|
%{_mandir}/man1/pgbench.1* |
586 |
|
|
%{_mandir}/man1/pg_test_timing.1* |
587 |
|
|
%{_mandir}/man1/pg_xlogdump.1* |
588 |
|
|
%{_mandir}/man1/vacuumlo.1* |
589 |
|
|
|
590 |
|
|
%files server -f server.lst |
591 |
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/postgresql |
592 |
|
|
%doc README.urpmi postgresql.%{_vendor}.releasenote |
593 |
|
|
%{_unitdir}/%{bname}.service |
594 |
|
|
%{_bindir}/initdb |
595 |
|
|
%{_bindir}/pg_archivecleanup |
596 |
|
|
%{_bindir}/pg_basebackup |
597 |
|
|
%{_bindir}/pg_controldata |
598 |
|
|
%{_bindir}/pg_ctl |
599 |
|
|
%{_bindir}/pg_receivexlog |
600 |
|
|
%{_bindir}/pg_recvlogical |
601 |
|
|
%{_bindir}/pg_resetxlog |
602 |
|
|
%{_bindir}/pg_standby |
603 |
|
|
%{_bindir}/pg_test_fsync |
604 |
|
|
%{_bindir}/pg_upgrade |
605 |
|
|
%{_bindir}/postgres |
606 |
|
|
%{_bindir}/postmaster |
607 |
|
|
%{_mandir}/man1/initdb.1* |
608 |
|
|
%{_mandir}/man1/pg_archivecleanup.1* |
609 |
|
|
%{_mandir}/man1/pg_basebackup.1* |
610 |
|
|
%{_mandir}/man1/pg_controldata.* |
611 |
|
|
%{_mandir}/man1/pg_ctl.1* |
612 |
|
|
%{_mandir}/man1/pg_receivexlog.1* |
613 |
|
|
%{_mandir}/man1/pg_recvlogical.1* |
614 |
|
|
%{_mandir}/man1/pg_resetxlog.* |
615 |
|
|
%{_mandir}/man1/pg_standby.1* |
616 |
|
|
%{_mandir}/man1/pg_test_fsync.1* |
617 |
|
|
%{_mandir}/man1/pg_upgrade.1* |
618 |
|
|
%{_mandir}/man1/postgres.1* |
619 |
|
|
%{_mandir}/man1/postmaster.1* |
620 |
|
|
%dir %{_libdir}/postgresql |
621 |
|
|
%dir %{_datadir}/postgresql |
622 |
|
|
%{_tmpfilesdir}/postgresql.conf |
623 |
|
|
%attr(755,postgres,postgres) %ghost %dir /var/run/postgresql |
624 |
|
|
%config(noreplace) /var/lib/pgsql/.bashrc |
625 |
|
|
%attr(-,postgres,postgres) /var/lib/pgsql/.profile |
626 |
|
|
%attr(700,postgres,postgres) %dir %{pgdata} |
627 |
|
|
%attr(-,postgres,postgres) %{pgdata}/data |
628 |
|
|
%attr(700,postgres,postgres) %dir %{pgdata}/backups |
629 |
|
|
%{_libdir}/postgresql/*_and_*.so |
630 |
|
|
%{_libdir}/postgresql/auth_delay.so |
631 |
|
|
%{_libdir}/postgresql/auto_explain.so |
632 |
|
|
%{_libdir}/postgresql/btree_gin.so |
633 |
|
|
%{_libdir}/postgresql/citext.so |
634 |
|
|
%{_libdir}/postgresql/dict_int.so |
635 |
|
|
%{_libdir}/postgresql/dict_snowball.so |
636 |
|
|
%{_libdir}/postgresql/dict_xsyn.so |
637 |
|
|
%{_libdir}/postgresql/dummy_seclabel.so |
638 |
|
|
%{_libdir}/postgresql/file_fdw.so |
639 |
|
|
%{_libdir}/postgresql/pg_prewarm.so |
640 |
|
|
%{_libdir}/postgresql/pg_stat_statements.so |
641 |
|
|
%{_libdir}/postgresql/pgxml.so |
642 |
|
|
%{_libdir}/postgresql/test_decoding.so |
643 |
|
|
%{_libdir}/postgresql/test_parser.so |
644 |
|
|
%{_libdir}/postgresql/test_shm_mq.so |
645 |
|
|
%{_libdir}/postgresql/tsearch2.so |
646 |
|
|
%{_libexecdir}/postgresql_initdb.sh |
647 |
|
|
%if %{withuuid} |
648 |
|
|
%{_libdir}/postgresql/uuid-ossp.so |
649 |
|
|
%endif |
650 |
|
|
%{_libdir}/postgresql/euc2004_sjis2004.so |
651 |
|
|
%{_libdir}/postgresql/libpqwalreceiver.so |
652 |
|
|
%{_libdir}/postgresql/passwordcheck.so |
653 |
|
|
%{_libdir}/postgresql/pg_upgrade_support.so |
654 |
|
|
%{_libdir}/postgresql/unaccent.so |
655 |
|
|
%{_datadir}/postgresql/postgres.bki |
656 |
|
|
%{_datadir}/postgresql/postgres.description |
657 |
|
|
%{_datadir}/postgresql/*.sample |
658 |
|
|
%{_datadir}/postgresql/timezone |
659 |
|
|
%{_datadir}/postgresql/system_views.sql |
660 |
|
|
%{_datadir}/postgresql/conversion_create.sql |
661 |
|
|
%{_datadir}/postgresql/information_schema.sql |
662 |
|
|
%{_datadir}/postgresql/snowball_create.sql |
663 |
|
|
%{_datadir}/postgresql/sql_features.txt |
664 |
|
|
%{_datadir}/postgresql/postgres.shdescription |
665 |
|
|
%dir %{_datadir}/postgresql/timezonesets |
666 |
|
|
%{_datadir}/postgresql/timezonesets/Africa.txt |
667 |
|
|
%{_datadir}/postgresql/timezonesets/America.txt |
668 |
|
|
%{_datadir}/postgresql/timezonesets/Antarctica.txt |
669 |
|
|
%{_datadir}/postgresql/timezonesets/Asia.txt |
670 |
|
|
%{_datadir}/postgresql/timezonesets/Atlantic.txt |
671 |
|
|
%{_datadir}/postgresql/timezonesets/Australia |
672 |
|
|
%{_datadir}/postgresql/timezonesets/Australia.txt |
673 |
|
|
%{_datadir}/postgresql/timezonesets/Default |
674 |
|
|
%{_datadir}/postgresql/timezonesets/Etc.txt |
675 |
|
|
%{_datadir}/postgresql/timezonesets/Europe.txt |
676 |
|
|
%{_datadir}/postgresql/timezonesets/India |
677 |
|
|
%{_datadir}/postgresql/timezonesets/Indian.txt |
678 |
|
|
%{_datadir}/postgresql/timezonesets/Pacific.txt |
679 |
|
|
%{_datadir}/postgresql/tsearch_data |
680 |
|
|
%{_datadir}/postgresql/extension |
681 |
|
|
|
682 |
|
|
%attr(700,postgres,postgres) %dir /var/log/postgres |
683 |
|
|
%{logrotatedir}/%{bname} |
684 |
|
|
|
685 |
|
|
%files devel |
686 |
|
|
# %doc doc/TODO doc/TODO.detail |
687 |
|
|
%{_includedir}/* |
688 |
|
|
%{_bindir}/ecpg |
689 |
|
|
%{_libdir}/lib*.so |
690 |
|
|
%{_libdir}/lib*.a |
691 |
|
|
%{_libdir}/pkgconfig/*.pc |
692 |
|
|
%{_libdir}/postgresql/pgxs/ |
693 |
|
|
%{_mandir}/man1/ecpg.1* |
694 |
|
|
%{_bindir}/pg_config |
695 |
|
|
%{_mandir}/man1/pg_config.1* |
696 |
|
|
%{_mandir}/man3/SPI_*.3* |
697 |
|
|
%{_mandir}/man3/dblink*.3* |
698 |
|
|
|
699 |
|
|
%files pl |
700 |
|
|
|
701 |
|
|
%files plpython |
702 |
|
|
%{_libdir}/postgresql/plpython2.so |
703 |
|
|
|
704 |
|
|
%files plperl |
705 |
|
|
%{_libdir}/postgresql/plperl.so |
706 |
|
|
|
707 |
|
|
%files pltcl |
708 |
|
|
%{_libdir}/postgresql/pltcl.so |
709 |
|
|
%{_bindir}/pltcl_delmod |
710 |
|
|
%{_bindir}/pltcl_listmod |
711 |
|
|
%{_bindir}/pltcl_loadmod |
712 |
|
|
%{_datadir}/postgresql/unknown.pltcl |
713 |
|
|
|
714 |
|
|
%files plpgsql |
715 |
|
|
%{_libdir}/postgresql/plpgsql.so |