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: Mon, 14 Dec 2015 08:21:21
Message-Id: 1450081258.755e0c5b293464e9c9cc0c4f9cbf426f9080b397.polynomial-c@gentoo
1 commit: 755e0c5b293464e9c9cc0c4f9cbf426f9080b397
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 14 08:15:24 2015 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 14 08:20:58 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=755e0c5b
7
8 www-servers/apache: Bump to version 2.4.18
9
10 Package-Manager: portage-2.2.26
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.18.ebuild | 229 ++++++++++++++++++++++++++++++++
15 2 files changed, 230 insertions(+)
16
17 diff --git a/www-servers/apache/Manifest b/www-servers/apache/Manifest
18 index d4c8eed..0f058f9 100644
19 --- a/www-servers/apache/Manifest
20 +++ b/www-servers/apache/Manifest
21 @@ -3,3 +3,4 @@ DIST gentoo-apache-2.4.10-r1-20140731.tar.bz2 24531 SHA256 8e093a18582c3a20283ed
22 DIST httpd-2.2.31.tar.bz2 5610489 SHA256 f32f9d19f535dac63b06cb55dfc023b40dcd28196b785f79f9346779e22f26ac SHA512 5aa47d4b76f692bbd8b309135ff99152df98cf69b505b9daf3f13f7f2a31443eaf4995161adfbc47a133b4d0e091fda2d95fc6b87a956f0ada18d7466ee28e74 WHIRLPOOL a2e3e53c51719cb6f7e641b41788cd89ce7b4d2ea105b403bfa3b3d4479b69c5604228269062f66722594e105e91121d05b1c9f27ca7dc4ecfcf339da8b8375c
23 DIST httpd-2.4.16.tar.bz2 5101005 SHA256 ac660b47aaa7887779a6430404dcb40c0b04f90ea69e7bd49a40552e9ff13743 SHA512 039750ff962c08a7261896acc8272e59874d066f7d52721aaf967ddb737fc5716acc47e1effaf7c4d156ba61bc393e0738f64f8e89cc277ba2651e0f61d56628 WHIRLPOOL f67a4449409cd1a50fcdf4d192a3a0c90e6e3483269d19e9f0454557cbfbda7fb3535063e1738de60d6f524e22eac7fc159d2abe5a60952219c1b01ee143ae05
24 DIST httpd-2.4.17.tar.bz2 5157721 SHA256 331e035dec81d3db95b048f036f4d7b1a97ec8daa5b377bde42d4ccf1f2eb798 SHA512 d818dbd4b138db592a98fecdf5ae13dfadc19f9553e98bdafbdadd4693ae19bb44c96c8c279e9546978bbce55b9286ce3c4ae69cf701a9812be134a3a517b1f6 WHIRLPOOL f18dd92091e0d7f051f55276dc99656b299f3aaff5375d2fe286e18c33cfeb6887db9c792a426e88655dc0523e66008b2fc534ee1a5ae5b2ae5000bef1509aa8
25 +DIST httpd-2.4.18.tar.bz2 5181291 SHA256 0644b050de41f5c9f67c825285049b144690421acb709b06fe53eddfa8a9fd4c SHA512 8e342cc447313c07275869381c2d6f2314a96547f0c86ee1c617975d0f7ad8efb47113ab5995c733108ae4dec31ad79847e397ecea859b60414ffe1680617a31 WHIRLPOOL e0ae6b8581e2993e0f873d8928e3b54f1df750f29e82d2f1308376af440308c56e89dfb3ec051cdf164a271580ccac71ebc5b038e23ca65a9221fdfc08b47b41
26
27 diff --git a/www-servers/apache/apache-2.4.18.ebuild b/www-servers/apache/apache-2.4.18.ebuild
28 new file mode 100644
29 index 0000000..b4e5f03
30 --- /dev/null
31 +++ b/www-servers/apache/apache-2.4.18.ebuild
32 @@ -0,0 +1,229 @@
33 +# Copyright 1999-2015 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="20140731"
41 +GENTOO_DEVELOPER="polynomial-c"
42 +GENTOO_PATCHNAME="gentoo-apache-2.4.10-r1"
43 +
44 +# IUSE/USE_EXPAND magic
45 +IUSE_MPMS_FORK="peruser 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_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_http:proxy
106 + proxy_scgi:proxy
107 + proxy_fcgi:proxy
108 + proxy_wstunnel:proxy
109 + substitute:filter
110 +"
111 +
112 +# module<->define mappings
113 +MODULE_DEFINES="
114 + auth_digest:AUTH_DIGEST
115 + authnz_ldap:AUTHNZ_LDAP
116 + cache:CACHE
117 + cache_disk:CACHE
118 + dav:DAV
119 + dav_fs:DAV
120 + dav_lock:DAV
121 + file_cache:CACHE
122 + http2:HTTP2
123 + info:INFO
124 + ldap:LDAP
125 + proxy:PROXY
126 + proxy_ajp:PROXY
127 + proxy_balancer:PROXY
128 + proxy_connect:PROXY
129 + proxy_ftp:PROXY
130 + proxy_http:PROXY
131 + proxy_fcgi:PROXY
132 + proxy_scgi:PROXY
133 + proxy_wstunnel:PROXY
134 + socache_shmcb:SSL
135 + ssl:SSL
136 + status:STATUS
137 + suexec:SUEXEC
138 + userdir:USERDIR
139 +"
140 +
141 +# critical modules for the default config
142 +MODULE_CRITICAL="
143 + authn_core
144 + authz_core
145 + authz_host
146 + dir
147 + mime
148 + unixd
149 +"
150 +inherit eutils apache-2 systemd toolchain-funcs
151 +
152 +DESCRIPTION="The Apache Web Server"
153 +HOMEPAGE="http://httpd.apache.org/"
154 +
155 +# some helper scripts are Apache-1.1, thus both are here
156 +LICENSE="Apache-2.0 Apache-1.1"
157 +SLOT="2"
158 +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"
159 +
160 +DEPEND+="apache2_modules_http2? ( >=net-libs/nghttp2-1.0.0 )"
161 +
162 +pkg_setup() {
163 + # dependend critical modules which are not allowed in global scope due
164 + # to USE flag conditionals (bug #499260)
165 + use ssl && MODULE_CRITICAL+=" socache_shmcb"
166 + use doc && MODULE_CRITICAL+=" alias negotiation setenvif"
167 + apache-2_pkg_setup
168 +}
169 +
170 +src_configure() {
171 + # Brain dead check.
172 + tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
173 +
174 + apache-2_src_configure
175 +}
176 +
177 +src_compile() {
178 + if tc-is-cross-compiler; then
179 + # This header is the same across targets, so use the build compiler.
180 + pushd server >/dev/null
181 + emake gen_test_char
182 + tc-export_build_env BUILD_CC
183 + ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
184 + gen_test_char.c -o gen_test_char $(apr-1-config --includes) || die
185 + popd >/dev/null
186 + fi
187 +
188 + default
189 +}
190 +
191 +src_install() {
192 + apache-2_src_install
193 + for i in /usr/bin/{htdigest,logresolve,htpasswd,htdbm,ab,httxt2dbm}; do
194 + rm "${ED}"/$i || die "Failed to prune apache-tools bits"
195 + done
196 + for i in /usr/share/man/man8/{rotatelogs.8,htcacheclean.8}; do
197 + rm "${ED}"/$i || die "Failed to prune apache-tools bits"
198 + done
199 + for i in /usr/share/man/man1/{logresolve.1,htdbm.1,htdigest.1,htpasswd.1,dbmmanage.1,ab.1}; do
200 + rm "${ED}"/$i || die "Failed to prune apache-tools bits"
201 + done
202 + for i in /usr/sbin/{checkgid,fcgistarter,htcacheclean,rotatelogs}; do
203 + rm "${ED}/"$i || die "Failed to prune apache-tools bits"
204 + done
205 +
206 + # install apxs in /usr/bin (bug #502384) and put a symlink into the
207 + # old location until all ebuilds and eclasses have been modified to
208 + # use the new location.
209 + local apxs="/usr/bin/apxs"
210 + cp "${S}"/support/apxs "${ED}"${apxs} || die "Failed to install apxs"
211 + ln -s ../bin/apxs "${ED}"/usr/sbin/apxs || die
212 + chmod 0755 "${ED}"${apxs} || die
213 +
214 + # Note: wait for mod_systemd to be included in the next release,
215 + # then apache2.4.service can be used and systemd support controlled
216 + # through --enable-systemd
217 + systemd_newunit "${FILESDIR}/apache2.2.service" "apache2.service"
218 + systemd_dotmpfilesd "${FILESDIR}/apache.conf"
219 + #insinto /etc/apache2/modules.d
220 + #doins "${FILESDIR}/00_systemd.conf"
221 +}
222 +
223 +pkg_postinst()
224 +{
225 + apache-2_pkg_postinst || die "apache-2_pkg_postinst failed"
226 + # warnings that default config might not work out of the box
227 + for mod in $MODULE_CRITICAL; do
228 + if ! use "apache2_modules_${mod}"; then
229 + echo
230 + ewarn "Warning: Critical module not installed!"
231 + ewarn "Modules 'authn_core', 'authz_core' and 'unixd'"
232 + ewarn "are highly recomended but might not be in the base profile yet."
233 + ewarn "Default config for ssl needs module 'socache_shmcb'."
234 + ewarn "Enabling the following flags is highly recommended:"
235 + for cmod in $MODULE_CRITICAL; do
236 + use "apache2_modules_${cmod}" || \
237 + ewarn "+ apache2_modules_${cmod}"
238 + done
239 + echo
240 + break
241 + fi
242 + done
243 + # warning for proxy_balancer and missing load balancing scheduler
244 + if use apache2_modules_proxy_balancer; then
245 + local lbset=
246 + for mod in lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat; do
247 + if use "apache2_modules_${mod}"; then
248 + lbset=1 && break
249 + fi
250 + done
251 + if [ ! $lbset ]; then
252 + echo
253 + ewarn "Info: Missing load balancing scheduler algorithm module"
254 + ewarn "(They were split off from proxy_balancer in 2.3)"
255 + ewarn "In order to get the ability of load balancing, at least"
256 + ewarn "one of these modules has to be present:"
257 + ewarn "lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat"
258 + echo
259 + fi
260 + fi
261 +}