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