#
# 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)
#
+%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}.1
+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
-Requires(pre): /bin/id
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun): /usr/sbin/groupdel
-Requires(postun): /usr/sbin/userdel
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
+BuildRequires: texinfo
Requires(post,preun): /sbin/chkconfig
-Provides: httpd
+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: rc-scripts
+Provides: group(http)
+Provides: user(http)
Provides: webserver
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-Obsoletes: apache
-Obsoletes: httpd
-Obsoletes: thttpd
-Obsoletes: webserver
-
-%define _sysconfdir /etc/httpd
%description
A high speed, lightweight web server (HTTP protocol). Based on direct
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
-CFLAGS="%{rpmcflags} %{!?_without_ipv6:-DINET6} -DSERVER_ROOT='\"/etc/httpd\"'"
+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
%{__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/home/services/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/home/services/httpd/cgi-bin/
-install examples/* $RPM_BUILD_ROOT/home/services/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 /home/services/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
- /sbin/chkconfig --del boa
+ %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 /home/services/httpd
-%attr(755,root,root) /home/services/httpd/html
-%attr(755,root,root) /home/services/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}