From 5c9e18bb5eb8a97295c97a86bc0b5653f96f1a7837231ccaeec68469c46f9a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 28 Aug 2013 07:32:31 +0000 Subject: [PATCH 1/3] Accepting request 196614 from home:elvigia:branches:Apache - Use %requires_ge for libapr1 and libapr-util1 - apache2-default-server.conf: Need to use IncludeOptional - apache-20-22-upgrade: also load authz_core - httpd-visibility.patch: Use compiler symbol visibility. OBS-URL: https://build.opensuse.org/request/show/196614 OBS-URL: https://build.opensuse.org/package/show/Apache/apache2?expand=0&rev=387 --- apache-20-22-upgrade | 4 + apache2-default-server.conf | 2 +- apache2.changes | 8 ++ apache2.spec | 13 +- httpd-visibility.patch | 260 ++++++++++++++++++++++++++++++++++++ 5 files changed, 279 insertions(+), 8 deletions(-) create mode 100644 httpd-visibility.patch diff --git a/apache-20-22-upgrade b/apache-20-22-upgrade index f08db07..872d86d 100644 --- a/apache-20-22-upgrade +++ b/apache-20-22-upgrade @@ -75,6 +75,10 @@ if ! a2enmod -q authn_core; then a2enmod authn_core fi +if ! a2enmod -q authz_core; then + a2enmod authz_core +fi + if ! a2enmod -q log_config; then a2enmod log_config fi diff --git a/apache2-default-server.conf b/apache2-default-server.conf index eb12cad..261d5cc 100644 --- a/apache2-default-server.conf +++ b/apache2-default-server.conf @@ -99,7 +99,7 @@ ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/" # You can comment this out here if you want those bits include only in a # certain virtual host, but not here. # -Include /etc/apache2/conf.d/*.conf +IncludeOptional /etc/apache2/conf.d/*.conf # The manual... if it is installed ('?' means it won't complain) IncludeOptional /etc/apache2/conf.d/apache2-manual?conf diff --git a/apache2.changes b/apache2.changes index ab7c99d..c96a9e5 100644 --- a/apache2.changes +++ b/apache2.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Aug 28 07:29:47 UTC 2013 - crrodriguez@opensuse.org + +- Use %requires_ge for libapr1 and libapr-util1 +- apache2-default-server.conf: Need to use IncludeOptional +- apache-20-22-upgrade: also load authz_core +- httpd-visibility.patch: Use compiler symbol visibility. + ------------------------------------------------------------------- Fri Aug 2 08:18:03 UTC 2013 - meissner@suse.com diff --git a/apache2.spec b/apache2.spec index 73263ca..2a55813 100644 --- a/apache2.spec +++ b/apache2.spec @@ -155,6 +155,7 @@ Patch70: apache2-implicit-pointer-decl.patch # PATCH-FEATURE-UPSTREAM httpd-2.4.3-mod_systemd.patch crrodriguez@opensuse.org simple module provides systemd integration. Patch109: httpd-2.4.3-mod_systemd.patch Patch110: http://people.apache.org/~minfrin/httpd-event-ssl.patch +Patch111: httpd-visibility.patch Url: http://httpd.apache.org/ Icon: Apache.xpm Summary: The Apache Web Server Version 2.2 @@ -170,11 +171,8 @@ Requires: %{pname}-MPM Requires: /etc/mime.types PreReq: %{name}-utils Requires: logrotate -# in the past, libapr1 >= 1.0 was sufficient. But since 2.2.16, a failure to -# create listen sockets can occur, unless newer libapr1 is used, with certain kernels. -# see https://bugzilla.redhat.com/show_bug.cgi?id=516331 -Requires: libapr1 < 2.0 -Requires: libapr1 >= 1.4.2 +%requires_ge libapr1 +%requires_ge libapr-util1 %{?systemd_requires} PreReq: fileutils textutils grep sed %if %{?suse_version:1}0 @@ -378,7 +376,8 @@ to administrators of web servers in general. %patch70 -p1 #%patch108 -p1 %patch109 -p1 -%patch110 +%patch110 +%patch111 -p1 cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE # install READMEs @@ -502,7 +501,7 @@ for mpm in %{mpms_to_build}; do sed "s/%{vers}-$mpm//" include/ap_config_auto.h > include/ap_config_auto.h.new mv include/ap_config_auto.h.new include/ap_config_auto.h - make CFLAGS="$RPM_OPT_FLAGS -fPIC \ + make CFLAGS="$RPM_OPT_FLAGS -fvisibility=hidden -fPIC \ -Wall \ -DDEFAULT_PIDLOG='\"%{runtimedir}/%{httpd}.pid\"' \ -DDEFAULT_ERRORLOG='\"%{logfiledir}/error_log\"' " \ diff --git a/httpd-visibility.patch b/httpd-visibility.patch new file mode 100644 index 0000000..ece25b3 --- /dev/null +++ b/httpd-visibility.patch @@ -0,0 +1,260 @@ +--- httpd-2.4.6.orig/include/ap_config.h ++++ httpd-2.4.6/include/ap_config.h +@@ -64,7 +64,7 @@ + * AP_DECLARE(rettype) ap_func(args) + * @endcode + */ +-#define AP_DECLARE(type) type ++#define AP_DECLARE(type) __attribute__ ((visibility ("default"))) type + + /** + * Apache Core dso variable argument and hook functions are declared with +@@ -74,7 +74,7 @@ + * AP_DECLARE_NONSTD(rettype) ap_func(args [...]) + * @endcode + */ +-#define AP_DECLARE_NONSTD(type) type ++#define AP_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type + + /** + * Apache Core dso variables are declared with AP_MODULE_DECLARE_DATA. +@@ -86,7 +86,7 @@ + * AP_DECLARE_DATA type apr_variable + * @endcode + */ +-#define AP_DECLARE_DATA ++#define AP_DECLARE_DATA __attribute__ ((visibility ("default"))) + + #elif defined(AP_DECLARE_STATIC) + #define AP_DECLARE(type) type __stdcall +@@ -115,10 +115,10 @@ + #if defined(WIN32) + #define AP_MODULE_DECLARE(type) type __stdcall + #else +-#define AP_MODULE_DECLARE(type) type ++#define AP_MODULE_DECLARE(type) __attribute__ ((visibility ("default"))) type + #endif +-#define AP_MODULE_DECLARE_NONSTD(type) type +-#define AP_MODULE_DECLARE_DATA ++#define AP_MODULE_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define AP_MODULE_DECLARE_DATA __attribute__ ((visibility ("default"))) + #else + /** + * AP_MODULE_DECLARE_EXPORT is a no-op. Unless contradicted by the +--- httpd-2.4.6.orig/modules/cache/mod_cache.h ++++ httpd-2.4.6/modules/cache/mod_cache.h +@@ -37,9 +37,9 @@ + * CACHE_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define CACHE_DECLARE(type) type +-#define CACHE_DECLARE_NONSTD(type) type +-#define CACHE_DECLARE_DATA ++#define CACHE_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define CACHE_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define CACHE_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(CACHE_DECLARE_STATIC) + #define CACHE_DECLARE(type) type __stdcall + #define CACHE_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/proxy/mod_proxy.h ++++ httpd-2.4.6/modules/proxy/mod_proxy.h +@@ -475,9 +475,9 @@ struct proxy_balancer_method { + * PROXY_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define PROXY_DECLARE(type) type +-#define PROXY_DECLARE_NONSTD(type) type +-#define PROXY_DECLARE_DATA ++#define PROXY_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define PROXY_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define PROXY_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(PROXY_DECLARE_STATIC) + #define PROXY_DECLARE(type) type __stdcall + #define PROXY_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/lua/mod_lua.h ++++ httpd-2.4.6/modules/lua/mod_lua.h +@@ -58,9 +58,9 @@ + * AP_LUA_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define AP_LUA_DECLARE(type) type +-#define AP_LUA_DECLARE_NONSTD(type) type +-#define AP_LUA_DECLARE_DATA ++#define AP_LUA_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define AP_LUA_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define AP_LUA_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(AP_LUA_DECLARE_STATIC) + #define AP_LUA_DECLARE(type) type __stdcall + #define AP_LUA_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/core/mod_watchdog.h ++++ httpd-2.4.6/modules/core/mod_watchdog.h +@@ -83,9 +83,9 @@ typedef struct ap_watchdog_t ap_watchdog + */ + #if !defined(AP_WD_DECLARE) + #if !defined(WIN32) +-#define AP_WD_DECLARE(type) type +-#define AP_WD_DECLARE_NONSTD(type) type +-#define AP_WD_DECLARE_DATA ++#define AP_WD_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define AP_WD_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define AP_WD_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(AP_WD_DECLARE_STATIC) + #define AP_WD_DECLARE(type) type __stdcall + #define AP_WD_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/generators/mod_status.h ++++ httpd-2.4.6/modules/generators/mod_status.h +@@ -34,9 +34,9 @@ + #define AP_STATUS_EXTENDED (0x4) /* detailed report */ + + #if !defined(WIN32) +-#define STATUS_DECLARE(type) type +-#define STATUS_DECLARE_NONSTD(type) type +-#define STATUS_DECLARE_DATA ++#define STATUS_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define STATUS_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define STATUS_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(STATUS_DECLARE_STATIC) + #define STATUS_DECLARE(type) type __stdcall + #define STATUS_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/dav/main/mod_dav.h ++++ httpd-2.4.6/modules/dav/main/mod_dav.h +@@ -82,9 +82,9 @@ extern "C" { + * DAV_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define DAV_DECLARE(type) type +-#define DAV_DECLARE_NONSTD(type) type +-#define DAV_DECLARE_DATA ++#define DAV_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define DAV_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define DAV_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(DAV_DECLARE_STATIC) + #define DAV_DECLARE(type) type __stdcall + #define DAV_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/session/mod_session.h ++++ httpd-2.4.6/modules/session/mod_session.h +@@ -21,9 +21,9 @@ + * SESSION_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define SESSION_DECLARE(type) type +-#define SESSION_DECLARE_NONSTD(type) type +-#define SESSION_DECLARE_DATA ++#define SESSION_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define SESSION_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define SESSION_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(SESSION_DECLARE_STATIC) + #define SESSION_DECLARE(type) type __stdcall + #define SESSION_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/database/mod_dbd.h ++++ httpd-2.4.6/modules/database/mod_dbd.h +@@ -35,9 +35,9 @@ + * DBD_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define DBD_DECLARE(type) type +-#define DBD_DECLARE_NONSTD(type) type +-#define DBD_DECLARE_DATA ++#define DBD_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define DBD_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define DBD_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(DBD_DECLARE_STATIC) + #define DBD_DECLARE(type) type __stdcall + #define DBD_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/filters/mod_xml2enc.h ++++ httpd-2.4.6/modules/filters/mod_xml2enc.h +@@ -25,9 +25,9 @@ + + /* declarations to deal with WIN32 compile-flag-in-source-code crap */ + #if !defined(WIN32) +-#define XML2ENC_DECLARE(type) type +-#define XML2ENC_DECLARE_NONSTD(type) type +-#define XML2ENC_DECLARE_DATA ++#define XML2ENC_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define XML2ENC_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define XML2ENC_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(XML2ENC_DECLARE_STATIC) + #define XML2ENC_DECLARE(type) type __stdcall + #define XML2ENC_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/filters/mod_ratelimit.h ++++ httpd-2.4.6/modules/filters/mod_ratelimit.h +@@ -21,9 +21,9 @@ + * AP_RL_DECLARE_DATA with appropriate export and import tags for the platform + */ + #if !defined(WIN32) +-#define AP_RL_DECLARE(type) type +-#define AP_RL_DECLARE_NONSTD(type) type +-#define AP_RL_DECLARE_DATA ++#define AP_RL_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define AP_RL_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define AP_RL_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(AP_RL_DECLARE_STATIC) + #define AP_RL_DECLARE(type) type __stdcall + #define AP_RL_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/modules/aaa/mod_authz_dbd.h ++++ httpd-2.4.6/modules/aaa/mod_authz_dbd.h +@@ -22,9 +22,9 @@ + * AUTHZ_DBD_DECLARE_DATA with appropriate export and import tags + */ + #if !defined(WIN32) +-#define AUTHZ_DBD_DECLARE(type) type +-#define AUTHZ_DBD_DECLARE_NONSTD(type) type +-#define AUTHZ_DBD_DECLARE_DATA ++#define AUTHZ_DBD_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define AUTHZ_DBD_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define AUTHZ_DBD_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(AUTHZ_DBD_DECLARE_STATIC) + #define AUTHZ_DBD_DECLARE(type) type __stdcall + #define AUTHZ_DBD_DECLARE_NONSTD(type) type +--- httpd-2.4.6.orig/include/httpd.h ++++ httpd-2.4.6/include/httpd.h +@@ -341,7 +341,7 @@ extern "C" { + * by modules. Its purpose is to allow us to add attributes that + * particular platforms or compilers require to every exported function. + */ +-# define AP_DECLARE(type) type ++# define AP_DECLARE(type) __attribute__ ((visibility ("default"))) type + #endif + + #ifndef AP_DECLARE_NONSTD +@@ -352,20 +352,20 @@ extern "C" { + * which use varargs or are used via indirect function call. This + * is to accomodate the two calling conventions in windows dlls. + */ +-# define AP_DECLARE_NONSTD(type) type ++# define AP_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type + #endif + #ifndef AP_DECLARE_DATA +-# define AP_DECLARE_DATA ++# define AP_DECLARE_DATA __attribute__ ((visibility ("default"))) + #endif + + #ifndef AP_MODULE_DECLARE +-# define AP_MODULE_DECLARE(type) type ++# define AP_MODULE_DECLARE(type) __attribute__ ((visibility ("default"))) type + #endif + #ifndef AP_MODULE_DECLARE_NONSTD +-# define AP_MODULE_DECLARE_NONSTD(type) type ++# define AP_MODULE_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type + #endif + #ifndef AP_MODULE_DECLARE_DATA +-# define AP_MODULE_DECLARE_DATA ++# define AP_MODULE_DECLARE_DATA __attribute__ ((visibility ("default"))) + #endif + + /** +--- httpd-2.4.6.orig/include/util_ldap.h ++++ httpd-2.4.6/include/util_ldap.h +@@ -66,9 +66,9 @@ + * and import tags for the platform + */ + #if !defined(WIN32) +-#define LDAP_DECLARE(type) type +-#define LDAP_DECLARE_NONSTD(type) type +-#define LDAP_DECLARE_DATA ++#define LDAP_DECLARE(type) __attribute__ ((visibility ("default"))) type ++#define LDAP_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type ++#define LDAP_DECLARE_DATA __attribute__ ((visibility ("default"))) + #elif defined(LDAP_DECLARE_STATIC) + #define LDAP_DECLARE(type) type __stdcall + #define LDAP_DECLARE_NONSTD(type) type From 817593e1a402a1a7d5d5a6da884c972443d696d448527b60fd039046713c9843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 28 Aug 2013 08:08:21 +0000 Subject: [PATCH 2/3] Accepting request 196621 from home:elvigia:branches:Apache OBS-URL: https://build.opensuse.org/request/show/196621 OBS-URL: https://build.opensuse.org/package/show/Apache/apache2?expand=0&rev=388 --- apache2.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apache2.spec b/apache2.spec index 2a55813..227ede5 100644 --- a/apache2.spec +++ b/apache2.spec @@ -171,8 +171,11 @@ Requires: %{pname}-MPM Requires: /etc/mime.types PreReq: %{name}-utils Requires: logrotate -%requires_ge libapr1 -%requires_ge libapr-util1 +# in the past, libapr1 >= 1.0 was sufficient. But since 2.2.16, a failure to +# create listen sockets can occur, unless newer libapr1 is used, with certain kernels. +# see https://bugzilla.redhat.com/show_bug.cgi?id=516331 +Requires: libapr1 < 2.0 +Requires: libapr1 >= 1.4.2 %{?systemd_requires} PreReq: fileutils textutils grep sed %if %{?suse_version:1}0 @@ -376,7 +379,7 @@ to administrators of web servers in general. %patch70 -p1 #%patch108 -p1 %patch109 -p1 -%patch110 +%patch110 %patch111 -p1 cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE From 4281e40e7dd39c7d330793b48978f92db3f745334a6a1b89f45d87eb39589f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Fri, 30 Aug 2013 04:51:32 +0000 Subject: [PATCH 3/3] Accepting request 196847 from home:elvigia:branches:Apache - Really use %requires_ge for libapr1 and libapr-util1 mentioned but not implemented in the previous commit. OBS-URL: https://build.opensuse.org/request/show/196847 OBS-URL: https://build.opensuse.org/package/show/Apache/apache2?expand=0&rev=389 --- apache2.changes | 6 ++++++ apache2.spec | 9 +++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apache2.changes b/apache2.changes index c96a9e5..88494f8 100644 --- a/apache2.changes +++ b/apache2.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 30 04:48:07 UTC 2013 - crrodriguez@opensuse.org + +- Really use %requires_ge for libapr1 and libapr-util1 + mentioned but not implemented in the previous commit. + ------------------------------------------------------------------- Wed Aug 28 07:29:47 UTC 2013 - crrodriguez@opensuse.org diff --git a/apache2.spec b/apache2.spec index 227ede5..52e136c 100644 --- a/apache2.spec +++ b/apache2.spec @@ -171,11 +171,9 @@ Requires: %{pname}-MPM Requires: /etc/mime.types PreReq: %{name}-utils Requires: logrotate -# in the past, libapr1 >= 1.0 was sufficient. But since 2.2.16, a failure to -# create listen sockets can occur, unless newer libapr1 is used, with certain kernels. -# see https://bugzilla.redhat.com/show_bug.cgi?id=516331 -Requires: libapr1 < 2.0 -Requires: libapr1 >= 1.4.2 +#for some reason the parser barfs if not conditional +%{?requires_ge:%requires_ge libapr1} +%{?requires_ge:%requires_ge libapr-util1} %{?systemd_requires} PreReq: fileutils textutils grep sed %if %{?suse_version:1}0 @@ -382,7 +380,6 @@ to administrators of web servers in general. %patch110 %patch111 -p1 cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE - # install READMEs a=$(basename %{S:22}) cp %{S:22} ./${a##%{name}-}