]> git.pld-linux.org Git - packages/pgpool-II.git/blob - pgpool-II.spec
9d7ed876287d6e13ea743ee982b9491a07cef8c4
[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:        3.6.0
11 Release:        1
12 License:        BSD
13 Group:          Applications/Databases
14 Source0:        http://www.pgpool.net/mediawiki/images/%{name}-%{version}.tar.gz
15 # Source0-md5:  26f0e249067d150f01a9ca02804700eb
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 %build
114 %{__libtoolize}
115 %{__aclocal}
116 %{__autoconf}
117 %{__autoheader}
118 %{__automake}
119
120 CFLAGS="%{rpmcflags}"
121 CXXFLAGS="%{rpmcflags}"
122 export CFLAGS CXXFLAGS
123
124 %configure \
125         --bindir=%{_bindir} \
126         %{?with_openssl:--with-openssl} \
127         %{?with_pam:--with-pam} \
128         --sysconfdir=%{_sysconfdir}
129
130 %{__make}
131
132 %install
133 rm -rf $RPM_BUILD_ROOT
134
135 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/{sysconfig,monit,pam.d},%{_varrun}/pgpool,%{systemdtmpfilesdir},%{_mandir}/man{1,8},/var/log/pgpool,%{systemdunitdir}}
136
137 %{__make} install \
138         DESTDIR=$RPM_BUILD_ROOT
139
140 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pcp.conf{.sample,}
141 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pgpool.conf{.sample,}
142 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/pool_hba.conf{.sample,}
143 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{relname}
144 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/monit/%{relname}.monitrc
145 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{relname}
146 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{relname}.conf
147 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/%{relname}.service
148 %if %{with pam}
149 cp -p src/sample/pgpool.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/pgpool
150 %endif
151 cp -p doc/src/sgml/man1/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/
152 cp -p doc/src/sgml/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/
153
154 touch $RPM_BUILD_ROOT%{_sysconfdir}/pool_passwd
155 %{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/pgpool.conf.sample*
156
157 # hardlink identical binaries
158 for n in detach_node node_count node_info pool_status proc_count proc_info promote_node recovery_node stop_pgpool watchdog_info ; do
159         diff -q $RPM_BUILD_ROOT%{_bindir}/pcp_$n $RPM_BUILD_ROOT%{_bindir}/pcp_attach_node
160         %{__rm} $RPM_BUILD_ROOT%{_bindir}/pcp_$n
161         ln $RPM_BUILD_ROOT%{_bindir}/pcp_attach_node $RPM_BUILD_ROOT%{_bindir}/pcp_$n
162 done
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
167 %pre
168 %groupadd -r -g 240 pgpool
169 %useradd -r -u 240 -d /usr/share/empty -s /bin/false -c "Pgpool User" -g pgpool pgpool
170
171 %post
172 /sbin/chkconfig --add %{relname}
173 %service %{relname} restart
174 %systemd_post %{relname}.service
175
176 %preun
177 if [ "$1" = "0" ]; then
178         %service %{relname} stop
179         /sbin/chkconfig --del %{relname}
180 fi
181 %systemd_preun %{relname}.service
182
183 %postun
184 if [ "$1" = "0" ]; then
185         %userremove pgpool
186         %groupremove pgpool
187 fi
188 %systemd_reload
189
190 %post libs -p /sbin/ldconfig
191
192 %files
193 %defattr(644,root,root,755)
194 %doc AUTHORS COPYING ChangeLog NEWS README TODO doc/src/sgml/html src/sample src/sql
195 %attr(755,root,root) %{_bindir}/pcp_*
196 %attr(755,root,root) %{_bindir}/pg*
197 %attr(755,root,root) %{_bindir}/watchdog_setup
198 %attr(754,root,root) /etc/rc.d/init.d/%{relname}
199 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pcp.conf
200 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pgpool.conf
201 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pool_hba.conf
202 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{relname}
203 %attr(640,pgpool,pgpool) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pool_passwd
204 %{_mandir}/man1/*.1*
205 %{_mandir}/man8/pgpool.8*
206 %{_datadir}/%{name}
207 %dir %attr(775,root,pgpool) %{_varrun}/pgpool
208 %{systemdtmpfilesdir}/%{relname}.conf
209 %{systemdunitdir}/%{relname}.service
210 %if %{with pam}
211 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pgpool
212 %endif
213 %attr(775,root,pgpool) /var/log/pgpool
214
215 %files libs
216 %defattr(644,root,root,755)
217 %ghost %attr(755,root,root) %{_libdir}/libpcp.so.1
218 %attr(755,root,root) %{_libdir}/libpcp.so.1.*
219
220 %files devel
221 %defattr(644,root,root,755)
222 %{_includedir}/*
223 %attr(755,root,root) %{_libdir}/libpcp.la
224 %attr(755,root,root) %{_libdir}/libpcp.so
225
226 %files static
227 %defattr(644,root,root,755)
228 %attr(755,root,root) %{_libdir}/libpcp.a
229
230 %files -n monit-rc-pgpool-II
231 %defattr(644,root,root,755)
232 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/monit/%{relname}.monitrc
This page took 0.081967 seconds and 2 git commands to generate.