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
openSUSE Build Service is sponsored by