#
# Conditional build:
-# _with_combined_log - enables apache-like combined log format
+%bcond_with combined_log # enables apache-like combined log format
#
Summary: SQUID Internet Object Cache
-Summary(es): proxy/cache para www/ftp/gopher
+Summary(es): proxy/cache para WWW/FTP/gopher
Summary(pl): Uniwersalny proxy-cache server
Summary(pt_BR): Cache Squid de objetos Internet
Summary(ru): Squid - ËÜÛ ÏÂßÅËÔÏ× Internet
Summary(uk): Squid - ËÅÛ ÏÂ'¤ËÔ¦× Internet
Summary(zh_CN): SQUID ¸ßËÙ»º³å´úÀí·þÎñÆ÷
Name: squid
-Version: 2.5.STABLE4
-Release: 4
+Version: 2.5.STABLE7
+Release: 9
Epoch: 7
License: GPL v2
Group: Networking/Daemons
Source0: http://www.squid-cache.org/Versions/v2/2.5/%{name}-%{version}.tar.bz2
-# Source0-md5: 9894a1fe855b0cccdc14fbf014060990
-Source1: %{name}-1.1.19-faq.tar.gz
-# Source1-md5: 77d04ae621d19548797e3a0deb540df6
+# Source0-md5: bf63e34906c68d716896eec0351108dc
+# http://www.squid-cache.org/Doc/FAQ/FAQ.tar.gz
+Source1: %{name}-FAQ.tar.gz
+# Source1-md5: cb9a955f8cda9cc166e086fccd412a43
Source2: %{name}.init
Source3: %{name}.sysconfig
-Source4: http://cache.is.co.za/%{name}-docs.tar.gz
-# Source4-md5: 0cfee556bf6394a0bd3c438c89dd2e63
+# http://squid-docs.sourceforge.net/latest/zip-files/book-full-html.zip
+Source4: %{name}-book-full-html.zip
+# Source4-md5: 4f3b6dab1de9cbb847df89d8b417378a
Source5: %{name}.conf.patch
Source6: %{name}.logrotate
Source7: %{name}.pamd
# Bug fixes from Squid home page:
-Patch0: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-reconfigure_message.patch
-Patch1: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-digest_auth_pwchange.patch
-Patch2: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-redirect_login_space.patch
-Patch3: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-fqdnnegcache.patch
-Patch4: http://www.squid-cache.org/Versions/v2/2.5/bugs/pam_auth-2.2.patch
-Patch5: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4_auth_param_doc.patch
-Patch6: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-errorpages.patch
-Patch7: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-error_load_text.patch
-Patch8: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-xpi_mime.patch
-Patch9: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-size_overflow.patch
-Patch10: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-extacl_auth_loop.patch
-Patch11: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-squid_ldap_group.patch
-Patch12: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-positive_dns_ttl.patch
-Patch13: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-gopherhtml.patch
-Patch14: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-netroute.patch
-Patch15: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-synflood.patch
-Patch16: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-fqdn.patch
-Patch17: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-connect_cleanup.patch
-Patch18: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-pconn_post.patch
-Patch19: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-ftp_put.patch
-Patch20: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-pconn-load.patch
-Patch21: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-icon_urls.patch
-Patch22: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-redirector_access.patch
-Patch23: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-pconn-lifo.patch
-Patch24: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-cache_peer_maxconn.patch
-Patch25: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-pid_filename_none.patch
-Patch26: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-dns_namelength.patch
-Patch27: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-urllogin_acl.patch
-Patch28: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-russian.patch
-Patch29: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE4-redirlog.patch
-
+Patch0: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7-half_closed_POST.patch
+Patch1: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7_req_resp_header.patch
+Patch2: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7-non_blocking_disk.patch
+Patch3: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7-blank_response.patch
+Patch4: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7-cachemgr_vmobjects.patch
+Patch5: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7-dothost.patch
+Patch6: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE7-empty_acls.patch
# Other patches:
-Patch110: http://www.sed.pl/~mrk/qos/%{name}_hit_miss_mark.patch
-Patch120: %{name}-fhs.patch
-Patch130: %{name}-location.patch
-Patch140: %{name}-domainmatch.patch
-Patch150: %{name}-libnsl_fixes.patch
-Patch170: %{name}-ac_fix.patch
-Patch180: %{name}-crash-on-ENOSPC.patch
-Patch190: %{name}-newssl.patch
-Patch200: %{name}-sasl.patch
-Patch210: http://piorun.ds.pg.gda.pl/~blues/patches/%{name}-more_FD-new.patch
-Patch220: %{name}-empty-referer.patch
-Patch230: %{name}-apache-like-combined-log.patch
+Patch100: http://www.sed.pl/~mrk/qos/%{name}_hit_miss_mark.patch
+Patch101: %{name}-fhs.patch
+Patch102: %{name}-location.patch
+Patch103: %{name}-domainmatch.patch
+Patch104: %{name}-libnsl_fixes.patch
+Patch105: %{name}-ac_fix.patch
+Patch106: %{name}-crash-on-ENOSPC.patch
+Patch107: %{name}-newssl.patch
+Patch108: %{name}-nolibs.patch
+Patch109: http://piorun.ds.pg.gda.pl/~blues/patches/%{name}-more_FD-new.patch
+Patch110: %{name}-empty-referer.patch
+Patch111: %{name}-2.5.STABLE4-apache-like-combined-log.patch
URL: http://www.squid-cache.org/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cyrus-sasl-devel >= 2.1.0
BuildRequires: openldap-devel
-BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel
-BuildRequires: perl
+BuildRequires: perl-base
+BuildRequires: rpmbuild(macros) >= 1.166
+BuildRequires: unzip
PreReq: rc-scripts >= 0.2.0
+PreReq: setup >= 2.4.6
Requires(pre): /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(post,preun): /sbin/chkconfig
Requires(post): /bin/hostname
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
+Provides: group(squid)
+Provides: user(squid)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_libdir}/%{name}
%package ldap_auth
Summary: LDAP authentication helper for Squid
-Summary(pl): Wsparcie autentykacji LDAP dla squida
+Summary(pl): Obs³uga uwierzytelniania LDAP dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
the "simple authentication" (plain-text).
%description ldap_auth -l pl
-Pakiet ten pozwala na autentykacjê LDAP za pomoc± prostej autentykacji
-(otwartym tekstem).
+Pakiet ten pozwala na uwierzytelnianie przez LDAP za pomoc± prostego
+uwierzytelniania (otwartym tekstem).
%package pam_auth
Summary: PAM authentication helper for Squid
-Summary(pl): Wsparcie autentykacji PAM dla squida
+Summary(pl): Obs³uga uwierzytelniania PAM dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: pam >= 0.77.3
users to any authentication source for which you have a PAM module.
%description pam_auth -l pl
-Program ten pozwala na autentykacjê u¿ytkowników squida w dowolnym
+Program ten pozwala na uwierzytelnianie u¿ytkowników squida w dowolnym
¼ródle posiadaj±cym modu³ PAM.
%package smb_auth
Summary: SMB authentication helper for Squid
-Summary(pl): Wsparcie autentykacji SMB dla squida
+Summary(pl): Obs³uga uwierzytelniania SMB dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
Samba.
%description smb_auth -l pl
-To jest modu³ autentykacji proxy. Z smb_auth mo¿esz autentyfikowaæ
-u¿ytkowników proxy na serwerach SMB, jak Windows NT czy Samba.
+To jest modu³ uwierzytelniania proxy. Przy pomocy smb_auth mo¿na
+uwierzytelniaæ u¿ytkowników proxy na serwerach SMB, jak Windows NT czy
+Samba.
%package msnt_auth
Summary: MSNT domain authentication helper for Squid
-Summary(pl): Wsparcie autentykacji domen MSNT dla squida
+Summary(pl): Obs³uga uwierzytelniania w domenie MSNT dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users on an NT domain.
%description msnt_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy w domenie NT.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy w domenie NT.
%package yp_auth
Summary: YP authentication helper for Squid
-Summary(pl): Wsparcie autentykacji YP dla squida
+Summary(pl): Obs³uga uwierzytelniania YP dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users on YP.
%description yp_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy poprzez YP.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy poprzez YP.
%package ncsa_auth
Summary: NCSA httpd style authentication helper for Squid
-Summary(pl): Wsparcie autentykacji NCSA httpd dla squida
+Summary(pl): Obs³uga uwierzytelniania NCSA httpd dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
This module uses a NCSA httpd style password file for authentication.
%description ncsa_auth -l pl
-Modu³ autentykacji proxy u¿ywaj±cy pliku hase³ jak w NCSA httpd.
+Modu³ uwierzytelniania proxy u¿ywaj±cy pliku hase³ jak w NCSA httpd.
%package sasl_auth
Summary: SASL authentication helper for Squid
-Summary(pl): Wsparcie autentykacji SASL dla squida
+Summary(pl): Obs³uga uwierzytelniania SASL dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users via SASL.
%description sasl_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy poprzez SASL.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy poprzez SASL.
%package winbind_auth
Summary: WINBIND authentication helper for Squid
-Summary(pl): Wsparcie autentykacji WINBIND dla squida
+Summary(pl): Obs³uga uwierzytelniania WINBIND dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users via WINBIND.
%description winbind_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy poprzez WINBIND.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy poprzez WINBIND.
%package getpwname_auth
Summary: getpwname authentication helper for Squid
-Summary(pl): Wsparcie autentykacji getpwname dla squida
+Summary(pl): Obs³uga uwierzytelniania getpwname dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users using getpwname.
%description getpwname_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy poprzez getpwname.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy poprzez getpwname.
%package passwd_auth
Summary: passwd authentication helper for Squid
-Summary(pl): Wsparcie autentykacji passwd dla squida
+Summary(pl): Obs³uga uwierzytelniania passwd dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users with separate passwd file.
%description passwd_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy poprzez oddzielny plik passwd.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy poprzez oddzielny plik passwd.
%package ntlm_auth
Summary: NTLM authentication helper for Squid
-Summary(pl): Wsparcie autentykacji NTLM dla squida
+Summary(pl): Obs³uga uwierzytelniania NTLM dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
authenticate users on NTLM.
%description ntlm_auth -l pl
-Jest to modu³ autentykacji proxy, który pozwala na autentyfikowanie
-u¿ytkowników proxy poprzez NTLM.
+Jest to modu³ uwierzytelniania proxy, który pozwala na
+uwierzytelnianie u¿ytkowników proxy poprzez NTLM.
%package ip_acl
Summary: IP external ACL helper for Squid
%description ip_acl
This is an external ACL module for the Squid proxy server to limit
-acces for users based on IP address.
+access for users based on IP address.
%description ip_acl -l pl
Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
%description ldap_acl
This is an external ACL module for the Squid proxy server to limit
-acces for users based on LDAP group membership.
+access for users based on LDAP group membership.
%description ldap_acl -l pl
Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
%description unix_acl
This is an external ACL module for the Squid proxy server to limit
-acces for users based on UNIX group membership.
+access for users based on UNIX group membership.
%description unix_acl -l pl
Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
%description wbinfo_acl
This is an external ACL module for the Squid proxy server to limit
-acces for users based on NT domain group membership using wbinfo.
-
+access for users based on NT domain group membership using wbinfo.
%description wbinfo_acl -l pl
Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
%description winbind_acl
This is an external ACL module for the Squid proxy server to limit
-acces for users based on NT domain group membership based on Samba
+access for users based on NT domain group membership based on Samba
Winbindd from Samba 2.2.4 or greater.
%description winbind_acl -l pl
Samba 2.2.4 lub wy¿szego.
%prep
-%setup -q -a 1 -a 4
-
+%setup -q -a1 -a4
# Bug fixes from Squid home page:
%patch0 -p1
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-
+%patch6 -p1
# Other patches:
+%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
%patch110 -p1
-%patch120 -p1
-%patch130 -p1
-%patch140 -p1
-%patch170 -p1
-%patch180 -p1
-%patch190 -p1
-%patch200 -p1
-%patch210 -p1
-%patch220 -p1
-%{?_with_combined_log:%patch230 -p1}
+%{?with_combined_log:%patch111 -p1}
%build
%{__aclocal}
--sysconfdir=%{_sysconfdir} \
--with-pthreads
-mv -f squid/* doc
%{__make}
perl -pi -e 's#%{_prefix}/.*bin/perl#%{_bindir}/perl#g' contrib/*
rm -f doc/Makefile*
# We don't like message: rpm found unpackaged files ...
-rm -f $RPM_BUILD_ROOT/etc/squid/msntauth.conf.default \
- $RPM_BUILD_ROOT/etc/squid/squid.conf.orig
+rm -f $RPM_BUILD_ROOT/etc/squid/msntauth.conf.default \
+ $RPM_BUILD_ROOT/etc/squid/squid.conf.orig
%clean
rm -rf $RPM_BUILD_ROOT
+%triggerpostun -- squid < 7:2.5.STABLE7-5
+%addusertogroup stats squid
+
%pre
-if [ -n "`getgid squid`" ]; then
- if [ "`getgid squid`" != "91" ]; then
+if [ -n "`/usr/bin/getgid squid`" ]; then
+ if [ "`/usr/bin/getgid squid`" != "91" ]; then
echo "Error: group squid doesn't have gid=91. Correct this before installing squid." 1>&2
exit 1
fi
else
- /usr/sbin/groupadd -g 91 -r -f squid 1>&2 || :
+ /usr/sbin/groupadd -g 91 squid 1>&2
fi
-if [ -n "`id -u squid 2>/dev/null`" ]; then
- if [ "`id -u squid`" != "91" ]; then
+if [ -n "`/bin/id -u squid 2>/dev/null`" ]; then
+ if [ "`/bin/id -u squid`" != "91" ]; then
echo "Error: user squid doesn't have uid=91. Correct this before installing squid." 1>&2
exit 1
fi
else
- /usr/sbin/useradd -M -o -r -u 91 -s /bin/false \
- -g squid -c "SQUID http caching daemon" -d /var/cache/squid squid 1>&2 || :
+ /usr/sbin/useradd -o -u 91 -s /bin/false -g squid \
+ -c "SQUID http caching daemon" -d /var/cache/squid squid 1>&2
+ %addusertogroup stats squid
fi
[ -L %{_datadir}/squid/errors ] && rm -rf %{_datadir}/squid/errors || :
%postun
if [ "$1" = "0" ]; then
- /usr/sbin/userdel squid
- /usr/sbin/groupdel squid
+ %userremove squid
+ %groupremove squid
fi
%files
%defattr(644,root,root,755)
-%doc faq CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART
-%doc RELEASENOTES.html SPONSORS doc/* src/mib.txt
+%doc CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART RELEASENOTES.html SPONSORS
+%doc doc/* src/mib.txt FAQ*.html book-full.html
%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) %dir %{_sysconfdir}
%attr(754,root,root) /etc/rc.d/init.d/squid
-%attr(640,root,root) %config(noreplace) /etc/logrotate.d/squid
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/squid
%attr(640,root,squid) %config(noreplace) /etc/sysconfig/squid
%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