squid-vl.spec 10 KB

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