#
# Conditional build:
-# _without_ipv6 - IPv4-only version (doesn't require IPv6 in kernel)
+%bcond_without ipv6 # IPv4-only version (doesn't require IPv6 in kernel)
#
Summary: Boa high speed HTTP server
Summary(pl): Boa - szybki serwer HTTP
Name: boa
-Version: 0.94.13
-Release: 1
+Version: 0.94.14
+%define _rc rc17
+Release: 0.%{_rc}.2
Epoch: 1
License: GPL v2
Group: Networking/Daemons
-Source0: http://www.boa.org/%{name}-%{version}.tar.gz
+Source0: http://www.boa.org/%{name}-%{version}%{_rc}.tar.gz
+# Source0-md5: d668ef85b3d2df3dc9832555fdce8b70
Source1: %{name}.init
Patch0: %{name}-PLD.patch
Patch1: %{name}-logrotate.patch
BuildRequires: flex
BuildRequires: sgml-tools
PreReq: rc-scripts
-Requires(pre): user-http
+Requires(pre): /usr/bin/getgid
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
Requires(post,preun): /sbin/chkconfig
Provides: httpd
Provides: webserver
systemowych.
%prep
-%setup -q
-%patch0 -p1
+%setup -q -n %{name}-%{version}%{_rc}
+cp examples/boa.conf .
+%patch0 -p0
%patch1 -p0
%build
-cd src
-CFLAGS="%{rpmcflags} %{!?_without_ipv6:-DINET6}"
+cp -f /usr/share/automake/config.sub .
+CFLAGS="%{rpmcflags} %{?with_ipv6:-DINET6} -DSERVER_ROOT='\"/etc/httpd\"'"
%{__autoconf}
%configure
%{__make}
-cd ../docs
-%{__make} boa.html
+%{__make} -C docs boa.html
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/ \
$RPM_BUILD_ROOT/var/log/httpd \
- $RPM_BUILD_ROOT/home/services/httpd/{cgi-bin,html} \
+ $RPM_BUILD_ROOT/srv/httpd/{cgi-bin,html} \
$RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/conf,%{_mandir}/man8} \
$RPM_BUILD_ROOT/etc/logrotate.d
install src/{boa,boa_indexer} $RPM_BUILD_ROOT%{_sbindir}/
-install src/*.pl $RPM_BUILD_ROOT/home/services/httpd/cgi-bin/
-install examples/* $RPM_BUILD_ROOT/home/services/httpd/cgi-bin/
+install src/*.pl $RPM_BUILD_ROOT/srv/httpd/cgi-bin/
+install examples/* $RPM_BUILD_ROOT/srv/httpd/cgi-bin/
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install boa.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+if [ -n "`getgid http`" ]; then
+ if [ "`getgid http`" != "51" ]; then
+ echo "Error: group http doesn't have gid=51. Correct this before installing boa." 1>&2
+ exit 1
+ fi
+else
+ echo "Creating group http GID=51"
+ /usr/sbin/groupadd -g 51 -r -f http
+fi
+if [ -n "`id -u http 2>/dev/null`" ]; then
+ if [ "`id -u http`" != "51" ]; then
+ echo "Error: user http doesn't have uid=51. Correct this before installing boa." 1>&2
+ exit 1
+ fi
+else
+ echo "Creating user http UID=51"
+ /usr/sbin/useradd -u 51 -r -d /srv/httpd -s /bin/false -c "HTTP User" -g http http 1>&2
+fi
+
+%postun
+if [ "$1" = "0" ]; then
+ echo "Removing user http UID=51"
+ /usr/sbin/userdel http > /dev/null 2>&1
+ echo "Removing group http GID=51"
+ /usr/sbin/groupdel http > /dev/null 2>&1
+fi
+
%post
/sbin/chkconfig --add boa
if [ -f /var/lock/subsys/boa ]; then
- /etc/rc.d/init.d/boa restart 1>&2
+ /etc/rc.d/init.d/boa restart 1>&2
else
- echo "Run \"/etc/rc.d/init.d/boa start\" to start boa http daemon."
+ echo "Run \"/etc/rc.d/init.d/boa start\" to start boa http daemon."
fi
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/boa ]; then
- /etc/rc.d/init.d/boa stop 1>&2
- fi
- /sbin/chkconfig --del boa
+ if [ -f /var/lock/subsys/boa ]; then
+ /etc/rc.d/init.d/boa stop 1>&2
+ fi
+ /sbin/chkconfig --del boa
fi
%files
%attr(750,root,root) %dir %{_sysconfdir}
%attr(640,root,root) %config(noreplace) %{_sysconfdir}/*
%attr(640,root,root) %config(noreplace) /etc/logrotate.d/%{name}
-%dir /home/services/httpd
-%attr(755,root,root) /home/services/httpd/html
-%attr(755,root,root) /home/services/httpd/cgi-bin
+%dir /srv/httpd
+%attr(755,root,root) /srv/httpd/html
+%attr(755,root,root) /srv/httpd/cgi-bin
%attr(750,root,root) %dir /var/log/httpd/
%attr(640,root,root) %ghost /var/log/httpd/*
%attr(755,root,root) %{_sbindir}/*