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