File squid.spec of Package squid
#
# spec file for package squid (Version 2.7.STABLE5)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# needsrootforbuild
Name: squid
BuildRequires: db-devel openldap2-devel opensp-devel pam-devel samba
BuildRequires: sgmltool sharutils
%ifarch %ix86 x86_64 ppc ppc64
BuildRequires: valgrind valgrind-devel
%endif
Summary: Squid WWW proxy server
Version: 2.7.STABLE5
Release: 1.<RELEASE21>
License: GPL v2 or later
Url: http://www.squid-cache.org
Group: Productivity/Networking/Web/Proxy
Requires: logrotate, cron
Provides: http_proxy
Conflicts: squid-beta squid2 squid23
AutoReqProv: on
PreReq: /usr/sbin/useradd, %insserv_prereq, %fillup_prereq
Source: squid-%{version}.tar.bz2
%define squid_ldapauth_version 1.3
Source1: squid_ldapauth-%{squid_ldapauth_version}.tar.bz2
Source2: rc.squid
Source4: README.SuSE
Source5: pam.squid
Source6: squid.logrotate
Source7: squid-%{version}-RELEASENOTES.html
Source8: contrib-2.4.STABLE6.tar.bz2
# OBSOLETE: Create with: wget --cut-dirs=1 -nH -m -k -r -I/Doc/FAQ/ http://www.squid-cache.org/Doc/FAQ/
# FAQ is now changed into a wiki. The complete FAQ can be found at:
# http://wiki.squid-cache.org/SquidFaq/CompleteFaq
Source10: CompleteFaq.html
# Source: http://gaugusch.at/squid.shtml
Source11: squid_ie_blocker.txt
Source12: http://www.squid-cache.org/WCCP-support/Linux/ip_wccp.c
Source13: squid.sysconfig
Patch0: squid-2.7.STABLE3-config.patch
# Patch1: http://www.squid-cache.org/Versions/v2/2.7/changesets/12374.patch
# Patch2: http://www.squid-cache.org/Versions/v2/2.7/changesets/12375.patch
# Patch3: http://www.squid-cache.org/Versions/v2/2.7/changesets/12376.patch
# Patch4: http://www.squid-cache.org/Versions/v2/2.7/changesets/12377.patch
# Patch5: http://www.squid-cache.org/Versions/v2/2.7/changesets/12378.patch
# Patch6: http://www.squid-cache.org/Versions/v2/2.7/changesets/12380.patch
# Patch7: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch8: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch9: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch10: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch11: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch12: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch13: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch14: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch15: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch16: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch17: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch18: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch19: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch20: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch21: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch22: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch23: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch24: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch25: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch26: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch27: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch28: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch29: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch30: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch31: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch32: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch33: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch34: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch35: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch36: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch37: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch38: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch39: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch40: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch41: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch42: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch43: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch44: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch45: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch46: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch47: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch48: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch49: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch50: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch51: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch52: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch53: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch54: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch55: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch56: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch57: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch58: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch59: http://www.squid-cache.org/Versions/v2/2.7/changesets/
# Patch99: http://www.squid-cache.org/~wessels/patch/libntlmssp.c.patch
Patch100: squid_ldapauth-%{squid_ldapauth_version}.dif
Patch101: %{name}-2.6.STABLE19-64bit.patch
Patch102: %{name}-2.6.STABLE2-ldflags.patch
Patch103: http://www.squid-cache.org/Versions/v2/2.7/changesets/12432.patch
Patch104: http://www.squid-cache.org/Versions/v2/2.7/changesets/12442.patch
Patch105: squid_dns_dos_bnc576087.patch
Patch106: squid-2.6.STABLE20-bug2541-bnc577347.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define squidconfdir /etc/squid
%description
The stable version of the Squid WWW Proxy Server.
Home page: http://www.squid-cache.org
Authors:
--------
Duane Wessels <wessels@ircache.net>
%prep
%setup -q -n squid-%{version} -a 1 -a 8
#(cd auth_modules
#tar xzf %{S:21}
#rm -r MSNT
#mv msntauth-v2.0.3-squid.1 MSNT
#)
%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
# %patch18 -p1
# %patch19 -p1
# %patch20 -p1
# %patch21 -p1
# %patch22 -p1
# %patch23 -p1
# %patch24 -p1
# %patch25 -p1
# %patch26 -p1
# %patch27 -p1
# %patch28 -p1
# %patch29 -p1
# %patch30 -p1
# %patch31 -p1
# %patch32 -p1
# %patch33 -p1
# %patch34 -p1
# %patch35 -p1
# %patch36 -p1
# %patch37 -p1
# %patch38 -p1
# %patch39 -p1
# %patch40 -p1
# %patch41 -p1
# %patch42 -p1
# %patch43 -p1
# %patch44 -p1
# %patch45 -p1
# %patch46 -p1
# %patch47 -p1
# %patch48 -p1
# %patch49 -p1
# %patch50 -p1
# %patch51 -p1
# %patch52 -p1
# %patch53 -p1
# %patch54 -p1
# %patch55 -p1
# %patch56 -p1
# %patch57 -p1
# %patch58 -p1
# %patch59 -p1
# %patch99 -p0
perl -pi -e 's%^#!/usr/local/bin/perl%#!/usr/bin/perl%g' `find -name "*.pl"`
(cd squid_ldapauth*
%patch100
)
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p0
%build
%{?suse_update_config:%{suse_update_config}}
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fPIE -DLDAP_DEPRECATED -fno-strict-aliasing"
export CFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="-pie"
aclocal
touch NEWS AUTHORS
automake
autoconf
./configure --prefix=/usr \
--sysconfdir=%{squidconfdir} \
--bindir=/usr/sbin \
--sbindir=/usr/sbin \
--localstatedir=/var \
--libexecdir=/usr/sbin \
--datadir=/usr/share/squid \
--mandir=%{_mandir} \
--with-dl \
--with-maxfd=4096 \
%ifarch %ix86 x86_64 ppc ppc64
--with-valgrind-debug \
%endif
--enable-snmp \
--enable-carp \
--enable-useragent-log \
--enable-auth="basic digest negotiate ntlm" \
--enable-basic-auth-helpers="LDAP MSNT NCSA PAM SMB YP getpwnam multi-domain-NTLM" \
--enable-ntlm-auth-helpers="SMB fakeauth no_check" \
--enable-digest-auth-helpers="ldap password" \
--enable-external-acl-helpers="ip_user ldap_group session unix_group wbinfo_group" \
--enable-ntlm-fail-open \
--enable-referer-log \
--enable-arp-acl \
--enable-htcp \
--enable-underscores \
--enable-stacktraces \
--enable-delay-pools \
--enable-useragent-log \
--enable-referer-log \
--enable-forward-log \
--enable-multicast-miss \
--enable-ssl \
--enable-cache-digests \
--enable-auth-on-acceleration \
--enable-storeio="aufs,coss,diskd,null,ufs" \
--enable-linux-netfilter \
--enable-removal-policies="heap,lru" \
--enable-icmp \
--with-samba-sources=/usr/include/samba \
--enable-large-cache-files \
--enable-x-accelerator-vary \
--enable-follow-x-forwarded-for
make DEFAULT_SWAP_DIR=/var/cache/squid \
DEFAULT_LOG_PREFIX=/var/log/squid \
DEFAULT_PID_FILE=/var/run/squid.pid \
SAMBAPREFIX=/usr
make -C squid_ldapauth-%{squid_ldapauth_version}
mkdir FAQ
cp -p %{SOURCE10} FAQ
%install
mkdir -p $RPM_BUILD_ROOT/var/{cache,log}/squid
mkdir -p $RPM_BUILD_ROOT/usr/sbin
make install DESTDIR=$RPM_BUILD_ROOT SAMBAPREFIX=/usr
mv $RPM_BUILD_ROOT{/etc/squid/,/usr/share/squid/}mime.conf.default
mv $RPM_BUILD_ROOT{/etc/squid/,/usr/share/squid/}msntauth.conf.default
cp $RPM_BUILD_ROOT{/etc/squid/,/usr/share/squid/}msntauth.conf
ln -s /etc/squid/mime.conf $RPM_BUILD_ROOT/usr/share/squid # backward compatible
install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d
install -m 644 %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/squid
install -d %{buildroot}%{_mandir}/man8/
install -m 644 doc/squid.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
install -m 644 helpers/basic_auth/PAM/pam_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
install -m 644 helpers/external_acl/ldap_group/squid_ldap_group.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
gzip -9 $RPM_BUILD_ROOT/%{_mandir}/man8/*.8
install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d/squid
ln -sf /etc/init.d/squid $RPM_BUILD_ROOT/usr/sbin/rcsquid
install -d -m 755 doc/scripts
install scripts/*.pl doc/scripts
cat > doc/scripts/cachemgr.readme <<-EOT
cachemgr.cgi will now be found in %{_libdir}/squid
EOT
install -d -m 755 $RPM_BUILD_ROOT/%{_libdir}/squid
mv $RPM_BUILD_ROOT/usr/sbin/cachemgr.cgi $RPM_BUILD_ROOT/%{_libdir}/squid
#nothing for squid-2.5.STABLE1:
install -d -m 755 doc/contrib
install contrib/*.pl doc/contrib
#rm doc/Programming-Guide/Makefile
install -m 644 %{SOURCE7} doc
install -m 644 %{SOURCE4} .
install -m 644 %{SOURCE11} doc/contrib
install -m 644 %{SOURCE12} doc/contrib
install -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/squid
pushd squid_ldapauth-%{squid_ldapauth_version}
install -m 750 squid_ldapauth $RPM_BUILD_ROOT/usr/sbin/
cp README ../README.squid_ldapauth
cp CREDITS ../CREDITS.squid_ldapauth
cp squid_ldapauth.conf ..
popd
cp -a helpers/external_acl/ip_user/README README.ip_user
rm %{buildroot}/usr/sbin/Run*
install -d -m 755 $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 644 %{SOURCE13} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.squid
rm -f $RPM_BUILD_ROOT/etc/squid/squid.conf.default
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/pam_auth.8
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/squid.8
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/squid_ldap_auth.8
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/squid_ldap_group.8
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/squid_unix_group.8
%clean
rm -rf $RPM_BUILD_ROOT
%pre
/usr/sbin/useradd -r -o -g nogroup -u 31 -s /bin/false -c "WWW-proxy squid" -d /var/cache/squid squid 2> /dev/null || :
%post
%{fillup_and_insserv squid}
%preun
%stop_on_removal squid
%postun
%restart_on_update squid
%{insserv_cleanup}
%verifyscript
%files
%defattr(-,root,root)
%attr(750,squid,root) %dir /var/cache/squid
%attr(750,squid,root) %dir /var/log/squid
%dir %{squidconfdir}
%config(noreplace) %{squidconfdir}/squid.conf
%config(noreplace) %{squidconfdir}/cachemgr.conf
%config(noreplace) /etc/logrotate.d/squid
%config(noreplace) %{squidconfdir}/mime.conf
%config(noreplace) %{squidconfdir}/msntauth.conf
%config /etc/pam.d/squid
%config /etc/init.d/squid
%dir /usr/share/squid
/usr/share/squid/errors
/usr/share/squid/icons
%config /usr/share/squid/mib.txt
/usr/share/squid/mime.conf
/usr/share/squid/mime.conf.default
/usr/share/squid/msntauth.conf
/usr/share/squid/msntauth.conf.default
/usr/sbin/cossdump
/usr/sbin/digest_ldap_auth
/usr/sbin/digest_pw_auth
/usr/sbin/diskd-daemon
/usr/sbin/fakeauth_auth
/usr/sbin/getpwname_auth
/usr/sbin/ip_user_check
%attr(750,squid,root) /usr/sbin/squid_ldapauth
/usr/sbin/logfile-daemon
/usr/sbin/msnt_auth
/usr/sbin/ncsa_auth
/usr/sbin/no_check.pl
/usr/sbin/ntlm_auth
%verify(not mode) %attr(4755,root,shadow)/usr/sbin/pam_auth
/usr/sbin/pinger
/usr/sbin/rcsquid
/usr/sbin/smb_auth
/usr/sbin/smb_auth.pl
/usr/sbin/smb_auth.sh
/usr/sbin/squid
/usr/sbin/squid_ldap_auth
/usr/sbin/squid_ldap_group
/usr/sbin/squid_session
/usr/sbin/squid_unix_group
/usr/sbin/squidclient
/usr/sbin/unlinkd
/usr/sbin/wbinfo_group.pl
/usr/sbin/yp_auth
/var/adm/fillup-templates/sysconfig.squid
%dir %{_libdir}/squid
%{_libdir}/squid/cachemgr.cgi
%doc %{_mandir}/man*/*
%doc CONTRIBUTORS COPYING COPYRIGHT CREDITS
%doc ChangeLog QUICKSTART README README.SuSE
#%doc doc/HTTP-codes.txt doc/draft-vixie-htcp-proto-04.txt
#%doc doc/Programming-Guide
%doc doc/scripts doc/contrib FAQ
%doc doc/debug-sections.txt src/squid.conf.default
%doc README.squid_ldapauth CREDITS.squid_ldapauth
%doc squid_ldapauth.conf doc/%{name}-%{version}-RELEASENOTES.html
%doc README.ip_user
%changelog