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

Revision 12131, 11.4 KB checked in by tomop, 5 years ago (diff)

Merge branch 'tomop'

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