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

Revision 11379, 11.2 KB checked in by tomop, 6 years ago (diff)

squid-3.5.27-2

Line 
1%define         base_name       squid
2%define         pkg_epoch       7
3%define         pkg_version     3.5.27
4%define         pkg_release     2%{?_dist_release}
5%define         uid             23
6%define         gid             23
7
8Summary:        The Squid proxy caching server
9Summary(ja):    Squid ウェブプロキシキャッシュ
10Name:           %{base_name}
11Epoch:          %{pkg_epoch}
12Version:        %{pkg_version}
13Release:        %{pkg_release}
14Source0:        %{base_name}-%{version}.tar.xz
15Source1:        %{base_name}.init
16Source2:        %{base_name}.logrotate
17Source3:        %{base_name}.sysconfig
18Source4:        %{base_name}.pam
19License:        GPLv2+
20Group:          Applications/Services
21URL:            http://www.squid-cache.org
22
23Patch201: squid-3.1.0.9-config.patch
24Patch202: squid-3.1.0.9-location.patch
25Patch203: squid-3.5.27-perlpath.patch
26
27Requires:       bash >= 2.0
28Requires(pre):  shadow-utils
29Requires(post): %{_syssbindir}/chkconfig
30Requires(preun): %{_syssbindir}/chkconfig
31BuildRequires:  openldap-devel pam-devel openssl-devel krb5-devel
32BuildRequires:  cyrus-sasl-devel libcap-devel libdb-devel
33BuildRoot:      %{_tmppath}/%{base_name}-%{version}-root
34
35Conflicts:      squid30
36Obsoletes:      squid-novm
37
38Vendor:         Project Vine
39Distribution:   Vine Linux
40Packager:       miyabi
41
42%description
43Squid is a high-performance proxy caching server for Web clients,
44supporting FTP, gopher, and HTTP data objects. Unlike traditional
45caching software, Squid handles all requests in a single,
46non-blocking, I/O-driven process. Squid keeps meta data and especially
47hot objects cached in RAM, caches DNS lookups, supports non-blocking
48DNS lookups, and implements negative caching of failed requests.
49
50Squid consists of a main server program squid, a Domain Name System
51lookup program (dnsserver), a program for retrieving FTP data
52(ftpget), and some management and client tools.
53
54%description -l ja
55Squid はウェブクライアントのための高性能のプロキシキャッシュサーバで、
56FTP, gopher, HTTP データオブジェクトに対応しています。これまでの
57キャッシュソフトウェアと違い、 Squid は全ての要求を、単一の
58ブロックしない I/O ドリブンのプロセスで処理します。 Squid はメタデータや
59ホットなオブジェクトを RAM に保持し、 DNS 問い合わせをキャッシュします。
60ブロック無しの DNS 問い合わせをサポートし、失敗した要求のネガティブ
61キャッシングが実装されています。
62
63Squid は、メインのサーバプログラム squid と、 Domain Name System
64問い合わせプログラム (dnsserver) と、 FTP データを取得するプログラム
65(ftpget) と、いくつかの管理用またはクライアントツールから成ります。
66
67%prep
68%setup -q
69
70%patch201 -p1 -b .config
71%patch202 -p1 -b .location
72%patch203 -p1 -b .perlpath
73
74%build
75CXXFLAGS="$RPM_OPT_FLAGS -fPIC"
76CFLAGS="$RPM_OPT_FLAGS -fPIC"
77LDFLAGS="$RPM_LD_FLAGS -pie -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel"
78
79%configure \
80   --libexecdir=%{_libdir}/%{base_name} \
81   --datadir=%{_datadir}/%{base_name} \
82   --sysconfdir=%{_sysconfdir}/%{base_name} \
83   --with-logdir=%{_localstatedir}/log/%{base_name} \
84   --disable-dependency-tracking \
85   --enable-eui \
86   --enable-follow-x-forwarded-for \
87   --enable-arp-acl \
88   --enable-auth \
89   --enable-auth-basic="DB,LDAP,MSNT-multi-domain,NCSA,NIS,PAM,POP3,SASL,SMB,getpwnam" \
90   --enable-auth-digest="file,LDAP,eDirectory" \
91   --enable-auth-negotiate="kerberos" \
92   --enable-auth-ntlm="smb_lm,fake" \
93   --enable-external-acl-helpers="LDAP_group,time_quota,session,unix_group,wbinfo_group" \
94   --enable-cache-digests \
95   --enable-cachemgr-hostname=localhost \
96   --enable-delay-pools \
97   --enable-epoll \
98   --enable-icap-client \
99   --enable-ident-lookups \
100   %ifnarch ppc64 ia64 x86_64 s390x
101   --with-large-files \
102   %endif
103   --enable-linux-netfilter \
104   --enable-referer-log \
105   --enable-removal-policies="heap,lru" \
106   --enable-snmp \
107   --enable-ssl \
108   --enable-ssl-crtd \
109   --enable-storeio="aufs,diskd,ufs,rock" \
110   --enable-diskio \
111   --enable-useragent-log \
112   --enable-wccpv2 \
113   --enable-internal-dns \
114   --with-aio \
115   --with-default-user="%{base_name}" \
116   --with-filedescriptors=16384 \
117   --with-dl \
118   --with-openssl \
119   --with-pthreads \
120   --disable-arch-native \
121   --with-pic
122
123%{__make} \
124    %{?_smp_mflags} \
125    DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{base_name}"
126
127%install
128[ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
129
130%{__make} install \
131    DESTDIR="${RPM_BUILD_ROOT}" \
132    DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{base_name}"
133
134echo "
135#
136# This is %{_sysconfdir}/httpd/conf.d/%{base_name}.conf
137#
138
139ScriptAlias /Squid/cgi-bin/cachemgr.cgi %{_libdir}/%{base_name}/cachemgr.cgi
140
141# Only allow access from localhost by default
142<Location /Squid/cgi-bin/cachemgr.cgi>
143 order allow,deny
144 allow from localhost.localdomain
145 # Add additional allowed hosts as needed
146 # allow from .example.com
147</Location>" > ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp
148
149mkdir -p ${RPM_BUILD_ROOT}%{_initdir}
150mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
151mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
152mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d
153mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/
154
155install -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}%{_initdir}/%{base_name}
156install -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{base_name}
157install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{base_name}
158install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d/%{base_name}
159install -m 644 ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/%{base_name}.conf
160mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{base_name}
161mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{base_name}
162chmod 644 contrib/url-normalizer.pl contrib/rredir.* contrib/user-agents.pl
163iconv -f ISO88591 -t UTF8 ChangeLog -o ChangeLog.tmp
164mv -f ChangeLog.tmp ChangeLog
165
166# remove unpackaged files from the buildroot
167rm -f ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp
168
169%clean
170[ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
171
172%pretrans
173for l in zh-cn zh-tw; do
174  if [ -d /usr/share/squid/errors/$l -a ! -L /usr/share/squid/errors/$l ]; then
175    rm -rf /usr/share/squid/errors/$l
176  fi
177done
178
179%pre
180if ! getent group %{base_name} >/dev/null 2>&1; then
181  /usr/sbin/groupadd -g %{gid} %{base_name}
182fi
183
184if ! getent passwd %{base_name} >/dev/null 2>&1 ; then
185  /usr/sbin/useradd -g %{gid} -u %{uid} -d %{_localstatedir}/cache/%{base_name} -r -s /sbin/nologin %{base_name} >/dev/null 2>&1 || exit 1
186fi
187
188for i in %{_localstatedir}/log/%{base_name} %{_localstatedir}/cache/%{base_name} ; do
189        if [ -d $i ] ; then
190                for adir in `find $i -maxdepth 0 \! -user %{base_name}`; do
191                        chown -R %{base_name}:%{base_name} $adir
192                done
193        fi
194done
195
196exit 0
197
198%post
199if ! /sbin/chkconfig %{base_name}; then
200  /sbin/chkconfig --add %{base_name}
201fi
202
203if [ "$1" -eq "2" ]; then
204  %{_initdir}/%{base_name} condrestart
205fi
206
207%preun
208if [ "$1" -eq "0" ]; then
209  %{_initdir}/%{base_name} stop
210  rm -f %{_localstatedir}/log/%{base_name}/*
211  /sbin/chkconfig --del %{base_name}
212fi
213
214%triggerin -- samba-common
215/usr/sbin/usermod -a -G wbpriv %{base_name} >/dev/null 2>&1 || \
216    chgrp %{base_name} %{_localstatedir}/cache/samba/winbindd_privileged >/dev/null 2>&1 || :
217
218%files
219%defattr(-,root,root,-)
220
221# Directory
222%dir %{_sysconfdir}/%{base_name}/
223%dir %{_libdir}/%{base_name}
224%dir %{_datadir}/%{base_name}
225
226%attr(0750,%{base_name},%{base_name}) %dir %{_localstatedir}/log/%{base_name}
227%attr(0750,%{base_name},%{base_name}) %dir %{_localstatedir}/cache/%{base_name}
228
229# Program Files
230%attr(0755,root,root) %{_sbindir}/%{base_name}
231%attr(0755,root,root) %{_bindir}/*
232
233%attr(0755,root,root) %{_initdir}/%{base_name}
234
235%attr(0755,root,root) %{_libdir}/%{base_name}/cachemgr.cgi
236%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/basic_*
237%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/cert_*
238%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/digest_*
239%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/diskd
240%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/ext_*
241%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/helper*
242%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/log_*
243%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/negotiate_*
244%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/ntlm_*
245%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/ssl_crtd
246%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/storeid_*
247%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/unlinkd
248%attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/url_*
249
250# Config Files
251%attr(0640,root,%{base_name}) %config(noreplace) %{_sysconfdir}/%{base_name}/%{base_name}.conf
252%attr(0644,root,%{base_name}) %config(noreplace) %{_sysconfdir}/%{base_name}/cachemgr.conf
253%config(noreplace) %{_sysconfdir}/%{base_name}/mime.conf
254%config(noreplace) %{_sysconfdir}/%{base_name}/errorpage.css
255
256%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{base_name}.conf
257
258%config(noreplace) %{_sysconfdir}/sysconfig/%{base_name}
259%config(noreplace) %{_sysconfdir}/pam.d/%{base_name}
260%config(noreplace) %{_sysconfdir}/logrotate.d/%{base_name}
261
262# Sample Config Files
263%config %{_sysconfdir}/%{base_name}/%{base_name}.conf.default
264%config %{_sysconfdir}/%{base_name}/cachemgr.conf.default
265%config %{_sysconfdir}/%{base_name}/mime.conf.default
266%config %{_sysconfdir}/%{base_name}/errorpage.css.default
267
268# Data Files
269%{_datadir}/%{base_name}/*
270
271# Document Files
272%doc README ChangeLog QUICKSTART
273%doc contrib/url-normalizer.pl contrib/rredir.* contrib/user-agents.pl
274%{_mandir}/man8/*
275%{_mandir}/man1/*
276%{_sysconfdir}/%{base_name}/%{base_name}.conf.documented
277
278%changelog
279* Tue Jan 09 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.27-2
280- enabled a build option: --enable-internal-dns.
281
282* Wed Sep 06 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.27-1
283- new upstream release.
284- updated Patch203.
285
286* Wed Jun 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.19-1
287- new upstream release.
288
289* Fri Apr 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.17-1
290- new upstream release.
291
292* Tue Apr 12 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.16-1
293- new upstream release.
294
295* Thu Jun 18 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.5-1
296- new upstream release.
297
298* Mon Jul  7 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.4.6-1
299- new upstream release.
300
301* Sat Jan 12 2013 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.23-1
302- new upstream release
303
304* Sat Dec 08 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.22-1
305- new upstream release
306
307* Thu Nov 22 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.21-1
308- new upstream release
309
310* Thu Aug 23 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.20-1
311- new upstream release
312
313* Mon Oct 17 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.16-1
314- new upstream release
315- add BuildRequires - libcap-devel
316
317* Fri Jun 10 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-2
318- files in libexec moved to libdir
319
320* Tue May 17 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-1
321- initial build for Vine Linux
322- This package is based on Vine Linux - squid-3.0.STABLE25-2
Note: See TracBrowser for help on using the repository browser.