]> git.pld-linux.org Git - packages/pgpool-II.git/blob - pgpool-II.spec
Release 3 (by relup.sh)
[packages/pgpool-II.git] / pgpool-II.spec
1 #
2 %bcond_without  openssl # build without SSL support
3 %bcond_without  pam     # don't build with pam support
4 #
5 %define         relname pgpool
6 #
7 Summary:        Pgpool - a connection pooling/replication server for PostgreSQL
8 Summary(pl.UTF-8):      Pgpool - serwer puli połączeń i replikacji dla PostgreSQL-a
9 Name:           pgpool-II
10 Version:        4.2.5
11 Release:        3
12 License:        BSD
13 Group:          Applications/Databases
14 Source0:        http://www.pgpool.net/mediawiki/images/%{name}-%{version}.tar.gz
15 # Source0-md5:  45ff448dbd4ac9ce4ac414005a722fdf
16 Source1:        %{relname}.init
17 Source2:        %{relname}.monitrc
18 Source3:        %{relname}.sysconfig
19 Source4:        %{relname}.tmpfiles
20 Source5:        %{relname}.service
21 Patch0:         config.patch
22 URL:            http://www.pgpool.net/
23 %{?with_openssl:BuildRequires:  openssl-devel}
24 %{?with_pam:BuildRequires:      pam-devel}
25 BuildRequires:  postgresql-devel
26 BuildRequires:  sed >= 4.0
27 BuildRequires:  rpmbuild(macros) >= 1.671
28 Requires(post,preun):   /sbin/chkconfig
29 Requires(postun):       /usr/sbin/groupdel
30 Requires(postun):       /usr/sbin/userdel
31 Requires(pre):  /bin/id
32 Requires(pre):  /usr/bin/getgid
33 Requires(pre):  /usr/sbin/groupadd
34 Requires(pre):  /usr/sbin/useradd
35 Requires:       %{name}-libs = %{version}-%{release}
36 %{?with_pam:Requires:   pam}
37 Requires:       rc-scripts >= 0.2.0
38 Requires:       systemd-units >= 38
39 Provides:       group(pgpool)
40 Provides:       pgpool
41 Provides:       user(pgpool)
42 Obsoletes:      pgpool
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %description
46 Pgpool is a connection pooling/replication server for PostgreSQL.
47 Pgpool runs between PostgreSQL's clients(front ends) and servers
48 (backends). A PostgreSQL client can connect to pgpool as if it were a
49 standard PostgreSQL server.
50
51 SSL support: %{?with_openssl:en}%{!?with_openssl:dis}abled
52
53 %description -l pl.UTF-8
54 Pgpool to serwer puli połączeń i replikacji dla PostgreSQL-a. Pgpool
55 działa pomięzy klientami a serwerami PostgreSQL, umożliwiając klientom
56 połaczenie się do pgool tak jakby to był serwer PostgreSQL.
57
58 Wsparcie SSL: w%{!?with_openssl:y}łączone
59
60 %package libs
61 Summary:        %{name} library
62 Summary:        Biblioteka %{name}
63 Group:          Libraries
64
65 %description libs
66 Pgpool libraries.
67
68 %description libs -l pl.UTF-8
69 Biblioteka %{name}.
70
71 %package devel
72 Summary:        Header files for %{name} library
73 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki %{name}
74 Group:          Development/Libraries
75 Requires:       %{name}-libs = %{version}-%{release}
76
77 %description devel
78 Header files for %{name} library.
79
80 %description devel -l pl.UTF-8
81 Pliki nagłówkowe biblioteki %{name}.
82
83 %package static
84 Summary:        Static %{name} library
85 Summary(pl.UTF-8):      Statyczna biblioteka %{name}
86 Group:          Development/Libraries
87 Requires:       %{name}-devel = %{version}-%{release}
88
89 %description static
90 Static %{name} library.
91
92 %description static -l pl.UTF-8
93 Statyczna biblioteka %{name}.
94
95 %package -n monit-rc-pgpool-II
96 Summary:        pgpool support for monit
97 Summary(pl.UTF-8):      Wsparcie pgpool dla monit
98 Group:          Applications/System
99 Requires:       %{name}
100 Requires:       monit
101 Obsoletes:      monit-rc-pgpool
102
103 %description -n monit-rc-pgpool-II
104 monitrc file for pgpool monitoring.
105
106 %description -n monit-rc-pgpool-II -l pl.UTF-8
107 Plik monitrc do monitorowania pgpool.
108
109 %prep
110 %setup -q
111 %patch0 -p1
112
113 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+bash(\s|$),#!/bin/bash\1,' \
114         src/test/watchdog_setup.in \
115         src/test/pgpool_setup.in
116
117 %build
118 %{__libtoolize}
119 %{__aclocal}
120 %{__autoconf}
121 %{__autoheader}
122 %{__automake}
123
124 CFLAGS="%{rpmcflags}"
125 CXXFLAGS="%{rpmcflags}"
126 export CFLAGS CXXFLAGS
127
128 %configure \
129         --bindir=%{_bindir} \
130         %{?with_openssl:--with-openssl} \
131         %{?with_pam:--with-pam} \
132         --sysconfdir=%{_sysconfdir}
133
134 %{__make}
135
136 %install
137 rm -rf $RPM_BUILD_ROOT
138
139 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/{sysconfig,monit,pam.d},/var/run/pgpool,%{systemdtmpfilesdir},%{_mandir}/man{1,8},/var/log/pgpool,%{systemdunitdir}}
140
141 %{__make} install \
142         DESTDIR=$RPM_BUILD_ROOT
143
144 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pcp.conf{.sample,}
145 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pgpool.conf{.sample,}
146 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pool_hba.conf{.sample,}
147 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{relname}
148 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/monit/%{relname}.monitrc
149 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{relname}
150 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{relname}.conf
151 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/%{relname}.service
152 %if %{with pam}
153 cp -p src/sample/pgpool.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/pgpool
154 %endif
155 cp -p doc/src/sgml/man1/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/
156 cp -p doc/src/sgml/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/
157
158 touch $RPM_BUILD_ROOT%{_sysconfdir}/pool_passwd
159 %{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/pgpool.conf.sample*
160
161 # hardlink identical binaries
162 for n in detach_node node_count node_info pool_status proc_count proc_info promote_node recovery_node stop_pgpool watchdog_info ; do
163         diff -q $RPM_BUILD_ROOT%{_bindir}/pcp_$n $RPM_BUILD_ROOT%{_bindir}/pcp_attach_node
164         %{__rm} $RPM_BUILD_ROOT%{_bindir}/pcp_$n
165         ln $RPM_BUILD_ROOT%{_bindir}/pcp_attach_node $RPM_BUILD_ROOT%{_bindir}/pcp_$n
166 done
167
168 %clean
169 rm -rf $RPM_BUILD_ROOT
170
171 %pre
172 %groupadd -r -g 240 pgpool
173 %useradd -r -u 240 -d /usr/share/empty -s /bin/false -c "Pgpool User" -g pgpool pgpool
174
175 %post
176 /sbin/chkconfig --add %{relname}
177 %service %{relname} restart
178 %systemd_post %{relname}.service
179
180 %preun
181 if [ "$1" = "0" ]; then
182         %service %{relname} stop
183         /sbin/chkconfig --del %{relname}
184 fi
185 %systemd_preun %{relname}.service
186
187 %postun
188 if [ "$1" = "0" ]; then
189         %userremove pgpool
190         %groupremove pgpool
191 fi
192 %systemd_reload
193
194 %post libs -p /sbin/ldconfig
195
196 %files
197 %defattr(644,root,root,755)
198 %doc AUTHORS COPYING ChangeLog NEWS README TODO doc/src/sgml/html src/sample src/sql
199 %attr(755,root,root) %{_bindir}/pcp_*
200 %attr(755,root,root) %{_bindir}/pg*
201 %attr(755,root,root) %{_bindir}/watchdog_setup
202 %attr(755,root,root) %{_bindir}/wd_cli
203 %attr(754,root,root) /etc/rc.d/init.d/%{relname}
204 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pcp.conf
205 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pgpool.conf
206 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pool_hba.conf
207 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{relname}
208 %attr(640,pgpool,pgpool) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pool_passwd
209 %{_mandir}/man1/*.1*
210 %{_mandir}/man8/pgpool.8*
211 %{_datadir}/%{name}
212 %dir %attr(775,root,pgpool) /var/run/pgpool
213 %{systemdtmpfilesdir}/%{relname}.conf
214 %{systemdunitdir}/%{relname}.service
215 %if %{with pam}
216 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pgpool
217 %endif
218 %attr(775,root,pgpool) /var/log/pgpool
219
220 %files libs
221 %defattr(644,root,root,755)
222 %ghost %attr(755,root,root) %{_libdir}/libpcp.so.2
223 %attr(755,root,root) %{_libdir}/libpcp.so.2.*
224
225 %files devel
226 %defattr(644,root,root,755)
227 %{_includedir}/*
228 %attr(755,root,root) %{_libdir}/libpcp.la
229 %attr(755,root,root) %{_libdir}/libpcp.so
230
231 %files static
232 %defattr(644,root,root,755)
233 %attr(755,root,root) %{_libdir}/libpcp.a
234
235 %files -n monit-rc-pgpool-II
236 %defattr(644,root,root,755)
237 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/monit/%{relname}.monitrc
This page took 0.109662 seconds and 4 git commands to generate.