Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 413824 Details for
Bug 562324
app-admin/apache-tools www-servers/apache add libressl support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
0002-www-servers-apache-add-libressl-support.patch
0002-www-servers-apache-add-libressl-support.patch (text/plain), 9.38 KB, created by
Julian Ospald
on 2015-10-05 14:10:41 UTC
(
hide
)
Description:
0002-www-servers-apache-add-libressl-support.patch
Filename:
MIME Type:
Creator:
Julian Ospald
Created:
2015-10-05 14:10:41 UTC
Size:
9.38 KB
patch
obsolete
>From 0946a607c854d317cb4863f94a446f1003cae461 Mon Sep 17 00:00:00 2001 >From: Julian Ospald <hasufell@gentoo.org> >Date: Mon, 5 Oct 2015 16:07:16 +0200 >Subject: [PATCH 2/2] www-servers/apache: add libressl support > >--- > eclass/apache-2.eclass | 7 +- > www-servers/apache/apache-2.4.16-r1.ebuild | 245 +++++++++++++++++++++++++++++ > 2 files changed, 250 insertions(+), 2 deletions(-) > create mode 100644 www-servers/apache/apache-2.4.16-r1.ebuild > >diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass >index d062152..d8ff872 100644 >--- a/eclass/apache-2.eclass >+++ b/eclass/apache-2.eclass >@@ -89,7 +89,7 @@ SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2 > # built-in modules > > IUSE_MPMS="${IUSE_MPMS_FORK} ${IUSE_MPMS_THREAD}" >-IUSE="${IUSE} debug doc ldap selinux ssl static suexec threads" >+IUSE="${IUSE} debug doc ldap libressl selinux ssl static suexec threads" > > for module in ${IUSE_MODULES} ; do > IUSE="${IUSE} apache2_modules_${module}" >@@ -106,7 +106,10 @@ DEPEND="dev-lang/perl > apache2_modules_deflate? ( sys-libs/zlib ) > apache2_modules_mime? ( app-misc/mime-types ) > ldap? ( =net-nds/openldap-2* ) >- ssl? ( >=dev-libs/openssl-0.9.8m:0= ) >+ ssl? ( >+ !libressl? ( >=dev-libs/openssl-0.9.8m:0= ) >+ libressl? ( dev-libs/libressl:= ) >+ ) > !=www-servers/apache-1*" > RDEPEND+=" ${DEPEND} > selinux? ( sec-policy/selinux-apache )" >diff --git a/www-servers/apache/apache-2.4.16-r1.ebuild b/www-servers/apache/apache-2.4.16-r1.ebuild >new file mode 100644 >index 0000000..cd73578 >--- /dev/null >+++ b/www-servers/apache/apache-2.4.16-r1.ebuild >@@ -0,0 +1,245 @@ >+# Copyright 1999-2015 Gentoo Foundation >+# Distributed under the terms of the GNU General Public License v2 >+# $Id$ >+ >+EAPI=5 >+ >+# latest gentoo apache files >+GENTOO_PATCHSTAMP="20140731" >+GENTOO_DEVELOPER="polynomial-c" >+GENTOO_PATCHNAME="gentoo-apache-2.4.10-r1" >+ >+# IUSE/USE_EXPAND magic >+IUSE_MPMS_FORK="peruser prefork" >+IUSE_MPMS_THREAD="event worker" >+ >+# << obsolete modules: >+# authn_default authz_default mem_cache >+# mem_cache is replaced by cache_disk >+# ?? buggy modules >+# proxy_scgi: startup error: undefined symbol "ap_proxy_release_connection", no fix found >+# >> added modules for reason: >+# compat: compatibility with 2.2 access control >+# authz_host: new module for access control >+# authn_core: functionality provided by authn_alias in previous versions >+# authz_core: new module, provides core authorization capabilities >+# cache_disk: replacement for mem_cache >+# lbmethod_byrequests: Split off from mod_proxy_balancer in 2.3 >+# lbmethod_bytraffic: Split off from mod_proxy_balancer in 2.3 >+# lbmethod_bybusyness: Split off from mod_proxy_balancer in 2.3 >+# lbmethod_heartbeat: Split off from mod_proxy_balancer in 2.3 >+# slotmem_shm: Slot-based shared memory provider (for lbmethod_byrequests). >+# socache_shmcb: shared object cache provider. Default config with ssl needs it >+# unixd: fixes startup error: Invalid command 'User' >+IUSE_MODULES="access_compat actions alias asis auth_basic auth_digest >+authn_alias authn_anon authn_core authn_dbd authn_dbm authn_file authz_core >+authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex >+cache cache_disk cern_meta charset_lite cgi cgid dav dav_fs dav_lock dbd deflate >+dir dumpio env expires ext_filter file_cache filter headers ident imagemap >+include info lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness >+lbmethod_heartbeat log_config log_forensic logio macro mime mime_magic negotiation >+proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi >+proxy_fcgi proxy_wstunnel rewrite ratelimit remoteip reqtimeout setenvif >+slotmem_shm speling socache_shmcb status substitute unique_id userdir usertrack >+unixd version vhost_alias" >+# The following are also in the source as of this version, but are not available >+# for user selection: >+# bucketeer case_filter case_filter_in echo http isapi optional_fn_export >+# optional_fn_import optional_hook_export optional_hook_import >+ >+# inter-module dependencies >+# TODO: this may still be incomplete >+MODULE_DEPENDS=" >+ dav_fs:dav >+ dav_lock:dav >+ deflate:filter >+ cache_disk:cache >+ ext_filter:filter >+ file_cache:cache >+ lbmethod_byrequests:proxy_balancer >+ lbmethod_byrequests:slotmem_shm >+ lbmethod_bytraffic:proxy_balancer >+ lbmethod_bybusyness:proxy_balancer >+ lbmethod_heartbeat:proxy_balancer >+ log_forensic:log_config >+ logio:log_config >+ cache_disk:cache >+ mime_magic:mime >+ proxy_ajp:proxy >+ proxy_balancer:proxy >+ proxy_balancer:slotmem_shm >+ proxy_connect:proxy >+ proxy_ftp:proxy >+ proxy_http:proxy >+ proxy_scgi:proxy >+ proxy_fcgi:proxy >+ proxy_wstunnel:proxy >+ substitute:filter >+" >+ >+# module<->define mappings >+MODULE_DEFINES=" >+ auth_digest:AUTH_DIGEST >+ authnz_ldap:AUTHNZ_LDAP >+ cache:CACHE >+ cache_disk:CACHE >+ dav:DAV >+ dav_fs:DAV >+ dav_lock:DAV >+ file_cache:CACHE >+ info:INFO >+ ldap:LDAP >+ proxy:PROXY >+ proxy_ajp:PROXY >+ proxy_balancer:PROXY >+ proxy_connect:PROXY >+ proxy_ftp:PROXY >+ proxy_http:PROXY >+ proxy_fcgi:PROXY >+ proxy_scgi:PROXY >+ proxy_wstunnel:PROXY >+ socache_shmcb:SSL >+ ssl:SSL >+ status:STATUS >+ suexec:SUEXEC >+ userdir:USERDIR >+" >+ >+# critical modules for the default config >+MODULE_CRITICAL=" >+ authn_core >+ authz_core >+ authz_host >+ dir >+ mime >+ unixd >+" >+inherit eutils apache-2 systemd toolchain-funcs >+ >+DESCRIPTION="The Apache Web Server" >+HOMEPAGE="http://httpd.apache.org/" >+ >+# some helper scripts are Apache-1.1, thus both are here >+LICENSE="Apache-2.0 Apache-1.1" >+SLOT="2" >+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" >+IUSE="alpn" >+REQUIRED_USE="alpn? ( ssl )" >+ >+DEPEND+=" >+ alpn? ( >+ !libressl? ( >=dev-libs/openssl-1.0.2:0= ) >+ libressl? ( dev-libs/libressl:= ) >+ )" >+RDEPEND+=" >+ alpn? ( >+ !libressl? ( >=dev-libs/openssl-1.0.2:0= ) >+ libressl? ( dev-libs/libressl:= ) >+ ) >+ " >+ >+pkg_setup() { >+ # dependend critical modules which are not allowed in global scope due >+ # to USE flag conditionals (bug #499260) >+ use ssl && MODULE_CRITICAL+=" socache_shmcb" >+ use doc && MODULE_CRITICAL+=" alias negotiation setenvif" >+ apache-2_pkg_setup >+} >+ >+src_prepare() { >+ use alpn && epatch "${FILESDIR}"/${PN}-2.4.12-alpn.patch #471512 >+ apache-2_src_prepare >+} >+ >+src_configure() { >+ # Brain dead check. >+ tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no" >+ >+ apache-2_src_configure >+} >+ >+src_compile() { >+ if tc-is-cross-compiler; then >+ # This header is the same across targets, so use the build compiler. >+ pushd server >/dev/null >+ emake gen_test_char >+ tc-export_build_env BUILD_CC >+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \ >+ gen_test_char.c -o gen_test_char $(apr-1-config --includes) || die >+ popd >/dev/null >+ fi >+ >+ default >+} >+ >+src_install() { >+ apache-2_src_install >+ for i in /usr/bin/{htdigest,logresolve,htpasswd,htdbm,ab,httxt2dbm}; do >+ rm "${ED}"/$i || die "Failed to prune apache-tools bits" >+ done >+ for i in /usr/share/man/man8/{rotatelogs.8,htcacheclean.8}; do >+ rm "${ED}"/$i || die "Failed to prune apache-tools bits" >+ done >+ for i in /usr/share/man/man1/{logresolve.1,htdbm.1,htdigest.1,htpasswd.1,dbmmanage.1,ab.1}; do >+ rm "${ED}"/$i || die "Failed to prune apache-tools bits" >+ done >+ for i in /usr/sbin/{checkgid,fcgistarter,htcacheclean,rotatelogs}; do >+ rm "${ED}/"$i || die "Failed to prune apache-tools bits" >+ done >+ >+ # install apxs in /usr/bin (bug #502384) and put a symlink into the >+ # old location until all ebuilds and eclasses have been modified to >+ # use the new location. >+ local apxs="/usr/bin/apxs" >+ cp "${S}"/support/apxs "${ED}"${apxs} || die "Failed to install apxs" >+ ln -s ../bin/apxs "${ED}"/usr/sbin/apxs || die >+ chmod 0755 "${ED}"${apxs} || die >+ >+ # Note: wait for mod_systemd to be included in the next release, >+ # then apache2.4.service can be used and systemd support controlled >+ # through --enable-systemd >+ systemd_newunit "${FILESDIR}/apache2.2.service" "apache2.service" >+ systemd_dotmpfilesd "${FILESDIR}/apache.conf" >+ #insinto /etc/apache2/modules.d >+ #doins "${FILESDIR}/00_systemd.conf" >+} >+ >+pkg_postinst() >+{ >+ apache-2_pkg_postinst || die "apache-2_pkg_postinst failed" >+ # warnings that default config might not work out of the box >+ for mod in $MODULE_CRITICAL; do >+ if ! use "apache2_modules_${mod}"; then >+ echo >+ ewarn "Warning: Critical module not installed!" >+ ewarn "Modules 'authn_core', 'authz_core' and 'unixd'" >+ ewarn "are highly recomended but might not be in the base profile yet." >+ ewarn "Default config for ssl needs module 'socache_shmcb'." >+ ewarn "Enabling the following flags is highly recommended:" >+ for cmod in $MODULE_CRITICAL; do >+ use "apache2_modules_${cmod}" || \ >+ ewarn "+ apache2_modules_${cmod}" >+ done >+ echo >+ break >+ fi >+ done >+ # warning for proxy_balancer and missing load balancing scheduler >+ if use apache2_modules_proxy_balancer; then >+ local lbset= >+ for mod in lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat; do >+ if use "apache2_modules_${mod}"; then >+ lbset=1 && break >+ fi >+ done >+ if [ ! $lbset ]; then >+ echo >+ ewarn "Info: Missing load balancing scheduler algorithm module" >+ ewarn "(They were split off from proxy_balancer in 2.3)" >+ ewarn "In order to get the ability of load balancing, at least" >+ ewarn "one of these modules has to be present:" >+ ewarn "lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat" >+ echo >+ fi >+ fi >+} >-- >2.6.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 562324
:
413822
| 413824 |
414030
|
414032
|
414034