nginx: add patch fixing libxslt library detection

Nginx hardcode the libxml2 include path to /usr/include/libxml2. This
works in a local build as pretty much everyone have the libxml2 library
installed but doesn't on buildbot container as the library doesn't
exist.

This effectively makes the host library leak intro library detection but
doesn't actually link to it as linking is still done with the correct
library in staging dir.

To fix this add a patch to define custom libxml2 include directory
instead of hardcoding it to host library.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit c919fddfc1)
This commit is contained in:
Christian Marangi committed 2024-11-04 11:46:12 +01:00
1 parent a044fa2606
commit b25afa4d05
2 files changed
+22 -1

No files matched your search

+2 -1
View File
@@ -420,7 +420,8 @@ ifneq ($(CONFIG_PACKAGE_nginx-mod-lua),)
LUAJIT_LIB=$(STAGING_DIR)/usr/lib
endif
CONFIGURE_VARS += CONFIG_BIG_ENDIAN=$(CONFIG_BIG_ENDIAN)
CONFIGURE_VARS += LIBXML2_INC=$(STAGING_DIR)/usr/include/libxml2 \
CONFIG_BIG_ENDIAN=$(CONFIG_BIG_ENDIAN)
CONFIGURE_ARGS += \
--crossbuild=Linux::$(ARCH) \
@@ -0,0 +1,20 @@
--- a/auto/lib/libxslt/conf
+++ b/auto/lib/libxslt/conf
@@ -12,7 +12,7 @@
#include <libxslt/xsltInternals.h>
#include <libxslt/transform.h>
#include <libxslt/xsltutils.h>"
- ngx_feature_path="/usr/include/libxml2"
+ ngx_feature_path="${LIBXML2_INC:-/usr/include/libxml2}"
ngx_feature_libs="-lxml2 -lxslt"
ngx_feature_test="xmlParserCtxtPtr ctxt = NULL;
xsltStylesheetPtr sheet = NULL;
@@ -100,7 +100,7 @@ fi
ngx_feature_name=NGX_HAVE_EXSLT
ngx_feature_run=no
ngx_feature_incs="#include <libexslt/exslt.h>"
- ngx_feature_path="/usr/include/libxml2"
+ ngx_feature_path="${LIBXML2_INC:-/usr/include/libxml2}"
ngx_feature_libs="-lexslt"
ngx_feature_test="exsltRegisterAll();"
. auto/feature