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