Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > media > main-src > by-pkgid > 616effbc956a8423e85dc4981bf996f4 > files > 10

httpd2-naat-0.8-10mdk.src.rpm

# $Id: httpd2-naat.spec.proto,v 1.10 2003/12/07 22:16:19 florin Exp $

%define name httpd2-naat
%define version 0.8
%define release 10mdk

%define admroot /var
%define apacheadmroot %{admroot}/www-naat
%define apachebase %{_sysconfdir}/httpd
%define apachebase2 %{_sysconfdir}/httpd/2.0
%define apachelogs /var/log
%define port 8443

Summary: HTTP server daemon to provide Administrative WWW services
Name: %{name}
Version: %{version}
Release: %{release}
License: Apache License
Group: System/Servers
URL: http://www.linux-mandrake.org
Source: %{name}-%{version}.tar.bz2
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.sysconfig
Source4: 51_ssl.%{name}-vhost.naat
Source5: 50_%{name}.mod_ssl.naat
Source6: dot-htaccess
Source7: %{name}.logrotate
Source8: %{name}.Vhosts.conf
Source9: squidGuard.cgi
Source10: nulbanner.png 
Source11: common%{name}.conf
Buildroot: %{_tmppath}/%{name}-root
Requires: apache2-mod_php
Requires: php-gd
Requires: apache2-mod_ssl
Requires: apache2-mod_auth_external
Requires: apache-conf
PreReq: sudo
PreReq: perl
Requires: SnortSnarf
Requires: dhcpstatus
PreReq: rpm-helper
Provides: httpd-naat
BuildArchitectures: noarch

%description 
httpd-naat is an Apache2 configuration for the 
Network Appliance Administration Tool on MandrakeLinux Server.

%prep
rm -rf $RPM_BUILD_ROOT

%setup -q 

%install
mkdir -p $RPM_BUILD_ROOT%{apacheadmroot}/{html,cgi-bin,icons,perl,squidGuard}
mkdir -p $RPM_BUILD_ROOT%{admroot}/cache/%{name}/mod_ssl
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
mkdir -p $RPM_BUILD_ROOT%{apachebase}/conf/vhosts
mkdir -p $RPM_BUILD_ROOT%{apachebase}/conf.d
mkdir -p $RPM_BUILD_ROOT%{apachebase2}
mkdir -p $RPM_BUILD_ROOT%{apachelogs}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
mkdir -p $RPM_BUILD_ROOT/%{_sbindir}

install -m755 %{SOURCE1} $RPM_BUILD_ROOT/%{_initrddir}/%{name}
install -m644 %{SOURCE2} $RPM_BUILD_ROOT/%{apachebase}/conf/
install -m644 %{SOURCE11} $RPM_BUILD_ROOT/%{apachebase}/conf/
install -m644 %{SOURCE4} $RPM_BUILD_ROOT/%{apachebase}/conf.d/
install -m644 %{SOURCE5} $RPM_BUILD_ROOT/%{apachebase}/conf.d/
install -m644 %{SOURCE8} $RPM_BUILD_ROOT/%{apachebase}/conf/vhosts/
#install -m600 %{SOURCE6} $RPM_BUILD_ROOT/%{apacheadmroot}/html/admin/.htaccess
install -m644 %{SOURCE7} $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}
install -m755 %{SOURCE9} $RPM_BUILD_ROOT/%{apacheadmroot}/squidGuard
install -m644 %{SOURCE10} $RPM_BUILD_ROOT/%{apacheadmroot}/squidGuard

for file in %{apachebase}/conf/%{name}.conf \
	 %{apachebase}/conf/common%{name}.conf \
	 %{apachebase}/conf.d/51_ssl.%{name}-vhost.conf \
	 %{apachebase}/conf/vhosts/%{name}.Vhosts.conf \
	 %{apachebase}/conf.d/50_%{name}.mod_ssl.conf ; do
	#directory config
	perl -pi -e 's!\@apacheadmroot\@!%{apacheadmroot}!g' $RPM_BUILD_ROOT/${file}
	# port configuration
	perl -pi -e 's!\@port\@!%{port}!g' $RPM_BUILD_ROOT/${file}
	# name configuration (log, lock files and user )
	perl -pi -e 's!\@name\@!%{name}!g' $RPM_BUILD_ROOT/${file}
	# logs-naat
	perl -pi -e 's!\@logs\@!logs-naat!g' $RPM_BUILD_ROOT/${file}
