#
# Conditional build:
-%bcond_without ipv6 # IPv4-only version (doesn't require IPv6 in kernel)
+%bcond_without ipv6 # IPv4-only version (doesn't require IPv6 in kernel)
#
+%define _rc rc21
+%define _rel 3
Summary: Boa high speed HTTP server
-Summary(pl): Boa - szybki serwer HTTP
+Summary(pl.UTF-8): Boa - szybki serwer HTTP
Name: boa
Version: 0.94.14
-%define _rc rc20
-Release: 0.%{_rc}.2
+Release: 0.%{_rc}.%{_rel}
Epoch: 1
License: GPL v2
-Group: Networking/Daemons
+Group: Networking/Daemons/HTTP
Source0: http://www.boa.org/%{name}-%{version}%{_rc}.tar.gz
-# Source0-md5: 046d1764cd8f325109da9c80c993b2ef
+# Source0-md5: e24b570bd767a124fcfb40a34d148ba9
Source1: %{name}.init
Patch0: %{name}-PLD.patch
URL: http://www.boa.org/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.59
BuildRequires: automake
BuildRequires: flex
-BuildRequires: rpmbuild(macros) >= 1.159
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
BuildRequires: texinfo
-PreReq: rc-scripts
+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(postun): /usr/sbin/groupdel
-Requires(postun): /usr/sbin/userdel
-Requires(post,preun): /sbin/chkconfig
+Requires: rc-scripts
Provides: group(http)
Provides: user(http)
Provides: webserver
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# FIXME: Other location? Should belong to httpd-common (or alike) package?
-# NOTE: Not needed, as we shouldn't put anything there.
-#%define _cgi_bin /usr/lib/cgi-bin
-
%description
A high speed, lightweight web server (HTTP protocol). Based on direct
use of the select(2) system call, it internally multiplexes all
connections without forking, for maximum speed and minimum system
resource use.
-%description -l pl
-Niezwykle szybki i wysoko wydajny serwer WWW (protokó³ HTTP). Bazuje
-na bezpo¶rednim u¿yciu funkcji systemowej select(2) dziêki czemu mo¿e
-obs³ugiwaæ wiele po³±czeñ równocze¶nie bez fork()owania co w efekcie
-znacznie zwiêksza szybko¶æ dzia³ania oraz zmniejsza zu¿ycie zasobów
+%description -l pl.UTF-8
+Niezwykle szybki i wysoko wydajny serwer WWW (protokół HTTP). Bazuje
+na bezpośrednim użyciu funkcji systemowej select(2) dzięki czemu może
+obsługiwać wiele połączeń równocześnie bez fork()owania co w efekcie
+znacznie zwiększa szybkość działania oraz zmniejsza zużycie zasobów
systemowych.
%prep
%build
cp -f /usr/share/automake/config.sub .
+%{__sed} -i 's,}, olddir /var/log/archive/boa\x0a},' contrib/rpm/boa.logrotate
CFLAGS="%{rpmcflags} %{?with_ipv6:-DINET6} -DSERVER_ROOT='\"%{_sysconfdir}\"'"
%{__autoconf}
%configure
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/ \
- $RPM_BUILD_ROOT/var/log/boa \
+install -d $RPM_BUILD_ROOT/etc/rc.d/init.d \
+ $RPM_BUILD_ROOT/var/log/{,archive/}boa \
$RPM_BUILD_ROOT%{_sbindir} \
$RPM_BUILD_ROOT%{_mandir}/man8 \
$RPM_BUILD_ROOT/etc/logrotate.d \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-# $RPM_BUILD_ROOT%{_cgi_bin}
-install src/{boa,boa_indexer} $RPM_BUILD_ROOT%{_sbindir}/
+install src/{boa,boa_indexer} $RPM_BUILD_ROOT%{_sbindir}
-install src/*.pl examples/*.pl examples/*.cgi \
+install examples/*.pl examples/*.cgi \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install boa.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
install contrib/rpm/boa.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-install docs/boa.8 $RPM_BUILD_ROOT%{_mandir}/man8/
+install docs/boa.8 $RPM_BUILD_ROOT%{_mandir}/man8
touch $RPM_BUILD_ROOT/var/log/boa/{access_log,agent_log,error_log,referer_log}
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 /usr/share/empty -s /bin/false -c "HTTP User" -g http http 1>&2
-fi
+%groupadd -g 51 -r -f http
+%useradd -u 51 -r -d /usr/share/empty -s /bin/false -c "HTTP User" -g http http
%postun
if [ "$1" = "0" ]; then
%post
/sbin/chkconfig --add boa
-if [ -f /var/lock/subsys/boa ]; then
- /etc/rc.d/init.d/boa restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/boa start\" to start boa http daemon."
-fi
+%service boa restart "boa HTTP daemon"
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/boa ]; then
- /etc/rc.d/init.d/boa stop 1>&2
- fi
+ %service boa stop
/sbin/chkconfig --del boa
fi
+%triggerpostun -- boa < 0.94.14-0.rc20.0
+if [ -f /etc/httpd/boa.conf.rpmsave ]; then
+ echo "warning: installing /etc/boa.conf as /etc/boa.conf.rpmnew"
+ mv /etc/boa.conf /etc/boa.conf.rpmnew
+ echo "warning: moving /etc/httpd/boa.conf.rpmsave to /etc/boa.conf"
+ mv /etc/httpd/boa.conf.rpmsave /etc/boa.conf
+fi
+
%files
%defattr(644,root,root,755)
-%doc README CHANGES docs/*.html docs/*.png
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/*
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name}
-#%attr(755,root,root) %{_cgi_bin}
+%doc CHANGES README docs/*.html docs/*.png
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/boa.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
%attr(750,root,root) %dir /var/log/%{name}/
+%attr(750,root,root) %dir /var/log/archive/%{name}/
%attr(640,root,root) %ghost /var/log/%{name}/*
%attr(755,root,root) %{_sbindir}/*
%attr(754,root,root) /etc/rc.d/init.d/%{name}