Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/apache/
Date: Wed, 06 Jul 2016 09:56:44
Message-Id: 1467798789.f86fb40673485432757f6886d64a5948e859bcbe.polynomial-c@gentoo
1 commit: f86fb40673485432757f6886d64a5948e859bcbe
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 6 09:53:09 2016 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 6 09:53:09 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f86fb406
7
8 www-servers/apache: Security bump to version 2.4.23 (bug #588138).
9
10 Package-Manager: portage-2.3.0
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 www-servers/apache/Manifest | 1 +
14 www-servers/apache/apache-2.4.23.ebuild | 237 ++++++++++++++++++++++++++++++++
15 2 files changed, 238 insertions(+)
16
17 diff --git a/www-servers/apache/Manifest b/www-servers/apache/Manifest
18 index bc90a67..e7d70ba 100644
19 --- a/www-servers/apache/Manifest
20 +++ b/www-servers/apache/Manifest
21 @@ -4,3 +4,4 @@ DIST gentoo-apache-2.4.18-r1-20160303.tar.bz2 24505 SHA256 d81e32d876594b48a7ff6
22 DIST httpd-2.2.31.tar.bz2 5610489 SHA256 f32f9d19f535dac63b06cb55dfc023b40dcd28196b785f79f9346779e22f26ac SHA512 5aa47d4b76f692bbd8b309135ff99152df98cf69b505b9daf3f13f7f2a31443eaf4995161adfbc47a133b4d0e091fda2d95fc6b87a956f0ada18d7466ee28e74 WHIRLPOOL a2e3e53c51719cb6f7e641b41788cd89ce7b4d2ea105b403bfa3b3d4479b69c5604228269062f66722594e105e91121d05b1c9f27ca7dc4ecfcf339da8b8375c
23 DIST httpd-2.4.18.tar.bz2 5181291 SHA256 0644b050de41f5c9f67c825285049b144690421acb709b06fe53eddfa8a9fd4c SHA512 8e342cc447313c07275869381c2d6f2314a96547f0c86ee1c617975d0f7ad8efb47113ab5995c733108ae4dec31ad79847e397ecea859b60414ffe1680617a31 WHIRLPOOL e0ae6b8581e2993e0f873d8928e3b54f1df750f29e82d2f1308376af440308c56e89dfb3ec051cdf164a271580ccac71ebc5b038e23ca65a9221fdfc08b47b41
24 DIST httpd-2.4.20.tar.bz2 6331344 SHA256 0e76a375ed3dbac636f50ac39de966ece443751fe4d62392f9a360a19d94d0da SHA512 8591e0ca8f1c4755d670f1a8780bb656c62b30635cff1f7d4434f7c5017b99f1b14bbb296da5cdb63cd3bcfa4908b8b5f99a0c036e9e0f0c9514acd2a3cb7e53 WHIRLPOOL cc61fa5a2344268cdba69ba1662d555d492b40468a81b1d67fce55f85e178f63ef218a303e51e494c91a26dcec259e3912ca640192dbbe42d2b02ee4fac19a1d
25 +DIST httpd-2.4.23.tar.bz2 6351875 SHA256 0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58 SHA512 c520de5be748c0a785ef0dc77102749eb4f47e224968b8d4bed2ae644faa0964623a0e960b64486a0888446790d050b52a6ae34fe61717fab95b37384b4825b1 WHIRLPOOL f3defbd06a878c66236adfcac2b59b6f47115ac815708bb45f2152bd1754b14a01458c9331eb7a65cba52e0bc53e2e66b32a384d44a029b07ffdd068c7c08a19
26
27 diff --git a/www-servers/apache/apache-2.4.23.ebuild b/www-servers/apache/apache-2.4.23.ebuild
28 new file mode 100644
29 index 0000000..d2eebc8
30 --- /dev/null
31 +++ b/www-servers/apache/apache-2.4.23.ebuild
32 @@ -0,0 +1,237 @@
33 +# Copyright 1999-2016 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +# $Id$
36 +
37 +EAPI=5
38 +
39 +# latest gentoo apache files
40 +GENTOO_PATCHSTAMP="20160303"
41 +GENTOO_DEVELOPER="polynomial-c"
42 +GENTOO_PATCHNAME="gentoo-apache-2.4.18-r1"
43 +
44 +# IUSE/USE_EXPAND magic
45 +IUSE_MPMS_FORK="prefork"
46 +IUSE_MPMS_THREAD="event worker"
47 +
48 +# << obsolete modules:
49 +# authn_default authz_default mem_cache
50 +# mem_cache is replaced by cache_disk
51 +# ?? buggy modules
52 +# proxy_scgi: startup error: undefined symbol "ap_proxy_release_connection", no fix found
53 +# >> added modules for reason:
54 +# compat: compatibility with 2.2 access control
55 +# authz_host: new module for access control
56 +# authn_core: functionality provided by authn_alias in previous versions
57 +# authz_core: new module, provides core authorization capabilities
58 +# cache_disk: replacement for mem_cache
59 +# lbmethod_byrequests: Split off from mod_proxy_balancer in 2.3
60 +# lbmethod_bytraffic: Split off from mod_proxy_balancer in 2.3
61 +# lbmethod_bybusyness: Split off from mod_proxy_balancer in 2.3
62 +# lbmethod_heartbeat: Split off from mod_proxy_balancer in 2.3
63 +# slotmem_shm: Slot-based shared memory provider (for lbmethod_byrequests).
64 +# socache_shmcb: shared object cache provider. Default config with ssl needs it
65 +# unixd: fixes startup error: Invalid command 'User'
66 +IUSE_MODULES="access_compat actions alias asis auth_basic auth_digest
67 +authn_alias authn_anon authn_core authn_dbd authn_dbm authn_file authz_core
68 +authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex
69 +cache cache_disk cern_meta charset_lite cgi cgid dav dav_fs dav_lock dbd deflate
70 +dir dumpio env expires ext_filter file_cache filter headers http2 ident imagemap
71 +include info lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness
72 +lbmethod_heartbeat log_config log_forensic logio macro mime mime_magic negotiation
73 +proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_html proxy_http proxy_scgi
74 +proxy_fcgi proxy_wstunnel rewrite ratelimit remoteip reqtimeout setenvif
75 +slotmem_shm speling socache_shmcb status substitute unique_id userdir usertrack
76 +unixd version vhost_alias"
77 +# The following are also in the source as of this version, but are not available
78 +# for user selection:
79 +# bucketeer case_filter case_filter_in echo http isapi optional_fn_export
80 +# optional_fn_import optional_hook_export optional_hook_import
81 +
82 +# inter-module dependencies
83 +# TODO: this may still be incomplete
84 +MODULE_DEPENDS="
85 + dav_fs:dav
86 + dav_lock:dav
87 + deflate:filter
88 + cache_disk:cache
89 + ext_filter:filter
90 + file_cache:cache
91 + lbmethod_byrequests:proxy_balancer
92 + lbmethod_byrequests:slotmem_shm
93 + lbmethod_bytraffic:proxy_balancer
94 + lbmethod_bybusyness:proxy_balancer
95 + lbmethod_heartbeat:proxy_balancer
96 + log_forensic:log_config
97 + logio:log_config
98 + cache_disk:cache
99 + mime_magic:mime
100 + proxy_ajp:proxy
101 + proxy_balancer:proxy
102 + proxy_balancer:slotmem_shm
103 + proxy_connect:proxy
104 + proxy_ftp:proxy
105 + proxy_html:proxy
106 + proxy_http:proxy
107 + proxy_scgi:proxy
108 + proxy_fcgi:proxy
109 + proxy_wstunnel:proxy
110 + substitute:filter
111 +"
112 +
113 +# module<->define mappings
114 +MODULE_DEFINES="
115 + auth_digest:AUTH_DIGEST
116 + authnz_ldap:AUTHNZ_LDAP
117 + cache:CACHE
118 + cache_disk:CACHE
119 + dav:DAV
120 + dav_fs:DAV
121 + dav_lock:DAV
122 + file_cache:CACHE
123 + http2:HTTP2
124 + info:INFO
125 + ldap:LDAP
126 + proxy:PROXY
127 + proxy_ajp:PROXY
128 + proxy_balancer:PROXY
129 + proxy_connect:PROXY
130 + proxy_ftp:PROXY
131 + proxy_html:PROXY
132 + proxy_http:PROXY
133 + proxy_fcgi:PROXY
134 + proxy_scgi:PROXY
135 + proxy_wstunnel:PROXY
136 + socache_shmcb:SSL
137 + ssl:SSL
138 + status:STATUS
139 + suexec:SUEXEC
140 + userdir:USERDIR
141 +"
142 +
143 +# critical modules for the default config
144 +MODULE_CRITICAL="
145 + authn_core
146 + authz_core
147 + authz_host
148 + dir
149 + mime
150 + unixd
151 +"
152 +inherit eutils apache-2 systemd toolchain-funcs
153 +
154 +DESCRIPTION="The Apache Web Server"
155 +HOMEPAGE="https://httpd.apache.org/"
156 +
157 +# some helper scripts are Apache-1.1, thus both are here
158 +LICENSE="Apache-2.0 Apache-1.1"
159 +SLOT="2"
160 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
161 +
162 +DEPEND+="apache2_modules_http2? ( >=net-libs/nghttp2-1.2.1 )"
163 +
164 +REQUIRED_USE="apache2_modules_http2? ( ssl )"
165 +
166 +pkg_setup() {
167 + # dependend critical modules which are not allowed in global scope due
168 + # to USE flag conditionals (bug #499260)
169 + use ssl && MODULE_CRITICAL+=" socache_shmcb"
170 + use doc && MODULE_CRITICAL+=" alias negotiation setenvif"
171 + apache-2_pkg_setup
172 +}
173 +
174 +src_configure() {
175 + # Brain dead check.
176 + tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
177 +
178 + apache-2_src_configure
179 +}
180 +
181 +src_compile() {
182 + if tc-is-cross-compiler; then
183 + # This header is the same across targets, so use the build compiler.
184 + pushd server >/dev/null
185 + emake gen_test_char
186 + tc-export_build_env BUILD_CC
187 + ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
188 + gen_test_char.c -o gen_test_char $(apr-1-config --includes) || die
189 + popd >/dev/null
190 + fi
191 +
192 + default
193 +}
194 +
195 +src_install() {
196 + apache-2_src_install
197 + for i in /usr/bin/{htdigest,logresolve,htpasswd,htdbm,ab,httxt2dbm}; do
198 + rm "${ED}"/$i || die "Failed to prune apache-tools bits"
199 + done
200 + for i in /usr/share/man/man8/{rotatelogs.8,htcacheclean.8}; do
201 + rm "${ED}"/$i || die "Failed to prune apache-tools bits"
202 + done
203 + for i in /usr/share/man/man1/{logresolve.1,htdbm.1,htdigest.1,htpasswd.1,dbmmanage.1,ab.1}; do
204 + rm "${ED}"/$i || die "Failed to prune apache-tools bits"
205 + done
206 + for i in /usr/sbin/{checkgid,fcgistarter,htcacheclean,rotatelogs}; do
207 + rm "${ED}/"$i || die "Failed to prune apache-tools bits"
208 + done
209 +
210 + # install apxs in /usr/bin (bug #502384) and put a symlink into the
211 + # old location until all ebuilds and eclasses have been modified to
212 + # use the new location.
213 + local apxs="/usr/bin/apxs"
214 + cp "${S}"/support/apxs "${ED}"${apxs} || die "Failed to install apxs"
215 + ln -s ../bin/apxs "${ED}"/usr/sbin/apxs || die
216 + chmod 0755 "${ED}"${apxs} || die
217 +
218 + # Note: wait for mod_systemd to be included in the next release,
219 + # then apache2.4.service can be used and systemd support controlled
220 + # through --enable-systemd
221 + systemd_newunit "${FILESDIR}/apache2.2.service" "apache2.service"
222 + systemd_dotmpfilesd "${FILESDIR}/apache.conf"
223 + #insinto /etc/apache2/modules.d
224 + #doins "${FILESDIR}/00_systemd.conf"
225 +
226 + # Install http2 module config
227 + insinto /etc/apache2/modules.d
228 + doins "${FILESDIR}"/41_mod_http2.conf
229 +}
230 +
231 +pkg_postinst()
232 +{
233 + apache-2_pkg_postinst || die "apache-2_pkg_postinst failed"
234 + # warnings that default config might not work out of the box
235 + for mod in $MODULE_CRITICAL; do
236 + if ! use "apache2_modules_${mod}"; then
237 + echo
238 + ewarn "Warning: Critical module not installed!"
239 + ewarn "Modules 'authn_core', 'authz_core' and 'unixd'"
240 + ewarn "are highly recomended but might not be in the base profile yet."
241 + ewarn "Default config for ssl needs module 'socache_shmcb'."
242 + ewarn "Enabling the following flags is highly recommended:"
243 + for cmod in $MODULE_CRITICAL; do
244 + use "apache2_modules_${cmod}" || \
245 + ewarn "+ apache2_modules_${cmod}"
246 + done
247 + echo
248 + break
249 + fi
250 + done
251 + # warning for proxy_balancer and missing load balancing scheduler
252 + if use apache2_modules_proxy_balancer; then
253 + local lbset=
254 + for mod in lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat; do
255 + if use "apache2_modules_${mod}"; then
256 + lbset=1 && break
257 + fi
258 + done
259 + if [ ! $lbset ]; then
260 + echo
261 + ewarn "Info: Missing load balancing scheduler algorithm module"
262 + ewarn "(They were split off from proxy_balancer in 2.3)"
263 + ewarn "In order to get the ability of load balancing, at least"
264 + ewarn "one of these modules has to be present:"
265 + ewarn "lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat"
266 + echo
267 + fi
268 + fi
269 +}