#
# 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 rc17
-Release: 0.%{_rc}.3
+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: d668ef85b3d2df3dc9832555fdce8b70
+# Source0-md5: e24b570bd767a124fcfb40a34d148ba9
Source1: %{name}.init
Patch0: %{name}-PLD.patch
-Patch1: %{name}-logrotate.patch
URL: http://www.boa.org/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.59
BuildRequires: automake
BuildRequires: flex
-BuildRequires: sgml-tools
-PreReq: rc-scripts
-Requires(pre): /usr/bin/getgid
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
+BuildRequires: texinfo
+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
-Provides: httpd
+Requires: rc-scripts
+Provides: group(http)
+Provides: user(http)
Provides: webserver
-Obsoletes: apache
-Obsoletes: httpd
-Obsoletes: thttpd
-Obsoletes: webserver
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _sysconfdir /etc/httpd
-
%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
%setup -q -n %{name}-%{version}%{_rc}
cp examples/boa.conf .
%patch0 -p0
-%patch1 -p0
%build
cp -f /usr/share/automake/config.sub .
-CFLAGS="%{rpmcflags} %{?with_ipv6:-DINET6} -DSERVER_ROOT='\"/etc/httpd\"'"
+%{__sed} -i 's,}, olddir /var/log/archive/boa\x0a},' contrib/rpm/boa.logrotate
+CFLAGS="%{rpmcflags} %{?with_ipv6:-DINET6} -DSERVER_ROOT='\"%{_sysconfdir}\"'"
%{__autoconf}
%configure
%{__make}
%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/srv/httpd/{cgi-bin,html} \
- $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/conf,%{_mandir}/man8} \
- $RPM_BUILD_ROOT/etc/logrotate.d
+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}
-install src/{boa,boa_indexer} $RPM_BUILD_ROOT%{_sbindir}/
+install src/{boa,boa_indexer} $RPM_BUILD_ROOT%{_sbindir}
-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 examples/*.pl examples/*.cgi \
+ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install boa.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
-install contrib/redhat/boa.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+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/httpd/{access_log,agent_log,error_log,referer_log}
+touch $RPM_BUILD_ROOT/var/log/boa/{access_log,agent_log,error_log,referer_log}
%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
+%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
- 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
+ %userremove http
+ %groupremove http
fi
%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 ChangeLog docs/*.html docs/*.png
-%attr(750,root,root) %dir %{_sysconfdir}
-%attr(640,root,root) %config(noreplace) %{_sysconfdir}/*
-%attr(640,root,root) %config(noreplace) /etc/logrotate.d/%{name}
-%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/*
+%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}
%{_mandir}/man8/*
+%{_examplesdir}/%{name}-%{version}