done

install -m644 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/%{name}

ln -sf ../..%{apachelogs}/%{name} $RPM_BUILD_ROOT%{apachebase}/logs-naat
ln -sf ../../../..%{apachelogs}/%{name} $RPM_BUILD_ROOT%{apachebase2}/logs-naat

cd $RPM_BUILD_ROOT/%{_sbindir}
ln -sf httpd2 %{name}

%clean
rm -rf $RPM_BUILD_ROOT

%pre
# Add admin group exist if doesn't exit

#  warly
# 
# FIXME: if the group admin exists before that install create it
# grpconv failed and the install reboot
# 

grep -q '^admin:' /etc/passwd || \
  /usr/sbin/useradd -c 'Administrator' \
	-d /home/admin -G adm -s /bin/bash admin


grep -q '^httpd-naat:' /etc/passwd  || \
	/usr/sbin/useradd -c "Httpd Naat Admin" -s /bin/bash -M \
	 -d /var/www-naat -G admin,apache httpd-naat

%post
# verify mod_auth configuration
#if [ -e  %{apachebase}/%{apachebase}/conf/addon-modules/mod_auth_external.conf ]; then
#echo "Include conf/addon-modules/mod_auth_external.conf" >> %{apachebase}/conf/httpd-naat.conf
#service httpd-naat reload
#fi

# httpd2-naat
if [ -e /usr/sbin/httpd2-perl ]; then
	ln -sf /usr/sbin/httpd2-perl /usr/sbin/httpd2-naat
elif [ -e /usr/sbin/httpd2 ]; then
	ln -sf /usr/sbin/httpd2 /usr/sbin/httpd2-naat
fi

# make SnortSnarf work
ln -sf /var/www/cgi-bin/*.pl %{apacheadmroot}/cgi-bin/

# make dhcpstatus work
cp -a /var/www/cgi-bin/dhcpstatus*cgi %{apacheadmroot}/cgi-bin/

%_post_service httpd2-naat
# proxy pac
#grep -qw "application/x-ns-proxy-autoconfig" /etc/httpd/conf/apache-mime.types || {
# echo "application/x-ns-proxy-autoconfig               pac dat" >> /etc/httpd/conf/apache-mime.types
#}
%preun
%_preun_service httpd2-naat

%postun
#if [ -e  %{apachebase}/%{apachebase}/conf/addon-modules/mod_auth_external.conf ]; then
#$perl -pi -e "s|Include conf/addon-modules/mod_auth_external.conf\n||g;" \
#    %{apachebase}/conf/httpd-naat.conf
#service httpd-naat reload
#fi

#if [ $1 = "0" ]; then # full uninstall

# remove logs
#rm -fr /var/log/httpd-naat/*

# remove user http-naat
#grep -q '^httpd-naat:' /etc/passwd  && \
#  /usr/sbin/userdel -r httpd-naat 2> /dev/null 

#remove the link
#rm -rf /usr/sbin/httpd-naat

#fi

%files
%defattr(-,root,root)
%config(noreplace) %{_initrddir}/%{name}
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{apachebase}/conf/%{name}.conf
%config(noreplace) %{apachebase}/conf/common%{name}.conf
%config(noreplace) %{apachebase}/conf.d/51_ssl.%{name}-vhost.naat
%config(noreplace) %{apachebase}/conf.d/50_%{name}.mod_ssl.naat
%config(noreplace) %{apachebase}/conf/vhosts/%{name}.Vhosts.conf

#% attr(750,httpd-naat,admin) %dir %{apacheadmroot}
%attr(750,httpd-naat,admin) %config(noreplace) %{apacheadmroot}/*
%attr(-,root,root) %dir %{apachebase}/logs-naat
%attr(-,root,root) %dir %{apachebase2}/logs-naat
%attr(750,httpd-naat,admin) %dir %{apachelogs}/%{name}
%attr(750,httpd-naat,admin) %dir %{admroot}/cache/%{name}/mod_ssl
%{_sbindir}/%{name}

%doc GPL COPYRIGHT AUTHORS README

%changelog
* Sun Dec 07 2003 Florin <florin@mandrakesoft.com> 0.8-10mdk
- make httpd2 coexist with apache-conf (thx to Oden E.)
change the ext name of the SOURCE4,5 files

* Tue Nov 25 2003 Florin <florin@mandrakesoft.com> 0.8-9mdk
- Mandrake first spec