squid-vl.spec 12 KB

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