From 199ccc94756bc6c577bf4be96014c27bf12ea3ef Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Sat, 10 Aug 2019 19:59:47 -0300 Subject: [PATCH 1/2] clamav: avoid host pickup of libxml2 If libxml2 is installed in the host, then the host library is used and compilation fails. Signed-off-by: Eneas U de Queiroz --- net/clamav/Makefile | 2 +- ...libxml-checks-if-disable-xml-is-used.patch | 167 ++++++++++++++++++ 2 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 net/clamav/patches/002-Avoid-libxml-checks-if-disable-xml-is-used.patch diff --git a/net/clamav/Makefile b/net/clamav/Makefile index bc399827d..a7553fa54 100644 --- a/net/clamav/Makefile +++ b/net/clamav/Makefile @@ -23,6 +23,7 @@ PKG_CPE_ID:=cpe:/a:clamav:clamav PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf include $(INCLUDE_DIR)/uclibc++.mk include $(INCLUDE_DIR)/package.mk @@ -74,7 +75,6 @@ CONFIGURE_ARGS += \ --with-openssl="$(STAGING_DIR)/usr/" \ --with-pcre="$(STAGING_DIR)/usr/" \ --with-zlib="$(STAGING_DIR)/usr/" \ - --without-xml \ --without-iconv \ --without-libncurses-prefix diff --git a/net/clamav/patches/002-Avoid-libxml-checks-if-disable-xml-is-used.patch b/net/clamav/patches/002-Avoid-libxml-checks-if-disable-xml-is-used.patch new file mode 100644 index 000000000..3564c31f9 --- /dev/null +++ b/net/clamav/patches/002-Avoid-libxml-checks-if-disable-xml-is-used.patch @@ -0,0 +1,167 @@ +From de943f313fa5c17bf9cbd560a7578796991b24b5 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Sat, 10 Aug 2019 19:43:20 -0300 +Subject: [PATCH] Avoid libxml checks if --disable-xml is used + +Signed-off-by: Eneas U de Queiroz +--- + m4/reorganization/libs/xml.m4 | 126 +++++++++++++++++----------------- + 1 file changed, 62 insertions(+), 64 deletions(-) + +diff --git a/m4/reorganization/libs/xml.m4 b/m4/reorganization/libs/xml.m4 +index 77b2c13a8..0709d2914 100644 +--- a/m4/reorganization/libs/xml.m4 ++++ b/m4/reorganization/libs/xml.m4 +@@ -12,87 +12,85 @@ if test "X$want_xml" != "Xno"; then + @<:@default=/usr/local or /usr if not found in /usr/local@:>@]), + [with_xml_val=$withval] + ) +-fi +- +-AS_IF([test "x$with_xml_val" = "xno"], [XML_HOME=""], +- [test "x$with_xml_val" = "xyes"], [XML_HOME="/usr/local"], +- [XML_HOME="$with_xml_val"]) + +-AS_IF([test "x$XML_HOME" != "x"], [ +- AS_IF([test ! -x "$XML_HOME/bin/xml2-config"], [XML_HOME=""]) +- ]) ++ AS_IF([test "x$with_xml_val" = "xno"], [XML_HOME=""], ++ [test "x$with_xml_val" = "xyes"], [XML_HOME="/usr/local"], ++ [XML_HOME="$with_xml_val"]) + +-AS_IF([test "x$XML_HOME" = "x" -a "x$with_xml_val" = "xyes"], [ +- AS_IF([test -x "/usr/bin/xml2-config"], [XML_HOME="/usr"]) +- ]) ++ AS_IF([test "x$XML_HOME" != "x"], [ ++ AS_IF([test ! -x "$XML_HOME/bin/xml2-config"], [XML_HOME=""]) ++ ]) + +-if test "x$XML_HOME" != "x"; then +- AC_MSG_RESULT([$XML_HOME]) +-else +- AC_MSG_RESULT([not found]) +-fi ++ AS_IF([test "x$XML_HOME" = "x" -a "x$with_xml_val" = "xyes"], [ ++ AS_IF([test -x "/usr/bin/xml2-config"], [XML_HOME="/usr"]) ++ ]) + +-found_xml="no" +-XMLCONF_VERSION="" +-XML_CPPFLAGS="" +-XML_LIBS="" +-if test "x$XML_HOME" != "x"; then +- AC_MSG_CHECKING([xml2-config version]) +- XMLCONF_VERSION="`$XML_HOME/bin/xml2-config --version`" +- if test "x%XMLCONF_VERSION" != "x"; then +- AC_MSG_RESULT([$XMLCONF_VERSION]) +- found_xml="yes" +- XML_CPPFLAGS="`$XML_HOME/bin/xml2-config --cflags`" +- XML_LIBS="`$XML_HOME/bin/xml2-config --libs`" +- AS_ECHO("$XML_CPPFLAGS") +- AS_ECHO("$XML_LIBS") ++ if test "x$XML_HOME" != "x"; then ++ AC_MSG_RESULT([$XML_HOME]) + else +- AC_MSG_ERROR([xml2-config failed]) ++ AC_MSG_RESULT([not found]) ++ fi ++ ++ found_xml="no" ++ XMLCONF_VERSION="" ++ XML_CPPFLAGS="" ++ XML_LIBS="" ++ if test "x$XML_HOME" != "x"; then ++ AC_MSG_CHECKING([xml2-config version]) ++ XMLCONF_VERSION="`$XML_HOME/bin/xml2-config --version`" ++ if test "x%XMLCONF_VERSION" != "x"; then ++ AC_MSG_RESULT([$XMLCONF_VERSION]) ++ found_xml="yes" ++ XML_CPPFLAGS="`$XML_HOME/bin/xml2-config --cflags`" ++ XML_LIBS="`$XML_HOME/bin/xml2-config --libs`" ++ AS_ECHO("$XML_CPPFLAGS") ++ AS_ECHO("$XML_LIBS") ++ else ++ AC_MSG_ERROR([xml2-config failed]) ++ fi + fi +-fi + +-working_xml="no" +-if test "X$found_xml" != "Xno"; then +- AC_MSG_CHECKING([for xmlreader.h in $XML_HOME]) ++ working_xml="no" ++ if test "X$found_xml" != "Xno"; then ++ AC_MSG_CHECKING([for xmlreader.h in $XML_HOME]) + +- if test ! -f "$XML_HOME/include/libxml2/libxml/xmlreader.h"; then +- AC_MSG_RESULT([not found]) +- else +- AC_MSG_RESULT([found]) +- save_LIBS="$LIBS" +- save_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS" +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS $XML_LIBS" ++ if test ! -f "$XML_HOME/include/libxml2/libxml/xmlreader.h"; then ++ AC_MSG_RESULT([not found]) ++ else ++ AC_MSG_RESULT([found]) ++ save_LIBS="$LIBS" ++ save_CPPFLAGS="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS" ++ save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS $XML_LIBS" + +- AS_ECHO("CPPFLAGS: $CPPFLAGS") +- AS_ECHO("LD_FLAGS: $LDFLAGS") ++ AS_ECHO("CPPFLAGS: $CPPFLAGS") ++ AS_ECHO("LD_FLAGS: $LDFLAGS") + +- AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"], [$XML_LIBS]) ++ AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"], [$XML_LIBS]) + +- CPPFLAGS="$save_CPPFLAGS" +- LDFLAGS="$save_LDFLAGS" +- LIBS="$save_LIBS" ++ CPPFLAGS="$save_CPPFLAGS" ++ LDFLAGS="$save_LDFLAGS" ++ LIBS="$save_LIBS" ++ fi + fi +-fi + +-if test "$working_xml" = "yes"; then +- AC_DEFINE([HAVE_LIBXML2],1,[Define to 1 if you have the 'libxml2' library (-lxml2).]) +- AC_SUBST(XML_CPPFLAGS) +- AC_SUBST(XML_LIBS) +- AC_MSG_NOTICE([Compiling and linking with libxml2 from $XML_HOME]) +-else +- if test "$want_xml" = "yes"; then +- AC_MSG_ERROR([****** Please install libxml2 packages!]) ++ if test "$working_xml" = "yes"; then ++ AC_DEFINE([HAVE_LIBXML2],1,[Define to 1 if you have the 'libxml2' library (-lxml2).]) ++ AC_SUBST(XML_CPPFLAGS) ++ AC_SUBST(XML_LIBS) ++ AC_MSG_NOTICE([Compiling and linking with libxml2 from $XML_HOME]) + else +- if test "$want_xml" != "no"; then ++ if test "$want_xml" = "yes"; then ++ AC_MSG_ERROR([****** Please install libxml2 packages!]) ++ else + AC_MSG_NOTICE([****** libxml2 support unavailable]) + fi ++ XML_CPPFLAGS="" ++ XML_LIBS="" ++ AC_SUBST(XML_CPPFLAGS) ++ AC_SUBST(XML_LIBS) + fi +- XML_CPPFLAGS="" +- XML_LIBS="" +- AC_SUBST(XML_CPPFLAGS) +- AC_SUBST(XML_LIBS) + fi + + AM_CONDITIONAL([HAVE_LIBXML2], test "x$HAVE_LIBXML2" = "xyes") +-- +2.21.0 + From 815e05e38eddd0933d06078e4bbf5ba2fd95457f Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Tue, 13 Aug 2019 14:06:19 -0300 Subject: [PATCH 2/2] clamav: don't install dev files into package This avoids copying /usr/include, unversioned *.so files, pkgconfig, /usr/lib/*.la, and the build-time libs/cflags configuration utility clamav-config. Signed-off-by: Eneas U de Queiroz --- net/clamav/Makefile | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/net/clamav/Makefile b/net/clamav/Makefile index a7553fa54..85631725a 100644 --- a/net/clamav/Makefile +++ b/net/clamav/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=clamav PKG_VERSION:=0.101.2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.clamav.net/downloads/production/ @@ -93,18 +93,14 @@ define Package/clamav/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/clamd $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/clamav-milter $(1)/usr/sbin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clamav-config $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clambc $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clamconf $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clamdscan $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clamscan $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sigtool $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_INSTALL_DIR)/usr/include/clamav.h $(1)/usr/include/ - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib*/* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib*/lib*.so.* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/clamav.config $(1)/etc/config/clamav