squid-vl.spec 12 KB

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