]> git.pld-linux.org Git - packages/boa.git/blobdiff - boa.spec
- added triggerpostun
[packages/boa.git] / boa.spec
index 4144b57ec73fba9fb99e6cb8ea5fb628e466118e..132de30149dd498b6b0d2d7af079e2a419786646 100644 (file)
--- a/boa.spec
+++ b/boa.spec
@@ -1,29 +1,42 @@
+#
+# 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.94.8.3
-Release:       1
-License:       GPL
+Version:       0.94.14
+%define        _rc     rc20
+Release:       0.%{_rc}.3
+Epoch:         1
+License:       GPL v2
 Group:         Networking/Daemons
-Group(de):     Netzwerkwesen/Server
-Group(pl):     Sieciowe/Serwery
-Source0:       http://www.boa.org/%{name}-%{version}.tar.gz
+Source0:       http://www.boa.org/%{name}-%{version}%{_rc}.tar.gz
+# Source0-md5: 046d1764cd8f325109da9c80c993b2ef
 Source1:       %{name}.init
 Patch0:                %{name}-PLD.patch
-Provides:      httpd                                                           
-Provides:      webserver                                                       
-Prereq:                sh-utils
-Prereq:                %{_sbindir}/groupadd
-Prereq:                %{_sbindir}/groupdel
-Prereq:                %{_sbindir}/useradd
-Prereq:                %{_sbindir}/userdel
+URL:           http://www.boa.org/
+BuildRequires: autoconf
+BuildRequires: automake
 BuildRequires: flex
-BuildRequires: sgml-tools
-Requires:      rc-scripts
+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)
-Obsoletes:     apache
 
-%define                _sysconfdir     /etc/httpd
+# 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
@@ -39,69 +52,103 @@ znacznie zwi
 systemowych.
 
 %prep
-%setup -q
-%patch0 -p1
+%setup -q -n %{name}-%{version}%{_rc}
+cp examples/boa.conf .
+%patch0 -p0
 
 %build
-cd src
-CFLAGS="%{?debug:-O0 -g}%{!?debug:$RPM_OPT_FLAGS} -DINET6"
+cp -f /usr/share/automake/config.sub .
+CFLAGS="%{rpmcflags} %{?with_ipv6:-DINET6} -DSERVER_ROOT='\"%{_sysconfdir}\"'"
+%{__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/,/var/log/httpd} \
-       $RPM_BUILD_ROOT/home/httpd/{cgi-bin,html} \
-       $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/conf,%{_mandir}/man8}
-
-install src/{boa,boa_indexer} $RPM_BUILD_ROOT%{_sbindir}
-
-install src/*.pl $RPM_BUILD_ROOT/home/httpd/cgi-bin
-install examples/resolver.pl $RPM_BUILD_ROOT/home/httpd/cgi-bin
+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 src/*.pl 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/rpm/boa.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 
 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
+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}/userdel http > /dev/null 2>&1
-       %{_sbindir}/groupdel 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/*.png docs/boa.{ps,sgml}
-%attr(750, root,http) %dir %{_sysconfdir}
-%attr(640, root,http) %config %{_sysconfdir}/*
-%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}
+%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}
This page took 0.091665 seconds and 4 git commands to generate.