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