# TODO
# - REVIEW patches and configuration
-# - use /usr/lib/cgi-bin instead of /home/services
# - ZPH TOS -
# For this to work correctly, you will need to patch your linux
# kernel with the TOS preserving ZPH patch.
# The kernel patch can be downloaded from http://zph.bratcheda.org
+# - Installed (but unpackaged) file(s) found:
+# /usr/share/squid/errors/templates/ERR_ACCESS_DENIED
+# /usr/share/squid/errors/templates/ERR_ZERO_SIZE_OBJECT
#
# Conditional build:
%bcond_with combined_log # enables apache-like combined log format
Summary(uk.UTF-8): Squid - кеш об'єктів Internet
Summary(zh_CN.UTF-8): SQUID 高速缓冲代理服务器
Name: squid
-Version: 3.0.STABLE6
+Version: 3.0.STABLE16
# review patches before stable release
Release: 0.1
Epoch: 7
License: GPL v2
Group: Networking/Daemons
Source0: http://www.squid-cache.org/Versions/v3/3.0/%{name}-%{version}.tar.bz2
-# Source0-md5: 231323a73346041cec825e785960e348
+# Source0-md5: aa039a2c75404a496f0e99a278599e00
# http://www.squid-cache.org/Doc/FAQ/FAQ.tar.gz
Source1: %{name}-FAQ.tar.gz
# Source1-md5: cb9a955f8cda9cc166e086fccd412a43
# lets have fun - there is no patches... yet:)
# Other patches:
# http://zph.bratcheda.org/
+Source8: %{name}-cachemgr-apache.conf
Patch0: %{name}_hit_miss_mark.patch
Patch1: %{name}-fhs.patch
Patch2: %{name}-location.patch
-Patch3: %{name}-domainmatch.patch
Patch4: %{name}-libnsl_fixes.patch
Patch5: %{name}-crash-on-ENOSPC.patch
-Patch6: %{name}-newssl.patch
Patch7: %{name}-empty-referer.patch
Patch8: %{name}-2.5.STABLE4-apache-like-combined-log.patch
Patch9: %{name}-auth_on_acceleration.patch
Patch10: %{name}-ppc-m32.patch
+Patch11: %{name}-cachemgr-webapp.patch
URL: http://www.squid-cache.org/
BuildRequires: autoconf
BuildRequires: automake
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
-Requires(pre): /bin/id
+Requires(pre,triggerpostun): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/lib/rpm/user_group.sh
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
+Requires(pre,triggerpostun): /usr/sbin/usermod
Requires: rc-scripts >= 0.2.0
Requires: setup >= 2.4.6
Provides: group(squid)
Conflicts: logrotate < 3.7-4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _webapps /etc/webapps
+%define _webapp cachemgr
%define _libexecdir %{_libdir}/%{name}
%define _sysconfdir /etc/%{name}
-%define _cgidir /home/services/httpd/cgi-bin
+%define _cgidir %{_prefix}/lib/cgi-bin/%{_webapp}
%description
Squid is a high-performance proxy caching server for web clients,
%package cachemgr
Summary: CGI script for Squid management
Summary(pl.UTF-8): Skrypt CGI do zarządzania Squidem przez WWW
-Group: Networking/Admin
-Requires: %{name} = %{epoch}:%{version}-%{release}
+Group: Applications/WWW
+# does not require squid locally
+Requires: group(http)
+Requires: webapps
Requires: webserver
+Requires: webserver(access)
+Requires: webserver(alias)
+Requires: webserver(cgi)
%description cachemgr
-Cachemgr.cgi is a CGI script that allows administrator to chceck
+Cachemgr.cgi is a CGI script that allows administrator to check
various informations about Squid via WWW.
%description cachemgr -l pl.UTF-8
przynależności do grup w domenie NT przy użyciu wbinfo.
%package session_acl
-Summary: Squid session tracking external acl group helper
+Summary: Squid session tracking external ACL group helper
+Summary(pl.UTF-8): Wsparcie kontroli dostępu przez śledzenie sesji
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
timing out sessions if no requests have been seen for the idle timeout
timer.
+%description session_acl -l pl.UTF-8
+Moduł oparty na koncepcji sesji, śledzący zapytania i wygaszający sesje
+jeśli w określonym czasie nie widziano w ich obrębie kolejnych zapytań.
+
%package scripts
Summary: Perl scripts for Squid
Summary(pl.UTF-8): Skrypty perlowe dla Squida
# Bug fixes from Squid home page:
# Other patches:
-%patch0 -p1
+#%patch0 -p1
%patch1 -p1
-#%patch2 -p1
-#%patch3 -p1
-#%patch4 -p1
-#%patch5 -p1
-#%patch6 -p1
+%patch2 -p1
+%patch4 -p1
+%patch5 -p1
#%patch7 -p1
%{?with_combined_log:%patch8 -p1}
%patch9 -p1
%ifarch ppc
%patch10 -p1
%endif
+%patch11 -p1
%{__sed} -i -e '1s#!.*bin/perl#!%{__perl}#' {contrib,scripts,helpers/*/*}/*.pl
%build
+%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
--enable-removal-policies="heap,lru" \
--enable-snmp \
--enable-ssl \
- --enable-storeio="aufs,coss,diskd,null,ufs" \
+ --enable-storeio="aufs,diskd,null,ufs" \
--enable-useragent-log \
--enable-x-accelerator-vary \
--localstatedir=/var \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_cgidir} \
+install -d $RPM_BUILD_ROOT{%{_cgidir},%{_webapps}/%{_webapp}} \
$RPM_BUILD_ROOT/etc/{pam.d,rc.d/init.d,security,sysconfig,logrotate.d} \
$RPM_BUILD_ROOT{%{_sbindir},%{_bindir},%{_libexecdir}/contrib} \
$RPM_BUILD_ROOT%{_mandir}/man8 \
touch $RPM_BUILD_ROOT/etc/security/blacklist.squid
mv -f $RPM_BUILD_ROOT%{_libdir}/squid/cachemgr.cgi $RPM_BUILD_ROOT%{_cgidir}
+cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+rm -f $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/cachemgr.conf.default
cd $RPM_BUILD_ROOT/etc/squid
-cp -f squid.conf{,.default}
%{__patch} -p0 < %{SOURCE5}
-rm -f *~ *.orig
+rm -f *~ *.orig mime.conf.default squid.conf.default
cd -
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/squid
rm -f $RPM_BUILD_ROOT/etc/squid/msntauth.conf.default \
$RPM_BUILD_ROOT/etc/squid/squid.conf.orig
-> $RPM_BUILD_ROOT/var/cache/squid/netdb_state
-> $RPM_BUILD_ROOT/var/cache/squid/swap.state
-> $RPM_BUILD_ROOT/var/cache/squid/swap.state.clean
-> $RPM_BUILD_ROOT/var/cache/squid/swap.state.last-clean
+:> $RPM_BUILD_ROOT/var/cache/squid/netdb_state
+:> $RPM_BUILD_ROOT/var/cache/squid/swap.state
+:> $RPM_BUILD_ROOT/var/cache/squid/swap.state.clean
+:> $RPM_BUILD_ROOT/var/cache/squid/swap.state.last-clean
%clean
rm -rf $RPM_BUILD_ROOT
%triggerpostun -- squid < 7:2.5.STABLE7-5
%addusertogroup stats squid
+%triggerin cachemgr -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun cachemgr -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin cachemgr -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun cachemgr -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
+%triggerpostun -- cachemgr < 7:3.0.STABLE10-0.2
+if [ -f %{_sysconfdir}/cachemgr.conf.rpmsave ]; then
+ cp -f %{_webapps}/%{_webapp}/cachemgr.conf{,.rpmsave}
+ mv -f %{_sysconfdir}/cachemgr.conf.rpmsave %{_webapps}/%{_webapp}/cachemgr.conf
+fi
+
%files
%defattr(644,root,root,755)
%doc CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART RELEASENOTES.html SPONSORS
-%doc docs/* src/mib.txt FAQ*.html book-full.html
+%doc docs/* src/mib.txt FAQ*.html book-full.html src/squid.conf.default src/mime.conf.default
%attr(755,root,root) %{_bindir}/squidclient
%attr(755,root,root) %{_libexecdir}/diskd
# YES, it has to be suid root, it sends ICMP packets.
%attr(755,root,root) %{_libexecdir}/fakeauth_auth
%attr(755,root,root) %{_sbindir}/*
-%dir %{_sysconfdir}
-
%attr(754,root,root) /etc/rc.d/init.d/squid
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/squid
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/squid
+
+%dir %{_sysconfdir}
%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/squid.conf
%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
-%attr(640,root,root) %{_sysconfdir}/mime.conf.default
-%attr(640,root,root) %{_sysconfdir}/squid.conf.default
%dir %{_datadir}/squid
%dir %{_datadir}/squid/errors
%lang(zh_TW) %{_datadir}/squid/errors/Traditional_Chinese
%lang(tr) %{_datadir}/squid/errors/Turkish
%lang(uk) %{_datadir}/squid/errors/Ukrainian*
+%{_datadir}/squid/errors/templates
%dir %{_libexecdir}
%attr(770,root,squid) %dir /var/log/archive/squid
%files cachemgr
%defattr(644,root,root,755)
-%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cachemgr.conf
-%attr(755,root,root) %{_cgidir}/*
+%dir %attr(750,root,http) %{_webapps}/%{_webapp}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/cachemgr.conf
+%attr(755,root,root) %{_cgidir}/cachemgr.cgi
%{_mandir}/man8/cachemgr.cgi.8*
%files ldap_auth