squid-vl.spec 11 KB

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