squid-vl.spec 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. %bcond_with systemd
  2. %define uid 23
  3. %define gid 23
  4. %define _unpackaged_files_terminate_build 1
  5. Summary: The Squid proxy caching server
  6. Summary(ja): Squid ウェブプロキシキャッシュ
  7. Name: squid
  8. Epoch: 7
  9. Version: 5.7
  10. Release: 1%{?_dist_release}%{?with_systemd:.systemd}
  11. Group: servers
  12. Vendor: Project Vine
  13. Distribution: Vine Linux
  14. License: GPLv2+
  15. URL: http://www.squid-cache.org
  16. Source0: http://www.squid-cache.org/Versions/v5/%{name}-%{version}.tar.xz
  17. Source1: %{name}.init
  18. Source2: %{name}.logrotate
  19. Source3: %{name}.sysconfig
  20. Source4: %{name}.pam
  21. Source5: %{name}.service
  22. Source6: cache_swap.sh
  23. Patch201: squid-4.0.11-config.patch
  24. Patch202: squid-3.1.0.9-location.patch
  25. Patch203: squid-3.0.STABLE1-perlpath.patch
  26. Patch204: squid-3.5.9-include-guards.patch
  27. # revert this upstream patch - https://bugzilla.redhat.com/show_bug.cgi?id=1936422
  28. # workaround for #1934919
  29. Patch205: squid-5.0.5-symlink-lang-err.patch
  30. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  31. BuildRequires: openldap-devel pam-devel openssl-devel krb5-devel
  32. BuildRequires: cyrus-sasl-devel libcap-devel libtdb-devel
  33. Requires: bash >= 2.0
  34. Requires(pre): shadow-utils
  35. %if %{with systemd}
  36. %{?systemd_requires}
  37. %else
  38. Requires(post): %{_syssbindir}/chkconfig
  39. Requires(preun): %{_syssbindir}/chkconfig
  40. %endif
  41. Conflicts: squid30
  42. Obsoletes: squid-novm
  43. %description
  44. Squid is a high-performance proxy caching server for Web clients,
  45. supporting FTP, gopher, and HTTP data objects. Unlike traditional
  46. caching software, Squid handles all requests in a single,
  47. non-blocking, I/O-driven process. Squid keeps meta data and especially
  48. hot objects cached in RAM, caches DNS lookups, supports non-blocking
  49. DNS lookups, and implements negative caching of failed requests.
  50. Squid consists of a main server program squid, a Domain Name System
  51. lookup program (dnsserver), a program for retrieving FTP data
  52. (ftpget), and some management and client tools.
  53. %description -l ja
  54. Squid はウェブクライアントのための高性能のプロキシキャッシュサーバで、
  55. FTP, gopher, HTTP データオブジェクトに対応しています。これまでの
  56. キャッシュソフトウェアと違い、 Squid は全ての要求を、単一の
  57. ブロックしない I/O ドリブンのプロセスで処理します。 Squid はメタデータや
  58. ホットなオブジェクトを RAM に保持し、 DNS 問い合わせをキャッシュします。
  59. ブロック無しの DNS 問い合わせをサポートし、失敗した要求のネガティブ
  60. キャッシングが実装されています。
  61. Squid は、メインのサーバプログラム squid と、 Domain Name System
  62. 問い合わせプログラム (dnsserver) と、 FTP データを取得するプログラム
  63. (ftpget) と、いくつかの管理用またはクライアントツールから成ります。
  64. %debug_package
  65. %prep
  66. %setup -q
  67. %patch201 -p1 -b .config
  68. %patch202 -p1 -b .location
  69. %patch203 -p1 -b .perlpath
  70. %patch204 -p0 -b .include-guards
  71. %patch205 -p1 -R -b .symlink-lang-err
  72. %build
  73. %configure \
  74. --libexecdir=%{_libdir}/%{name} \
  75. --datadir=%{_datadir}/%{name} \
  76. --sysconfdir=%{_sysconfdir}/%{name} \
  77. --with-logdir=%{_localstatedir}/log/%{name} \
  78. --disable-dependency-tracking \
  79. --enable-eui \
  80. --enable-follow-x-forwarded-for \
  81. --enable-arp-acl \
  82. --enable-auth \
  83. --enable-auth-basic="DB,fake,getpwnam,LDAP,NCSA,PAM,POP3,SASL,SMB,SMB_LM" \
  84. --enable-auth-ntlm="SMB_LM,fake" \
  85. --enable-auth-digest="file,LDAP" \
  86. --enable-auth-negotiate="kerberos" \
  87. --enable-external-acl-helpers="LDAP_group,time_quota,session,unix_group,wbinfo_group,kerberos_ldap_group" \
  88. --enable-cache-digests \
  89. --enable-cachemgr-hostname=localhost \
  90. --enable-delay-pools \
  91. --enable-epoll \
  92. --enable-icap-client \
  93. --enable-ident-lookups \
  94. %ifnarch ppc64 ia64 x86_64 s390x
  95. --with-large-files \
  96. %endif
  97. --enable-linux-netfilter \
  98. --enable-referer-log \
  99. --enable-removal-policies="heap,lru" \
  100. --enable-snmp \
  101. --enable-ssl \
  102. --enable-ssl-crtd \
  103. --enable-storeio="aufs,diskd,ufs,rock" \
  104. --enable-diskio \
  105. --enable-useragent-log \
  106. --enable-wccpv2 \
  107. --enable-internal-dns \
  108. --with-aio \
  109. --with-default-user="%{name}" \
  110. --with-filedescriptors=16384 \
  111. --with-dl \
  112. --with-openssl \
  113. --with-pthreads \
  114. --disable-arch-native \
  115. --disable-security-cert-validators \
  116. --disable-strict-error-checking \
  117. %if %{with systemd}
  118. --with-pidfile='/run/squid.pid' \
  119. %endif
  120. %{nil}
  121. # workaround to build squid v5
  122. mkdir -p src/icmp/tests
  123. mkdir -p tools/squidclient/tests
  124. mkdir -p tools/tests
  125. %{__make} \
  126. %{?_smp_mflags} \
  127. DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{name}"
  128. %install
  129. [ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
  130. %{__make} install \
  131. DESTDIR="${RPM_BUILD_ROOT}" \
  132. DEFAULT_SWAP_DIR="%{_localstatedir}/cache/%{name}"
  133. echo "
  134. #
  135. # This is %{_sysconfdir}/httpd/conf.d/%{name}.conf
  136. #
  137. ScriptAlias /Squid/cgi-bin/cachemgr.cgi %{_libdir}/%{name}/cachemgr.cgi
  138. # Only allow access from localhost by default
  139. <Location /Squid/cgi-bin/cachemgr.cgi>
  140. order allow,deny
  141. allow from localhost.localdomain
  142. # Add additional allowed hosts as needed
  143. # allow from .example.com
  144. </Location>" > ${RPM_BUILD_ROOT}/%{name}.httpd.tmp
  145. mkdir -p ${RPM_BUILD_ROOT}%{_initdir}
  146. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
  147. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
  148. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d
  149. mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/
  150. %if %{with systemd}
  151. install -Dpm644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service
  152. install -Dpm755 %{SOURCE6} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/cache_swap.sh
  153. %else
  154. install -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}%{_initdir}/%{name}
  155. %endif
  156. install -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}
  157. install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}
  158. install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d/%{name}
  159. install -m 644 ${RPM_BUILD_ROOT}/%{name}.httpd.tmp ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/%{name}.conf
  160. mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}
  161. mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}
  162. chmod 644 contrib/url-normalizer.pl contrib/user-agents.pl
  163. iconv -f ISO88591 -t UTF8 ChangeLog -o ChangeLog.tmp
  164. mv -f ChangeLog.tmp ChangeLog
  165. # remove unpackaged files from the buildroot
  166. rm -f ${RPM_BUILD_ROOT}/%{name}.httpd.tmp
  167. %clean
  168. [ "${RPM_BUILD_ROOT}" != "/" ] && %{__rm} -rf ${RPM_BUILD_ROOT}
  169. %pretrans
  170. for l in zh-cn zh-tw; do
  171. if [ -d /usr/share/squid/errors/$l -a ! -L /usr/share/squid/errors/$l ]; then
  172. rm -rf /usr/share/squid/errors/$l
  173. fi
  174. done
  175. %pre
  176. if ! getent group %{name} >/dev/null 2>&1; then
  177. /usr/sbin/groupadd -g %{gid} %{name}
  178. fi
  179. if ! getent passwd %{name} >/dev/null 2>&1 ; then
  180. /usr/sbin/useradd -g %{gid} -u %{uid} -d %{_localstatedir}/cache/%{name} -r -s /sbin/nologin %{name} >/dev/null 2>&1 || exit 1
  181. fi
  182. for i in %{_localstatedir}/log/%{name} %{_localstatedir}/cache/%{name} ; do
  183. if [ -d $i ] ; then
  184. for adir in `find $i -maxdepth 0 \! -user %{name}`; do
  185. chown -R %{name}:%{name} $adir
  186. done
  187. fi
  188. done
  189. exit 0
  190. %post
  191. %if %{with systemd}
  192. %systemd_post %{name}.service
  193. %else
  194. if ! /sbin/chkconfig %{name}; then
  195. /sbin/chkconfig --add %{name}
  196. fi
  197. %endif
  198. %preun
  199. %if %{with systemd}
  200. %systemd_preun %{name}.service
  201. %else
  202. if [ "$1" -eq "0" -o -x /bin/systemctl ]; then
  203. %{_initdir}/%{name} stop
  204. rm -f %{_localstatedir}/log/%{name}/*
  205. /sbin/chkconfig --del %{name}
  206. fi
  207. %endif
  208. %postun
  209. %if %{with systemd}
  210. %systemd_postun_with_restart %{name}.service
  211. %else
  212. if [ "$1" -gt 1 ]; then
  213. %{_initdir}/%{name} condrestart
  214. fi
  215. %endif
  216. %triggerin -- samba-common
  217. /usr/sbin/usermod -a -G wbpriv %{name} >/dev/null 2>&1 || \
  218. chgrp %{name} %{_localstatedir}/cache/samba/winbindd_privileged >/dev/null 2>&1 || :
  219. %files
  220. %defattr(-,root,root,-)
  221. # Directory
  222. %dir %{_sysconfdir}/%{name}/
  223. %dir %{_libdir}/%{name}
  224. %dir %{_datadir}/%{name}
  225. %attr(0750,%{name},%{name}) %dir %{_localstatedir}/log/%{name}
  226. %attr(0750,%{name},%{name}) %dir %{_localstatedir}/cache/%{name}
  227. # Program Files
  228. %attr(0755,root,root) %{_sbindir}/%{name}
  229. %attr(0755,root,root) %{_bindir}/*
  230. %attr(0755,root,root) %{_libdir}/%{name}/*
  231. # Config Files
  232. %if %{with systemd}
  233. %attr(0644,root,root) %{_unitdir}/%{name}.service
  234. %dir %{_libexecdir}/%{name}
  235. %attr(0755,root,root) %{_libexecdir}/%{name}/*
  236. %else
  237. %attr(0755,root,root) %{_initdir}/%{name}
  238. %endif
  239. %attr(0640,root,%{name}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
  240. %attr(0644,root,%{name}) %config(noreplace) %{_sysconfdir}/%{name}/cachemgr.conf
  241. %config(noreplace) %{_sysconfdir}/%{name}/mime.conf
  242. %config(noreplace) %{_sysconfdir}/%{name}/errorpage.css
  243. %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
  244. %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
  245. %config(noreplace) %{_sysconfdir}/pam.d/%{name}
  246. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  247. # Sample Config Files
  248. %config %{_sysconfdir}/%{name}/%{name}.conf.default
  249. %config %{_sysconfdir}/%{name}/cachemgr.conf.default
  250. %config %{_sysconfdir}/%{name}/mime.conf.default
  251. %config %{_sysconfdir}/%{name}/errorpage.css.default
  252. # Data Files
  253. %{_datadir}/%{name}/*
  254. # Document Files
  255. %license COPYING
  256. %doc README ChangeLog QUICKSTART
  257. %doc contrib/url-normalizer.pl contrib/user-agents.pl
  258. %{_mandir}/man8/*
  259. %{_mandir}/man1/*
  260. %{_sysconfdir}/%{name}/%{name}.conf.documented
  261. %changelog
  262. * Sat Nov 12 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.7-1
  263. - new upstream release.
  264. * Fri Jul 29 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.6-1
  265. - new upstream release.
  266. * Wed Oct 06 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.2-1
  267. - new upstream release.
  268. - replaced all patches.
  269. - built with openssl-3.0.0.
  270. * Wed May 12 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.15-1
  271. - new upstream release.
  272. * Tue Mar 02 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.14-1
  273. - new upstream release.
  274. * Fri Sep 04 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.13-1
  275. - new upstream release.
  276. * Fri Jul 10 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.12-1
  277. - new upstream release.
  278. * Thu Apr 30 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.11-1
  279. - new upstream release.
  280. - added systemd support (disabled as default).
  281. * Mon Feb 10 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.10-1
  282. - new upstream release.
  283. * Mon Dec 16 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.9-1
  284. - new upstream release.
  285. - added "-Wno-cpp" to CFLAGS/CXXFLAGS for glibc >= 2.30.
  286. * Thu Aug 29 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.8-1
  287. - new upstream release.
  288. * Tue Nov 20 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.4-1
  289. - new upstream release.
  290. - update patches.
  291. * Tue Jan 09 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.27-2
  292. - enabled a build option: --enable-internal-dns.
  293. * Wed Sep 06 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.27-1
  294. - new upstream release.
  295. - updated Patch203.
  296. * Wed Jun 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.19-1
  297. - new upstream release.
  298. * Fri Apr 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.17-1
  299. - new upstream release.
  300. * Tue Apr 12 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.16-1
  301. - new upstream release.
  302. * Thu Jun 18 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.5-1
  303. - new upstream release.
  304. * Mon Jul 7 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.4.6-1
  305. - new upstream release.
  306. * Sat Jan 12 2013 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.23-1
  307. - new upstream release
  308. * Sat Dec 08 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.22-1
  309. - new upstream release
  310. * Thu Nov 22 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.21-1
  311. - new upstream release
  312. * Thu Aug 23 2012 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.20-1
  313. - new upstream release
  314. * Mon Oct 17 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.16-1
  315. - new upstream release
  316. - add BuildRequires - libcap-devel
  317. * Fri Jun 10 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-2
  318. - files in libexec moved to libdir
  319. * Tue May 17 2011 Masahiro INOUE <miyabi.-.inoue@nifty.com> 3.1.12-1
  320. - initial build for Vine Linux
  321. - This package is based on Vine Linux - squid-3.0.STABLE25-2