summaryrefslogtreecommitdiff
path: root/pound.spec
blob: 3e0a991990501b0c92a7b276f8c4fb3fe77158db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
%bcond_without	tcmalloc	# tcmalloc allocator

%ifarch x32
%undefine       with_tcmalloc
%endif
Summary:	Pound - reverse-proxy and load-balancer
Summary(pl.UTF-8):	Pound - reverse-proxy i load-balancer
Name:		pound
Version:	2.7
Release:	2
License:	GPL v3
Group:		Networking/Daemons
Source0:	http://www.apsis.ch/pound/Pound-%{version}.tgz
# Source0-md5:	ec8298aa3e4aee3ffbecdc0639d7f14a
Source1:	%{name}.cfg
Source2:	%{name}.init
Source3:	%{name}.sysconfig
Source4:	%{name}.logrotate
Source5:	%{name}.tmpfiles
Patch0:		%{name}-hash-UL.patch
Patch1:		%{name}-logfile.patch
Patch2:		%{name}-daemonize.patch
Patch3:		%{name}-log-notice.patch
Patch4:		%{name}-man.patch
URL:		http://www.apsis.ch/pound/
BuildRequires:	automake
%{?with_tcmalloc:BuildRequires:	libtcmalloc-devel}
BuildRequires:	openssl-devel >= 0.9.7d
BuildRequires:	openssl-tools
BuildRequires:	pcre-devel
BuildRequires:	rpmbuild(macros) >= 1.644
Requires(post,preun):	/sbin/chkconfig
Requires(postun):	/usr/sbin/groupdel
Requires(postun):	/usr/sbin/userdel
Requires(pre):	/bin/id
Requires(pre):	/usr/bin/getgid
Requires(pre):	/usr/sbin/groupadd
Requires(pre):	/usr/sbin/useradd
Requires:	pcre >= 7.8
Requires:	rc-scripts
Provides:	group(pound)
Provides:	user(pound)
Conflicts:	logrotate < 3.7-4
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%define		_sysconfdir	/etc/pound

%description
The Pound program is a reverse proxy, load balancer and HTTPS
front-end for Web server(s). Pound was developped to enable
distributing the load among several Web-servers and to allow for a
convenient SSL wrapper for those Web servers that do not offer it
natively. Pound is distributed under the GPL - no warranty, it's free
to use, copy and give away.

%description -l pl.UTF-8
Program Pound jest odwrotnym proxy, load-balancerem i interfejsem
HTTPS do serwera(ów) WWW. Pount został stworzony by pozwolić na
rozdzielenie obciążenia na kilka serwerów WWW i pozwolić na wygodne
opakowanie SSL-em tych serwerów, które same nie obsługują SSL. Pound
jest rozpowszechniany na licencji GPL - bez gwarancji, z możliwością
swobodnego używania, kopiowania i rozdawania.

%prep
%setup -q -n Pound-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1

%build
cp -f /usr/share/automake/config.sub .
%configure \
	--enable-super \
	--enable-pcreposix \
	%{__enable_disable tcmalloc} \
	--disable-hoard \
	--with-maxbuf=6144
%{__make}

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_sysconfdir},/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
	$RPM_BUILD_ROOT{/var/log/{%{name},archive/%{name}},/var/run/%{name}} \
	$RPM_BUILD_ROOT%{systemdtmpfilesdir}

install -p pound $RPM_BUILD_ROOT%{_sbindir}
install -p poundctl $RPM_BUILD_ROOT%{_sbindir}
cp -p pound.8  $RPM_BUILD_ROOT%{_mandir}/man8
cp -p poundctl.8 $RPM_BUILD_ROOT%{_mandir}/man8
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf

%clean
rm -rf $RPM_BUILD_ROOT

%pre
%groupadd -g 200 %{name}
%useradd -u 200 -d /var/lib/%{name} -g %{name} -c "Pound Daemon" %{name}

%post
for a in access.log pound.log; do
	if [ ! -f /var/log/%{name}/$a ]; then
		touch /var/log/%{name}/$a
		chown pound:pound /var/log/%{name}/$a
		chmod 644 /var/log/%{name}/$a
	fi
done
/sbin/chkconfig --add %{name}
%service %{name} restart "Pound Daemon"

%preun
if [ "$1" = "0" ]; then
	%service %{name} stop
	/sbin/chkconfig --del %{name}
fi

%postun
if [ "$1" = "0" ]; then
	%userremove %{name}
	%groupremove %{name}
fi

%files
%defattr(644,root,root,755)
%doc README FAQ CHANGELOG z*.py
%attr(755,root,root) %{_sbindir}/pound
%attr(755,root,root) %{_sbindir}/poundctl
%dir %{_sysconfdir}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pound.cfg
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%{_mandir}/man8/*
%{systemdtmpfilesdir}/%{name}.conf
%dir /var/run/%{name}
%dir %attr(751,root,root) /var/log/%{name}
%attr(750,root,root) %dir /var/log/archive/%{name}