+#
+# Conditional build:
+%bcond_with combined_log # enables apache-like combined log format
+#
Summary: SQUID Internet Object Cache
+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.4.STABLE2
+Version: 2.5.STABLE5
Release: 1
-Epoch: 6
-License: GPL
+Epoch: 7
+License: GPL v2
Group: Networking/Daemons
-Group(de): Netzwerkwesen/Server
-Group(pl): Sieciowe/Serwery
-Source0: http://www.squid-cache.org/Versions/v2/2.4/%{name}-%{version}-src.tar.gz
+Source0: http://www.squid-cache.org/Versions/v2/2.5/%{name}-%{version}.tar.bz2
+# Source0-md5: 45ed1b1cd492e3f529085d09c3ffc1b8
Source1: %{name}-1.1.19-faq.tar.gz
+# Source1-md5: 77d04ae621d19548797e3a0deb540df6
Source2: %{name}.init
Source3: %{name}.sysconfig
Source4: http://cache.is.co.za/%{name}-docs.tar.gz
+# Source4-md5: 0cfee556bf6394a0bd3c438c89dd2e63
Source5: %{name}.conf.patch
Source6: %{name}.logrotate
-Patch0: %{name}-perl.patch
-Patch1: %{name}-linux.patch
-Patch2: %{name}-fhs.patch
-Patch3: %{name}-location.patch
-Patch4: %{name}-domainmatch.patch
-# Bug fixes from Squid home page.
-# Patch10:
-Prereq: rc-scripts >= 0.2.0
-Prereq: /sbin/chkconfig
+Source7: %{name}.pamd
+# Bug fixes from Squid home page:
+Patch0: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-ntlm_assert.patch
+Patch1: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-ldap.patch
+Patch2: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-helper_warning.patch
+Patch3: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-pkgconfig.patch
+Patch4: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-vary.patch
+Patch5: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-lin22_poll.patch
+Patch6: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-version.patch
+Patch7: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-deny_info.patch
+Patch8: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-CONNECT_timeout.patch
+Patch9: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-cache_swap_log.patch
+Patch10: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-ntlm_warning.patch
+Patch11: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-rfc1035NameUnpack.patch
+Patch12: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-digest_blank.patch
+Patch13: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-post_assert.patch
+Patch14: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-spelling.patch
+Patch15: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-digest_ERR.patch
+Patch16: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-turkish_ERR_DNS_FAIL.patch
+Patch17: http://www.squid-cache.org/Versions/v2/2.5/bugs/squid-2.5.STABLE5-vary_negatively.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}-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.7d
+BuildRequires: pam-devel
+BuildRequires: perl
+PreReq: rc-scripts >= 0.2.0
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(post,preun): /sbin/chkconfig
+Requires(post): fileutils
+Requires(post): findutils
+Requires(post): grep
+Requires(post): /bin/hostname
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_libdir}/%{name}
%define _sysconfdir /etc/%{name}
+%define _cgidir /home/services/httpd/cgi-bin
%description
Squid is a high-performance proxy caching server for web clients,
reduces the amount of time the cache waits for DNS lookups. Squid is
derived from the ARPA-funded Harvest project.
+%description -l es
+Squid es un servidor proxy con caché de alto desempeño para clientes
+web, soportando FTP, gopher y HTTP. Diferentemente de softwares
+tradicionales de caché squid manipula todas las requisiciones en un
+único proceso sin bloqueos, direccionado a E/S. Mantienen metadatos y
+objetos frecuentemente pedidos en uno caché en memoria RAM. Hace caché
+de resoluciones DNS, soporta resoluciones DNS sin bloqueo y implementa
+un caché negativo de requisiciones que fallen. Si tiene poca memoria
+da un vistazo en la versión NOVM de este paquete. También soporta SSL,
+controles extensivos de acceso y registro (log) completo de las
+requisiciones. Usando el ligero Protocolo de Caches Internet (ICP)
+puede ser usado en una jerarquía de servidores para mayor ahorro de la
+banda de comunicación. Está compuesto del programa squid (servidor
+principal), del programa dnsserver (para resolución DNS), del programa
+ftpget (para transmisiones ftp) y otras herramientas clientes y para
+administración. Cuando squid se inicia, dispara un número configurable
+de procesos dnsserver, cada uno pudiendo ejecutar solamente una
+resolución DNS con poder de bloquear. Esto reduce el tiempo que el
+caché espera por resoluciones DNS. Fue derivado del proyecto Harvest,
+financiado por la ARPA.
+
%description -l pl
Squid jest wysoce wydajnym serwerem proxy-cache dla przegl±darek WWW,
klientów FTP i gopher. Squid przechowuje najczê¶ciej pobierane dane w
pomocnicze programy do zarz±dzania. Squid wywodzi siê ze
sponsorowanego przez ARPA projektu Harvest.
+%description -l pt_BR
+O Squid é um servidor proxy com cache de alta performance para
+clientes web, suportando FTP, gopher e HTTP. Diferentemente de
+softwares tradicionais de cache o squid manipula todas as requisições
+em um único processo sem bloqueios, direcionado a E/S.
+
+Mantém meta dados e objetos freqüentemente pedidos num cache em
+memória RAM. Faz cache de resoluções DNS, suporta resoluções DNS sem
+bloqueio e implementa um cache negativo de requisições que falharem.
+Se você tem pouca memória dê uma olhada na versão NOVM deste pacote.
+
+Também suporta SSL, controles extensivos de acesso e registro (log)
+completo das requisições. Usando o leve Protocolo de Caches Internet
+(ICP) ele pode ser usado em uma hierarquia de servidores para maior
+economia de banda de comunicação.
+
+Ele consiste do programa squid (servidor principal), do programa
+dnsserver (para resolução DNS), do programa ftpget (para transmissões
+ftp) e outras ferramentas clientes e para gerenciamento. Quando o
+squid é inicializado ele dispara um número configurável de processos
+dnsserver, cada um podendo executar somente uma resolução DNS
+bloqueante. Isto reduz o tempo que o cache espera por resoluções DNS.
+
+Foi derivado do projeto Harvest, financiado pela ARPA.
+
+%description -l ru
+Squid - ÜÔÏ ×ÙÓÏËÏÐÒÏÉÚ×ÏÄÉÔÅÌØÎÙÊ ËÜÛÉÒÕÀÝÉÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÄÌÑ
+ËÌÉÅÎÔÏ× web, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÊ ÏÂßÅËÔÙ ÄÁÎÎÙÈ ÔÉÐÁ FTP, gopher É HTTP. ÷
+ÏÔÌÉÞÉÅ ÏÔ ÔÒÁÄÉÃÉÏÎÎÙÈ ËÜÛÉÒÕÀÝÉÈ ÐÒÏÇÒÁÍÍ, Squid ÏÂÒÁÂÁÔÙ×ÁÅÔ ×ÓÅ
+ÚÁÐÒÏÓÙ ÐÒÉ ÐÏÍÏÝÉ ÏÄÎÏÇÏ ÎÅÂÌÏËÉÒÕÀÝÅÇÏÓÑ, ÕÐÒÁ×ÌÑÅÍÏÇÏ
+××ÏÄÏÍ-×Ù×ÏÄÏÍ ÐÒÏÃÅÓÓÁ.
+
+üÔÏÔ ÐÁËÅÔ ÉÍÅÅÔ ×ÓÔÒÏÅÎÎÕÀ ÐÏÄÄÅÒÖËÕ ÂÁÚÙ ÄÁÎÎÙÈ ÓÅÔÅ×ÙÈ ICMP-ÐÒÏÂ
+(Netdb).
+
+%description -l uk
+Squid - ÃÅ ËÅÛÕÀÞÉÊ ÐÒÏËÓ¦-ÓÅÒ×ÅÒ ÄÌÑ web-Ë̦¤ÎÔ¦×, ÝÏ Ð¦ÄÔÒÉÍÕ¤
+ÏÂ'¤ËÔÉ ÄÁÎÉÈ ÔÉÐÕ FTP, gopher ÔÁ HTTP. îÁ צÄͦÎÕ ×¦Ä ÔÒÁÄÉæÊÎÉÈ
+ËÅÛÕÀÞÉÈ ÐÒÏÇÒÁÍ, Squid ÏÂÒÏÂÌѤ ×Ó¦ ÚÁÐÉÔÉ ÚÁ ÄÏÐÏÍÏÇÏÀ ÏÄÎÏÇÏ
+ÎÅÂÌÏËÕÀÞÏÇÏ, ËÅÒÏ×ÁÎÏÇÏ ××ÏÄÏÍ-×É×ÏÄÏÍ ÐÒÏÃÅÓÕ.
+
+ãÅÊ ÐÁËÅÔ ÍÁ¤ ×ÂÕÄÏ×ÁÎÕ Ð¦ÄÔÒÉÍËÕ ÂÁÚÉ ÄÁÎÉÈ ÍÅÒÅÖÅ×ÉÈ ICMP-ÐÒÏÂ
+(Netdb).
+
%package cachemgr
Summary: CGI script for Squid management
Summary(pl): Skrypt CGI do zarz±dzania Squidem przez WWW
Group: Networking/Admin
-Group(de): Netzwerkwesen/Administration
-Group(pl): Sieciowe/Administracyjne
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: httpd
%description cachemgr
Cachemgr.cgi is a CGI script that allows administrator to chceck
various informations about Squid via WWW.
-%description -l pl cachemgr
+%description cachemgr -l pl
Cachemgr.cgi jest skryptem CGI, który pozwala administratorowi
-zapoznaæ siê z informacjami o pracy Squid'a poprzez WWW.
+zapoznaæ siê z informacjami o pracy Squida poprzez WWW.
+
+%package ldap_auth
+Summary: LDAP authentication helper for Squid
+Summary(pl): Obs³uga uwierzytelniania LDAP dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description ldap_auth
+This Squid helper allows authentication against LDAP directories using
+the "simple authentication" (plain-text).
+
+%description ldap_auth -l pl
+Pakiet ten pozwala na uwierzytelnianie przez LDAP za pomoc± prostego
+uwierzytelniania (otwartym tekstem).
+
+%package pam_auth
+Summary: PAM authentication helper for Squid
+Summary(pl): Obs³uga uwierzytelniania PAM dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: pam >= 0.77.3
+
+%description pam_auth
+This program authenticates users against a PAM configured
+authentication service "squid". This allows you to authenticate Squid
+users to any authentication source for which you have a PAM module.
+
+%description pam_auth -l pl
+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): Obs³uga uwierzytelniania SMB dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description smb_auth
+This is a proxy authentication module. With smb_auth you can
+authenticate proxy users against an SMB server like Windows NT or
+Samba.
+
+%description smb_auth -l pl
+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): Obs³uga uwierzytelniania w domenie MSNT dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description msnt_auth
+This is an authentication module for the Squid proxy server to
+authenticate users on an NT domain.
+
+%description msnt_auth -l pl
+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): Obs³uga uwierzytelniania YP dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description yp_auth
+This is an authentication module for the Squid proxy server to
+authenticate users on YP.
+
+%description yp_auth -l pl
+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): Obs³uga uwierzytelniania NCSA httpd dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description ncsa_auth
+This module uses a NCSA httpd style password file for authentication.
+
+%description ncsa_auth -l pl
+Modu³ uwierzytelniania proxy u¿ywaj±cy pliku hase³ jak w NCSA httpd.
+
+%package sasl_auth
+Summary: SASL authentication helper for Squid
+Summary(pl): Obs³uga uwierzytelniania SASL dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description sasl_auth
+This is an authentication module for the Squid proxy server to
+authenticate users via SASL.
+
+%description sasl_auth -l pl
+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): Obs³uga uwierzytelniania WINBIND dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description winbind_auth
+This is an authentication module for the Squid proxy server to
+authenticate users via WINBIND.
+
+%description winbind_auth -l pl
+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): Obs³uga uwierzytelniania getpwname dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description getpwname_auth
+This is an authentication module for the Squid proxy server to
+authenticate users using getpwname.
+
+%description getpwname_auth -l pl
+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): Obs³uga uwierzytelniania passwd dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description passwd_auth
+This is an authentication module for the Squid proxy server to
+authenticate users with separate passwd file.
+
+%description passwd_auth -l pl
+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): Obs³uga uwierzytelniania NTLM dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description ntlm_auth
+This is an authentication module for the Squid proxy server to
+authenticate users on NTLM.
+
+%description ntlm_auth -l pl
+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
+Summary(pl): Wsparcie kontroli dostêpu przez IP dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description ip_acl
+This is an external ACL module for the Squid proxy server to limit
+acces for users based on IP address.
+
+%description ip_acl -l pl
+Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
+ograniczenie dostêpu u¿ytkowników proxy na podstawie ich adresu IP.
+
+%package ldap_acl
+Summary: LDAP group external ACL helper for Squid
+Summary(pl): Wsparcie kontroli dostêpu przez grupy LDAP dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description ldap_acl
+This is an external ACL module for the Squid proxy server to limit
+acces 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
+ograniczenie dostêpu u¿ytkowników proxy na podstawie ich
+przynale¿no¶ci do grup LDAP.
+
+%package unix_acl
+Summary: UNIX group external ACL helper for Squid
+Summary(pl): Wsparcie kontroli dostêpu przez grupy UNIX dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description unix_acl
+This is an external ACL module for the Squid proxy server to limit
+acces 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
+ograniczenie dostêpu u¿ytkowników proxy na podstawie ich
+przynale¿no¶ci do grup UNIX.
+
+%package wbinfo_acl
+Summary: NT domain group external ACL helper for Squid
+Summary(pl): Wsparcie kontroli dostêpu przez grupy w domenie NT dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%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.
+
+
+%description wbinfo_acl -l pl
+Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
+ograniczenie dostêpu u¿ytkowników proxy na podstawie ich
+przynale¿no¶ci do grup w domenie NT przy u¿yciu wbinfo.
+
+%package winbind_acl
+Summary: NT domain group external ACL helper for Squid
+Summary(pl): Wsparcie kontroli dostêpu przez grupy w domenie NT dla squida
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%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
+Winbindd from Samba 2.2.4 or greater.
+
+%description winbind_acl -l pl
+Jest to modu³ kontroli dostêpu (ACL) do proxy, który pozwala na
+ograniczenie dostêpu u¿ytkowników proxy na podstawie ich
+przynale¿no¶ci do grup w domenie NT oparty na Samba Winbindd z pakietu
+Samba 2.2.4 lub wy¿szego.
%prep
%setup -q -a 1 -a 4
-# Bug fixes from Squid home page.
-# None at the moment, but will be here soon... ;)
-
-%patch0 -p1
-%patch1 -p1
+# Bug fixes from Squid home page:
+%patch0 -p1
+%patch1 -p1
%patch2 -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
+
+# Other patches:
+%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}
%build
-autoconf
+%{__aclocal}
+%{__autoconf}
+%{__automake}
%configure \
- --localstatedir=/var \
- --enable-icmp \
- --enable-useragent-log \
- --enable-snmp \
+ --datadir=%{_datadir}/squid \
+ --disable-ipf-transparent \
--enable-arp-acl \
+ --enable-auth=yes \
+ --enable-basic-auth-helpers=yes \
+ --enable-cache-digests \
+ --enable-carp \
+ --enable-delay-pools \
+ --enable-digest-auth-helpers=yes \
--enable-err-language=English \
+ --enable-external-acl-helpers=yes \
+ --enable-forw-via-db \
--enable-htcp \
- --enable-carp \
- --enable-storeio="aufs,coss,diskd,null,ufs" \
+ --enable-icmp \
+ --enable-linux-netfilter \
+ --enable-ntlm-auth-helpers=yes \
+ --enable-referer-log \
--enable-removal-policies="lru heap" \
- --disable-ipf-transparent \
- --enable-delay-pools \
- --with-pthreads \
- --enable-cache-digests
-# old dns-checker:
-# --disable-internal-dns \
-# for 2.4 kernel:
-# --enable-linux-netfilter\
+ --enable-ssl \
+ --enable-snmp \
+ --enable-storeio="aufs,coss,diskd,null,ufs" \
+ --enable-underscores \
+ --enable-useragent-log \
+ --enable-x-accelerator-vary \
+ --localstatedir=/var \
+ --sysconfdir=%{_sysconfdir} \
+ --with-pthreads
mv -f squid/* doc
-%{__make}
+%{__make}
+
+perl -pi -e 's#%{_prefix}/.*bin/perl#%{_bindir}/perl#g' contrib/*
+perl -pi -e 's#%{_prefix}/.*bin/perl#%{_bindir}/perl#g' scripts/*
+find helpers/ -type f | xargs perl -pi -e 's#%{_prefix}/.*bin/perl#%{_bindir}/perl#g'
%install
rm -rf $RPM_BUILD_ROOT
-
-install -d \
- $RPM_BUILD_ROOT/home/httpd/cgi-bin \
- $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,logrotate.d} \
+install -d $RPM_BUILD_ROOT%{_cgidir} \
+ $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}/man1 \
+ $RPM_BUILD_ROOT%{_mandir}/man8 \
$RPM_BUILD_ROOT%{_datadir}/squid \
$RPM_BUILD_ROOT/var/{cache,log{,/archiv}}/squid
%{__make} install \
- prefix=$RPM_BUILD_ROOT%{_prefix} \
- sysconfdir=$RPM_BUILD_ROOT/etc/squid \
- bindir=$RPM_BUILD_ROOT%{_bindir} \
- libdir=$RPM_BUILD_ROOT%{_libdir} \
- libexecdir=$RPM_BUILD_ROOT%{_bindir} \
- localstatedir=$RPM_BUILD_ROOT/var \
- datadir=$RPM_BUILD_ROOT%{_datadir}
-
-# We don't use %{__make} install-pinger, because it tries to set it suid root.
-install src/pinger $RPM_BUILD_ROOT%{_bindir}
-
-mv -f contrib/*.pl $RPM_BUILD_ROOT%{_libexecdir}/contrib
-
-mv -f $RPM_BUILD_ROOT%{_bindir}/cachemgr.cgi $RPM_BUILD_ROOT/home/httpd/cgi-bin
-mv -f $RPM_BUILD_ROOT%{_bindir}/squid $RPM_BUILD_ROOT%{_sbindir}/
-mv -f $RPM_BUILD_ROOT/etc/squid/icons $RPM_BUILD_ROOT%{_datadir}/squid
-
-cd errors
-for LNG in *; do
- if [ -d $LNG ]; then
- mv -f $LNG $RPM_BUILD_ROOT%{_datadir}/squid/errors.$LNG
- fi
-done
-cd ..
+ DESTDIR=$RPM_BUILD_ROOT
+
+cp -a contrib/*.pl $RPM_BUILD_ROOT%{_libexecdir}/contrib
+install scripts/*.pl $RPM_BUILD_ROOT%{_libexecdir}
+
+install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/squid
+touch $RPM_BUILD_ROOT/etc/security/blacklist.squid
+
+mv -f $RPM_BUILD_ROOT%{_libdir}/squid/cachemgr.cgi $RPM_BUILD_ROOT%{_cgidir}
cd $RPM_BUILD_ROOT/etc/squid
-cp squid.conf{,.default}
+cp -f squid.conf{,.default}
patch -p0 < %{SOURCE5}
cd -
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/squid
install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/squid
-install scripts/*.pl $RPM_BUILD_ROOT%{_libexecdir}
-
touch $RPM_BUILD_ROOT/var/log/squid/{access,cache,store}.log
# These two files start squid. They are replaced by /etc/rc.d/init.d script.
rm -f $RPM_BUILD_ROOT%{_bindir}/R*
-gzip -9nf CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART \
- TODO
+# dunno why, but manual is not installed
+mv doc/squid.8 $RPM_BUILD_ROOT%{_mandir}/man8
-%pre
-grep -q squid /etc/group || (
- /usr/sbin/groupadd -g 91 -r -f squid 1>&2 || :
-)
-grep -q squid /etc/passwd || (
- /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 || :
-)
+# We don't want Makefiles as docs...
+rm -f doc/Makefile*
-%post
-# If there is already link, don't do anything.
-if [ ! -e %{_datadir}/squid/errors ]; then
+# 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
+
+%clean
+rm -rf $RPM_BUILD_ROOT
-# Try to create link to Polish, and then any directory but English.
-if [ -d %{_datadir}/squid/errors.Polish ]; then
- ln -sf %{_datadir}/squid/errors{.Polish,}
- exit
+%pre
+if [ -n "`getgid squid`" ]; then
+ if [ "`getgid squid`" != "91" ]; then
+ echo "Error: group squid doesn't have gid=91. Correct this before installing squid." 1>&2
+ exit 1
+ fi
else
- find %{_datadir}/squid/errors/ -type d -name 'errors.*'| while read NAME; do
- if [ $NAME != "English" ]; then
- ln -fs $NAME %{_datadir}/squid/errors
- exit
- fi
- done
+ /usr/sbin/groupadd -g 91 -r -f squid 1>&2 || :
fi
+if [ -n "`id -u squid 2>/dev/null`" ]; then
+ if [ "`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 || :
+fi
+[ -L %{_datadir}/squid/errors ] && rm -rf %{_datadir}/squid/errors || :
-# Create symlink to English if everything else fails.
-ln -sf %{_datadir}/squid/errors{.English,}
-
+%post
+if ! grep -q "^visible_hostname" /etc/squid/squid.conf; then
+ echo visible_hostname `/bin/hostname -f` >> /etc/squid/squid.conf
fi
if [ "$1" = "1" ]; then
/etc/rc.d/init.d/squid stop >&2
fi
/sbin/chkconfig --del squid
- rm -f %{_datadir}/squid/errors
fi
-%clean
-rm -rf $RPM_BUILD_ROOT
+%postun
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel squid
+ /usr/sbin/groupdel squid
+fi
%files
%defattr(644,root,root,755)
-%doc faq *.gz doc/*
-
-%attr(755,root,root) %{_bindir}/client
-%attr(755,root,root) %{_bindir}/diskd
-# It's obsolete while internal-dns is enabled
-#%attr(755,root,root) %{_bindir}/dnsserver
+%doc faq CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART
+%doc RELEASENOTES.html SPONSORS doc/* src/mib.txt
+%attr(755,root,root) %{_bindir}/squidclient
+%attr(755,root,root) %{_libexecdir}/diskd
# YES, it has to be suid root, it sends ICMP packets.
-%attr(4754,root,squid) %{_bindir}/pinger
-%attr(755,root,root) %{_bindir}/unlinkd
+%attr(4754,root,squid) %{_libexecdir}/pinger
+%attr(755,root,root) %{_libexecdir}/unlinkd
+%attr(755,root,root) %{_libexecdir}/fakeauth_auth
%attr(755,root,root) %{_sbindir}/*
%attr(755,root,root) %dir %{_sysconfdir}
%attr(754,root,root) /etc/rc.d/init.d/squid
-%attr(640,root,root) /etc/logrotate.d/squid
+%attr(640,root,root) %config(noreplace) /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
%attr(640,root,root) %{_sysconfdir}/mime.conf.default
%attr(640,root,root) %{_sysconfdir}/squid.conf.default
+%dir %{_datadir}/squid
+%dir %{_datadir}/squid/errors
%{_datadir}/squid/icons
%{_datadir}/squid/mib.txt
-%lang(bg) %{_datadir}/squid/errors.Bulgarian
-%lang(cs) %{_datadir}/squid/errors.Czech
-%lang(da) %{_datadir}/squid/errors.Danish
-%lang(nl) %{_datadir}/squid/errors.Dutch
-%{_datadir}/squid/errors.English
-%lang(et) %{_datadir}/squid/errors.Estonian
-%lang(fi) %{_datadir}/squid/errors.Finnish
-%lang(fr) %{_datadir}/squid/errors.French
-%lang(de) %{_datadir}/squid/errors.German
-%lang(hu) %{_datadir}/squid/errors.Hungarian
-%lang(it) %{_datadir}/squid/errors.Italian
-%lang(ja) %{_datadir}/squid/errors.Japanese
-%lang(ko) %{_datadir}/squid/errors.Korean
-%lang(pl) %{_datadir}/squid/errors.Polish
-%lang(pt) %{_datadir}/squid/errors.Portuguese
-%lang(ro) %{_datadir}/squid/errors.Romanian
-%lang(ru) %{_datadir}/squid/errors.Russian-1251
-%lang(ru) %{_datadir}/squid/errors.Russian-koi8-r
-%lang(zh) %{_datadir}/squid/errors.Simplify_Chinese
-%lang(sk) %{_datadir}/squid/errors.Slovak
-%lang(es) %{_datadir}/squid/errors.Spanish
-%lang(sv) %{_datadir}/squid/errors.Swedish
-%lang(zh) %{_datadir}/squid/errors.Traditional_Chinese
-%lang(tr) %{_datadir}/squid/errors.Turkish
-
-%attr(750,root,root) %{_libexecdir}
+%lang(bg) %{_datadir}/squid/errors/Bulgarian
+%lang(ca) %{_datadir}/squid/errors/Catalan
+%lang(cs) %{_datadir}/squid/errors/Czech
+%lang(da) %{_datadir}/squid/errors/Danish
+%lang(nl) %{_datadir}/squid/errors/Dutch
+%{_datadir}/squid/errors/English
+%lang(et) %{_datadir}/squid/errors/Estonian
+%lang(fi) %{_datadir}/squid/errors/Finnish
+%lang(fr) %{_datadir}/squid/errors/French
+%lang(de) %{_datadir}/squid/errors/German
+%lang(he) %{_datadir}/squid/errors/Hebrew
+%lang(hu) %{_datadir}/squid/errors/Hungarian
+%lang(it) %{_datadir}/squid/errors/Italian
+%lang(ja) %{_datadir}/squid/errors/Japanese
+%lang(ko) %{_datadir}/squid/errors/Korean
+%lang(lt) %{_datadir}/squid/errors/Lithuanian
+%lang(pl) %{_datadir}/squid/errors/Polish
+%lang(pt) %{_datadir}/squid/errors/Portuguese
+%lang(ro) %{_datadir}/squid/errors/Romanian
+%lang(ru) %{_datadir}/squid/errors/Russian-1251
+%lang(ru) %{_datadir}/squid/errors/Russian-koi8-r
+%lang(zh_CN) %{_datadir}/squid/errors/Simplify_Chinese
+%lang(sk) %{_datadir}/squid/errors/Slovak
+%lang(es) %{_datadir}/squid/errors/Spanish
+%lang(sr) %{_datadir}/squid/errors/Serbian
+%lang(sv) %{_datadir}/squid/errors/Swedish
+%lang(zh_TW) %{_datadir}/squid/errors/Traditional_Chinese
+%lang(tr) %{_datadir}/squid/errors/Turkish
+
+%attr(755,root,root) %dir %{_libexecdir}
+%attr(755,root,root) %{_libexecdir}/*.pl
+%attr(755,root,root) %{_libexecdir}/contrib
%attr(770,root,squid) %dir /var/log/archiv/squid
%attr(770,root,squid) %dir /var/log/squid
%attr(660,root,squid) %ghost /var/log/squid/*
%attr(770,root,squid) %dir /var/cache/squid
+%{_mandir}/man8/squid.8*
%files cachemgr
%defattr(644,root,root,755)
-%attr(755,root,root) /home/httpd/cgi-bin/*
+%attr(755,root,root) %{_cgidir}/*
+
+%files ldap_auth
+%defattr(644,root,root,755)
+%doc helpers/basic_auth/LDAP/README
+%attr(755,root,root) %{_libexecdir}/%{name}_ldap_auth
+%attr(644,root,root) %{_mandir}/man8/%{name}_ldap_auth.*
+
+%files pam_auth
+%defattr(644,root,root,755)
+%doc helpers/basic_auth/PAM/pam_auth.c
+%config(noreplace) /etc/pam.d/squid
+%config(noreplace) /etc/security/blacklist.squid
+%attr(755,root,root) %{_libexecdir}/pam_auth
+%{_mandir}/man8/pam_auth.8*
+
+%files smb_auth
+%defattr(644,root,root,755)
+%doc helpers/basic_auth/SMB/{README,ChangeLog,smb_auth.sh}
+%doc helpers/basic_auth/multi-domain-NTLM/*
+%attr(755,root,root) %{_libexecdir}/smb_auth*
+
+%files msnt_auth
+%defattr(644,root,root,755)
+%doc helpers/basic_auth/MSNT/README*
+%attr(755,root,root) %{_libexecdir}/msnt_auth
+%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msntauth.conf
+
+%files yp_auth
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/yp_auth
+
+%files ncsa_auth
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/ncsa_auth
+
+%files sasl_auth
+%defattr(644,root,root,755)
+%doc helpers/basic_auth/SASL/{README,squid_sasl*}
+%attr(755,root,root) %{_libexecdir}/sasl_auth
+
+%files winbind_auth
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/wb_auth
+
+%files getpwname_auth
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/getpwname_auth
+
+%files passwd_auth
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/digest_pw_auth
+
+%files ntlm_auth
+%defattr(644,root,root,755)
+%doc helpers/ntlm_auth/no_check/{README*,no_check.pl}
+%attr(755,root,root) %{_libexecdir}/wb_ntlmauth
+%attr(755,root,root) %{_libexecdir}/ntlm_auth
+
+%files ip_acl
+%defattr(644,root,root,755)
+%doc helpers/external_acl/ip_user/{README,example*}
+%attr(755,root,root) %{_libexecdir}/ip_user_check
+
+%files ldap_acl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/squid_ldap_group
+%attr(644,root,root) %{_mandir}/man8/%{name}_ldap_group.*
+
+%files unix_acl
+%defattr(644,root,root,755)
+%doc helpers/external_acl/unix_group/README
+%attr(755,root,root) %{_libexecdir}/squid_unix_group
+%attr(644,root,root) %{_mandir}/man8/%{name}_unix_group.*
+
+%files wbinfo_acl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/wbinfo_group.pl
+
+%files winbind_acl
+%defattr(644,root,root,755)
+%doc helpers/external_acl/winbind_group/readme.txt
+%attr(755,root,root) %{_libexecdir}/wb_group