squid-vl.spec 10 KB

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