X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=boa.spec;h=132de30149dd498b6b0d2d7af079e2a419786646;hb=9fe0283e02dafceb22a610a4922b71d9bc33fd13;hp=42650022c1f405653066fd6e6f4ad34ac63ff030;hpb=661b5d3851203cd10da144c4ec0d7fffe9760bc9;p=packages%2Fboa.git diff --git a/boa.spec b/boa.spec index 4265002..132de30 100644 --- a/boa.spec +++ b/boa.spec @@ -1,102 +1,154 @@ +# +# Conditional build: +%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.93.16.1 -Release: 1 -Copyright: GPL +Version: 0.94.14 +%define _rc rc20 +Release: 0.%{_rc}.3 +Epoch: 1 +License: GPL v2 Group: Networking/Daemons -Source0: http://www.cz.boa.org/updates/%{name}-%{version}.tar.gz -Source1: boa.init -Patch0: boa-PLD.patch -Patch1: boa-0.93.16.1-ipv6-fix.patch -Provides: httpd -Provides: webserver -Prereq: sh-utils -Prereq: %{_sbindir}/groupadd -Prereq: %{_sbindir}/groupdel -Prereq: %{_sbindir}/useradd -Prereq: %{_sbindir}/userdel -BuildRoot: /tmp/%{name}-%{version}-root - -%define _sysconfdir /etc/httpd +Source0: http://www.boa.org/%{name}-%{version}%{_rc}.tar.gz +# Source0-md5: 046d1764cd8f325109da9c80c993b2ef +Source1: %{name}.init +Patch0: %{name}-PLD.patch +URL: http://www.boa.org/ +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: flex +BuildRequires: rpmbuild(macros) >= 1.159 +BuildRequires: texinfo +PreReq: rc-scripts +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: 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 +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 efekcje daje znacznie zwiêkszon± szybko¶æ -dzia³ania oraz mniejsze zu¿ycie zasobów systemowych. +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 -%patch0 -p1 -%patch1 -p1 +%setup -q -n %{name}-%{version}%{_rc} +cp examples/boa.conf . +%patch0 -p0 %build -cd src +cp -f /usr/share/automake/config.sub . +CFLAGS="%{rpmcflags} %{?with_ipv6:-DINET6} -DSERVER_ROOT='\"%{_sysconfdir}\"'" +%{__autoconf} %configure -make -(cd ../util; make ) -(cd ../docs; make boa.html ) +%{__make} +%{__make} -C docs boa.html %install -install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/ -install -d $RPM_BUILD_ROOT/var/log/httpd -install -d $RPM_BUILD_ROOT/home/httpd/{cgi-bin,html} -install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/conf,%{_mandir}/man1} +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/ \ + $RPM_BUILD_ROOT/var/log/{,archiv/}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 -s src/boa $RPM_BUILD_ROOT%{_sbindir} -install -s util/boa_indexer $RPM_BUILD_ROOT%{_sbindir} +install src/*.pl examples/*.pl examples/*.cgi \ + $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} -install -s util/cpsel $RPM_BUILD_ROOT/home/httpd/cgi-bin -install util/*.pl $RPM_BUILD_ROOT/home/httpd/cgi-bin -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 examples/*.conf $RPM_BUILD_ROOT/etc/httpd/%{name}.conf -install docs/boa.1 $RPM_BUILD_ROOT%{_mandir}/man1/ +install docs/boa.8 $RPM_BUILD_ROOT%{_mandir}/man8/ -touch $RPM_BUILD_ROOT/var/log/httpd/{access_log,agent_log,error_log,referer_log} -gzip -9nf README $RPM_BUILD_ROOT%{_mandir}/man*/* || : +touch $RPM_BUILD_ROOT/var/log/boa/{access_log,agent_log,error_log,referer_log} %clean rm -rf $RPM_BUILD_ROOT %pre -%{_sbindir}/groupadd -g 51 -f http > /dev/null 2>&1 -%{_sbindir}/useradd -u 51 -f http -g http > /dev/null 2>&1 +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 %postun if [ "$1" = "0" ]; then - %{_sbindir}/groupdel http > /dev/null 2>&1 - %{_sbindir}/userdel http > /dev/null 2>&1 + %userremove http + %groupremove http fi %post -/sbin/chkconfig -add %{name} +/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 %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 + +%triggerpostun -- boa < 0.94.14-0.rc20.0 +if [ -f /etc/httpd/boa.conf.rpmsave ]; then + echo "warning: moving /etc/httpd/boa.conf.rpmsave to /etc/boa.conf" + mv /etc/boa.conf /etc/boa.conf.rpmnew + mv /etc/httpd/boa.conf.rpmsave /etc/boa.conf fi %files %defattr(644,root,root,755) -%doc README.gz docs/*.html docs/*.gif -%attr(750, root,http) %dir /etc/httpd -%attr(640, root,http) %config /etc/httpd/* -%attr(755, root,http) /home/httpd/html -%attr(755, root,http) /home/httpd/cgi-bin -%attr(750, root,http) %dir /var/log/httpd/ -%attr(640, root,http) %ghost /var/log/httpd/* -%attr(755, root,root) %{_sbindir}/* -%attr(754, root,root) /etc/rc.d/init.d/%{name} -%{_mandir}/man1/* +%doc README CHANGES docs/*.html docs/*.png +%attr(640,root,root) %config(noreplace) %{_sysconfdir}/boa.conf +%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name} +#%attr(755,root,root) %{_cgi_bin} +%attr(750,root,root) %dir /var/log/%{name}/ +%attr(750,root,root) %dir /var/log/archiv/%{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}