source: projects/specs/trunk/s/squid/squid-vl.spec @ 3861

Revision 3861, 10.4 KB checked in by miyabi, 13 years ago (diff)
Line 
1%define         base_name       squid
2%define         pkg_version     3.1.12
3%define         pkg_release     1%{?_dist_release}
4
5Summary:        The Squid proxy caching server
6Summary(ja):    Squid ウェブプロキシキャッシュ
7Name:           %{base_name}
8Version:        %{pkg_version}
9Release:        %{pkg_release}
10Source0:        %{base_name}-%{version}.tar.bz2
11Source1:        FAQ.sgml
12Source2:        %{base_name}.init
13Source3:        %{base_name}.logrotate
14Source4:        %{base_name}.sysconfig
15Source5:        %{base_name}.pam
16License:        GPLv2+
17Group:          Applications/Services
18URL:            http://www.squid-cache.org
19
20Requires:       bash >= 2.0
21Requires(pre):  shadow-utils
22Requires(post): %{_syssbindir}/chkconfig
23Requires(preun): %{_syssbindir}/chkconfig
24BuildRequires:  openjade linuxdoc-tools
25BuildRequires:  openldap-devel pam-devel openssl-devel krb5-devel
26BuildRequires:  cyrus-sasl-devel
27BuildRoot:      %{_tmppath}/%{base_name}-%{version}-root
28
29Conflicts:      squid30 <= 3.0
30Obsoletes:      squid-novm
31
32Vendor:         Project Vine
33Distribution:   Vine Linux
34Packager:       miyabi
35
36%description
37Squid is a high-performance proxy caching server for Web clients,
38supporting FTP, gopher, and HTTP data objects. Unlike traditional
39caching software, Squid handles all requests in a single,
40non-blocking, I/O-driven process. Squid keeps meta data and especially
41hot objects cached in RAM, caches DNS lookups, supports non-blocking
42DNS lookups, and implements negative caching of failed requests.
43
44Squid consists of a main server program squid, a Domain Name System
45lookup program (dnsserver), a program for retrieving FTP data
46(ftpget), and some management and client tools.
47
48%description -l ja
49Squid はウェブクライアントのための高性能のプロキシキャッシュサーバで、
50FTP, gopher, HTTP データオブジェクトに対応しています。これまでの
51キャッシュソフトウェアと違い、 Squid は全ての要求を、単一の
52ブロックしない I/O ドリブンのプロセスで処理します。 Squid はメタデータや
53ホットなオブジェクトを RAM に保持し、 DNS 問い合わせをキャッシュします。
54ブロック無しの DNS 問い合わせをサポートし、失敗した要求のネガティブ
55キャッシングが実装されています。
56
57Squid は、メインのサーバプログラム squid と、 Domain Name System
58問い合わせプログラム (dnsserver) と、 FTP データを取得するプログラム
59(ftpget) と、いくつかの管理用またはクライアントツールから成ります。
60
61%prep
62%setup -q
63
64%build
65export CXXFLAGS="-fPIE %{optflags}" ; export CFLAGS="-fPIE -Os -g -pipe -fsigned-char %{optflags}" ; export LDFLAGS="-pie" ;
66%configure \
67   --libexecdir=%{_libexecdir}/%{base_name} \
68   --sysconfdir=%{_sysconfdir}/%{base_name} \
69   --datadir=%{_datadir}/%{base_name} \
70   --disable-dependency-tracking \
71   --enable-arp-acl \
72   --enable-auth="basic,digest,ntlm,negotiate" \
73   --enable-basic-auth-helpers="LDAP,MSNT,NCSA,PAM,SMB,YP,getpwnam,multi-domain-NTLM,SASL" \
74   --enable-negotiate-auth-helpers="squid_kerb_auth" \
75   --enable-cache-digests \
76   --enable-cachemgr-hostname=localhost \
77   --enable-delay-pools \
78   --enable-digest-auth-helpers="password" \
79   --enable-epoll \
80   --enable-external-acl-helpers="ip_user,ldap_group,unix_group,wbinfo_group" \
81   --enable-icap-client \
82   --enable-ident-lookups \
83   %ifnarch ppc64 ia64 x86_64 s390x
84   --with-large-files \
85   %endif
86   --enable-linux-netfilter \
87   --enable-ntlm-auth-helpers="smb_lm,fakeauth" \
88   --enable-referer-log \
89   --enable-removal-policies="heap,lru" \
90   --enable-snmp \
91   --enable-ssl \
92   --enable-storeio="aufs,diskd,ufs" \
93   --enable-useragent-log \
94   --enable-wccpv2 \
95   --with-aio \
96   --with-default-user="%{base_name}" \
97   --with-logdir=%{_localstatedir}/log/%{base_name} \
98   --with-filedescriptors=16384 \
99   --with-dl \
100   --with-pthreads
101
102export CXXFLAGS="-fPIE" ; export CFLAGS="-fPIE -Os -g -pipe -fsigned-char" ; export LDFLAGS="-pie" ;
103%{__make} \
104    %{?_smp_mflags} \
105    DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{base_name}"
106
107mkdir faq
108cp %{SOURCE1} faq
109cd faq
110sgml2html FAQ.sgml
111
112%install
113[ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
114
115%{__make} install \
116    DESTDIR="${RPM_BUILD_ROOT}" \
117    DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{base_name}"
118
119echo "
120#
121# This is %{_sysconfdir}/httpd/conf.d/%{base_name}.conf
122#
123
124ScriptAlias /Squid/cgi-bin/cachemgr.cgi %{_libexecdir}/%{base_name}/cachemgr.cgi
125
126# Only allow access from localhost by default
127<Location /Squid/cgi-bin/cachemgr.cgi>
128 order allow,deny
129 allow from localhost.localdomain
130 # Add additional allowed hosts as needed
131 # allow from .example.com
132</Location>" > ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp
133
134mkdir -p ${RPM_BUILD_ROOT}%{_initdir}
135mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
136mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
137mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d
138mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/
139
140install -m 755 %{SOURCE2} ${RPM_BUILD_ROOT}%{_initdir}/%{base_name}
141install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{base_name}
142install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{base_name}
143install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d/%{base_name}
144install -m 644 ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/%{base_name}.conf
145mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{base_name}
146mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{base_name}
147chmod 644 contrib/url-normalizer.pl contrib/rredir.* contrib/user-agents.pl
148iconv -f ISO88591 -t UTF8 ChangeLog -o ChangeLog.tmp
149mv -f ChangeLog.tmp ChangeLog
150
151# remove unpackaged files from the buildroot
152rm -f ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp
153
154%clean
155[ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
156
157%pre
158if ! getent group %{base_name} >/dev/null 2>&1; then
159  /usr/sbin/groupadd -g 23 %{base_name}
160fi
161
162if ! getent passwd %{base_name} >/dev/null 2>&1 ; then
163  /usr/sbin/useradd -g 23 -u 23 -d %{_localstatedir}/cache/%{base_name} -r -s /sbin/nologin %{base_name} >/dev/null 2>&1 || exit 1
164fi
165
166for i in %{_localstatedir}/log/%{base_name} %{_localstatedir}/cache/%{base_name} ; do
167        if [ -d $i ] ; then
168                for adir in `find $i -maxdepth 0 \! -user %{base_name}`; do
169                        chown -R %{base_name}:%{base_name} $adir
170                done
171        fi
172done
173
174exit 0
175
176%post
177if ! /sbin/chkconfig %{base_name}; then
178  /sbin/chkconfig --add %{base_name}
179fi
180
181if [ "$1" -eq "2" ]; then
182  %{_initdir}/%{base_name} condrestart
183fi
184
185%preun
186if [ "$1" -eq "0" ]; then
187  %{_initdir}/%{base_name} stop
188  rm -f %{_localstatedir}/log/%{base_name}/*
189  /sbin/chkconfig --del %{base_name}
190fi
191
192%triggerin -- samba-common
193/usr/sbin/usermod -a -G wbpriv %{base_name} >/dev/null 2>&1 || \
194    chgrp %{base_name} %{_localstatedir}/cache/samba/winbindd_privileged >/dev/null 2>&1 || :
195
196%files
197%defattr(-,root,root,-)
198
199# Directory
200%dir %{_sysconfdir}/%{base_name}/
201%dir %{_libexecdir}/%{base_name}
202%dir %{_datadir}/%{base_name}
203
204%attr(0750,%{base_name},%{base_name}) %dir %{_localstatedir}/log/%{base_name}
205%attr(0750,%{base_name},%{base_name}) %dir %{_localstatedir}/cache/%{base_name}
206
207# Program Files
208%attr(0755,root,root) %{_sbindir}/%{base_name}
209%attr(0755,root,root) %{_bindir}/squidclient
210
211%attr(0755,root,root) %{_initdir}/%{base_name}
212
213%attr(0755,root,root) %{_libexecdir}/%{base_name}/cachemgr.cgi
214%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/digest_pw_auth
215%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/diskd
216%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/fakeauth_auth
217%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/getpwname_auth
218%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/ip_user_check
219%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/msnt_auth
220%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/ncsa_auth
221%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/negotiate_kerb_auth
222%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/negotiate_kerb_auth_test
223%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/ntlm_smb_lm_auth
224%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/pam_auth
225%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/sasl_auth
226%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/smb_auth
227%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/smb_auth.pl
228%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/smb_auth.sh
229%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/squid_kerb_auth
230%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/squid_kerb_auth_test
231%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/squid_ldap_auth
232%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/squid_ldap_group
233%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/squid_unix_group
234%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/unlinkd
235%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/wbinfo_group.pl
236%attr(4750,root,%{base_name}) %{_libexecdir}/%{base_name}/yp_auth
237
238# Config Files
239%attr(0640,root,%{base_name}) %config(noreplace) %{_sysconfdir}/%{base_name}/%{base_name}.conf
240%attr(0644,root,%{base_name}) %config(noreplace) %{_sysconfdir}/%{base_name}/cachemgr.conf
241%config(noreplace) %{_sysconfdir}/%{base_name}/mime.conf
242%config(noreplace) %{_sysconfdir}/%{base_name}/msntauth.conf
243%config(noreplace) %{_sysconfdir}/%{base_name}/errorpage.css
244
245%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{base_name}.conf
246
247%config(noreplace) %{_sysconfdir}/sysconfig/%{base_name}
248%config(noreplace) %{_sysconfdir}/pam.d/%{base_name}
249%config(noreplace) %{_sysconfdir}/logrotate.d/%{base_name}
250
251# Sample Config Files
252%config %{_sysconfdir}/%{base_name}/%{base_name}.conf.default
253%config %{_sysconfdir}/%{base_name}/cachemgr.conf.default
254%config %{_sysconfdir}/%{base_name}/mime.conf.default
255%config %{_sysconfdir}/%{base_name}/msntauth.conf.default
256%config %{_sysconfdir}/%{base_name}/errorpage.css.default
257
258# Data Files
259%{_datadir}/%{base_name}/*
260
261# Document Files
262%doc faq/*\.html README ChangeLog QUICKSTART
263%doc contrib/url-normalizer.pl contrib/rredir.* contrib/user-agents.pl
264%{_mandir}/man8/*
265%{_mandir}/man1/*
266%{_sysconfdir}/%{base_name}/%{base_name}.conf.documented
267
268%changelog
269* Fri May 13 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-1
270- initial build for Vine Linux
271- This package is based on Vine Linux - squid-3.0.STABLE25-2
Note: See TracBrowser for help on using the repository browser.