squid-vl.spec 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. %define base_name squid
  2. %define pkg_epoch 7
  3. %define pkg_version 4.8
  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: http://www.squid-cache.org/Versions/v4/%{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. TIRPC_CFLAGS=$(pkg-config --cflags libtirpc)
  62. TIRPC_LIBS=$(pkg-config --libs libtirpc)
  63. RPM_OPT_FLAGS="%{optflags} -Wno-stringop-truncation $TIRPC_CFLAGS"
  64. CXXFLAGS="$RPM_OPT_FLAGS -fPIC"
  65. CFLAGS="$RPM_OPT_FLAGS -fPIC"
  66. LDFLAGS="$RPM_LD_FLAGS -pie -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel"
  67. %configure \
  68. --libexecdir=%{_libdir}/%{base_name} \
  69. --datadir=%{_datadir}/%{base_name} \
  70. --sysconfdir=%{_sysconfdir}/%{base_name} \
  71. --with-logdir=%{_localstatedir}/log/%{base_name} \
  72. --disable-dependency-tracking \
  73. --enable-eui \
  74. --enable-follow-x-forwarded-for \
  75. --enable-arp-acl \
  76. --enable-auth \
  77. --enable-auth-basic="DB,LDAP,NCSA,NIS,PAM,POP3,SASL,SMB,getpwnam" \
  78. --enable-auth-digest="file,LDAP,eDirectory" \
  79. --enable-auth-negotiate="kerberos" \
  80. --enable-auth-ntlm="SMB_LM,fake" \
  81. --enable-external-acl-helpers="LDAP_group,time_quota,session,unix_group,wbinfo_group" \
  82. --enable-cache-digests \
  83. --enable-cachemgr-hostname=localhost \
  84. --enable-delay-pools \
  85. --enable-epoll \
  86. --enable-icap-client \
  87. --enable-ident-lookups \
  88. %ifnarch ppc64 ia64 x86_64 s390x
  89. --with-large-files \
  90. %endif
  91. --enable-linux-netfilter \
  92. --enable-referer-log \
  93. --enable-removal-policies="heap,lru" \
  94. --enable-snmp \
  95. --enable-ssl \
  96. --enable-ssl-crtd \
  97. --enable-storeio="aufs,diskd,ufs,rock" \
  98. --enable-diskio \
  99. --enable-useragent-log \
  100. --enable-wccpv2 \
  101. --enable-internal-dns \
  102. --with-aio \
  103. --with-default-user="%{base_name}" \
  104. --with-filedescriptors=16384 \
  105. --with-dl \
  106. --with-openssl \
  107. --with-pthreads \
  108. --disable-arch-native \
  109. --with-pic
  110. %{__make} \
  111. %{?_smp_mflags} \
  112. DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{base_name}"
  113. %install
  114. [ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
  115. %{__make} install \
  116. DESTDIR="${RPM_BUILD_ROOT}" \
  117. DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{base_name}"
  118. echo "
  119. #
  120. # This is %{_sysconfdir}/httpd/conf.d/%{base_name}.conf
  121. #
  122. ScriptAlias /Squid/cgi-bin/cachemgr.cgi %{_libdir}/%{base_name}/cachemgr.cgi
  123. # Only allow access from localhost by default
  124. <Location /Squid/cgi-bin/cachemgr.cgi>
  125. order allow,deny
  126. allow from localhost.localdomain
  127. # Add additional allowed hosts as needed
  128. # allow from .example.com
  129. </Location>" > ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp
  130. mkdir -p ${RPM_BUILD_ROOT}%{_initdir}
  131. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
  132. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
  133. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d
  134. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/
  135. install -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}%{_initdir}/%{base_name}
  136. install -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{base_name}
  137. install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{base_name}
  138. install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d/%{base_name}
  139. install -m 644 ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/%{base_name}.conf
  140. mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{base_name}
  141. mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{base_name}
  142. chmod 644 contrib/url-normalizer.pl contrib/user-agents.pl
  143. iconv -f ISO88591 -t UTF8 ChangeLog -o ChangeLog.tmp
  144. mv -f ChangeLog.tmp ChangeLog
  145. # remove unpackaged files from the buildroot
  146. rm -f ${RPM_BUILD_ROOT}/%{base_name}.httpd.tmp
  147. %clean
  148. [ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
  149. %pretrans
  150. for l in zh-cn zh-tw; do
  151. if [ -d /usr/share/squid/errors/$l -a ! -L /usr/share/squid/errors/$l ]; then
  152. rm -rf /usr/share/squid/errors/$l
  153. fi
  154. done
  155. %pre
  156. if ! getent group %{base_name} >/dev/null 2>&1; then
  157. /usr/sbin/groupadd -g %{gid} %{base_name}
  158. fi
  159. if ! getent passwd %{base_name} >/dev/null 2>&1 ; then
  160. /usr/sbin/useradd -g %{gid} -u %{uid} -d %{_localstatedir}/cache/%{base_name} -r -s /sbin/nologin %{base_name} >/dev/null 2>&1 || exit 1
  161. fi
  162. for i in %{_localstatedir}/log/%{base_name} %{_localstatedir}/cache/%{base_name} ; do
  163. if [ -d $i ] ; then
  164. for adir in `find $i -maxdepth 0 \! -user %{base_name}`; do
  165. chown -R %{base_name}:%{base_name} $adir
  166. done
  167. fi
  168. done
  169. exit 0
  170. %post
  171. if ! /sbin/chkconfig %{base_name}; then
  172. /sbin/chkconfig --add %{base_name}
  173. fi
  174. if [ "$1" -eq "2" ]; then
  175. %{_initdir}/%{base_name} condrestart
  176. fi
  177. %preun
  178. if [ "$1" -eq "0" ]; then
  179. %{_initdir}/%{base_name} stop
  180. rm -f %{_localstatedir}/log/%{base_name}/*
  181. /sbin/chkconfig --del %{base_name}
  182. fi
  183. %triggerin -- samba-common
  184. /usr/sbin/usermod -a -G wbpriv %{base_name} >/dev/null 2>&1 || \
  185. chgrp %{base_name} %{_localstatedir}/cache/samba/winbindd_privileged >/dev/null 2>&1 || :
  186. %files
  187. %defattr(-,root,root,-)
  188. # Directory
  189. %dir %{_sysconfdir}/%{base_name}/
  190. %dir %{_libdir}/%{base_name}
  191. %dir %{_datadir}/%{base_name}
  192. %attr(0750,%{base_name},%{base_name}) %dir %{_localstatedir}/log/%{base_name}
  193. %attr(0750,%{base_name},%{base_name}) %dir %{_localstatedir}/cache/%{base_name}
  194. # Program Files
  195. %attr(0755,root,root) %{_sbindir}/%{base_name}
  196. %attr(0755,root,root) %{_bindir}/*
  197. %attr(0755,root,root) %{_initdir}/%{base_name}
  198. %attr(0755,root,root) %{_libdir}/%{base_name}/cachemgr.cgi
  199. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/basic_*
  200. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/digest_*
  201. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/diskd
  202. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/ext_*
  203. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/helper*
  204. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/log_*
  205. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/negotiate_*
  206. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/ntlm_*
  207. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/security_*
  208. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/storeid_*
  209. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/unlinkd
  210. %attr(4750,root,%{base_name}) %{_libdir}/%{base_name}/url_*
  211. # Config Files
  212. %attr(0640,root,%{base_name}) %config(noreplace) %{_sysconfdir}/%{base_name}/%{base_name}.conf
  213. %attr(0644,root,%{base_name}) %config(noreplace) %{_sysconfdir}/%{base_name}/cachemgr.conf
  214. %config(noreplace) %{_sysconfdir}/%{base_name}/mime.conf
  215. %config(noreplace) %{_sysconfdir}/%{base_name}/errorpage.css
  216. %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{base_name}.conf
  217. %config(noreplace) %{_sysconfdir}/sysconfig/%{base_name}
  218. %config(noreplace) %{_sysconfdir}/pam.d/%{base_name}
  219. %config(noreplace) %{_sysconfdir}/logrotate.d/%{base_name}
  220. # Sample Config Files
  221. %config %{_sysconfdir}/%{base_name}/%{base_name}.conf.default
  222. %config %{_sysconfdir}/%{base_name}/cachemgr.conf.default
  223. %config %{_sysconfdir}/%{base_name}/mime.conf.default
  224. %config %{_sysconfdir}/%{base_name}/errorpage.css.default
  225. # Data Files
  226. %{_datadir}/%{base_name}/*
  227. # Document Files
  228. %license COPYING
  229. %doc README ChangeLog QUICKSTART
  230. %doc contrib/url-normalizer.pl contrib/user-agents.pl
  231. %{_mandir}/man8/*
  232. %{_mandir}/man1/*
  233. %{_sysconfdir}/%{base_name}/%{base_name}.conf.documented
  234. %changelog
  235. * Thu Aug 29 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.8-1
  236. - new upstream release.
  237. * Tue Nov 20 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.4-1
  238. - new upstream release.
  239. - update patches.
  240. * Tue Jan 09 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.27-2
  241. - enabled a build option: --enable-internal-dns.
  242. * Wed Sep 06 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.27-1
  243. - new upstream release.
  244. - updated Patch203.
  245. * Wed Jun 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.19-1
  246. - new upstream release.
  247. * Fri Apr 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.17-1
  248. - new upstream release.
  249. * Tue Apr 12 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.16-1
  250. - new upstream release.
  251. * Thu Jun 18 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.5-1
  252. - new upstream release.
  253. * Mon Jul 7 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.4.6-1
  254. - new upstream release.
  255. * Sat Jan 12 2013 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.23-1
  256. - new upstream release
  257. * Sat Dec 08 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.22-1
  258. - new upstream release
  259. * Thu Nov 22 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.21-1
  260. - new upstream release
  261. * Thu Aug 23 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.20-1
  262. - new upstream release
  263. * Mon Oct 17 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.16-1
  264. - new upstream release
  265. - add BuildRequires - libcap-devel
  266. * Fri Jun 10 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-2
  267. - files in libexec moved to libdir
  268. * Tue May 17 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-1
  269. - initial build for Vine Linux
  270. - This package is based on Vine Linux - squid-3.0.STABLE25-2