commit
fa631e9284
3 changed files with 94 additions and 33 deletions
|
@ -8,12 +8,12 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=clamav
|
||||
PKG_VERSION:=0.103.0
|
||||
PKG_VERSION:=0.103.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://www.clamav.net/downloads/production/
|
||||
PKG_HASH:=32a9745277bfdda80e77ac9ca2f5990897418e9416880f3c31553ca673e80546
|
||||
PKG_HASH:=7308c47b89b268af3b9f36140528927a49ff3e633a9c9c0aac2712d81056e257
|
||||
|
||||
PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> \
|
||||
Lucian Cristian <lucian.cristian@gmail.com>
|
||||
|
@ -21,16 +21,16 @@ PKG_LICENSE:=GPL-2.0-only
|
|||
PKG_LICENSE_FILES:=COPYING*
|
||||
PKG_CPE_ID:=cpe:/a:clamav:clamav
|
||||
|
||||
PKG_BUILD_DEPENDS:=ncurses
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
include $(INCLUDE_DIR)/uclibc++.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
define Package/clamav/Default
|
||||
SECTION:=net
|
||||
DEPENDS:=$(CXX_DEPENDS) +libpthread +zlib +libcurl +libjson-c +libmilter-sendmail +libopenssl +libltdl +libpcre2 +USE_MUSL:musl-fts
|
||||
DEPENDS:=+libstdcpp +libpthread +zlib +libbz2 +libxml2 +libcurl +libjson-c +libmilter-sendmail +libopenssl +libltdl +libpcre2
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=Web Servers/Proxies
|
||||
TITLE:=ClamAV
|
||||
|
@ -56,35 +56,27 @@ define Package/freshclam/description
|
|||
Database updater for ClamAV
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--sysconfdir=/etc/clamav/ \
|
||||
--enable-milter \
|
||||
--disable-bzip2 \
|
||||
--disable-check \
|
||||
--disable-clamdtop \
|
||||
--disable-rpath \
|
||||
--disable-xml \
|
||||
--disable-zlib-vcheck \
|
||||
--with-user=nobody \
|
||||
--with-group=nogroup \
|
||||
--with-libcurl="$(STAGING_DIR)/usr/" \
|
||||
--with-libjson="$(STAGING_DIR)/usr/" \
|
||||
--with-openssl="$(STAGING_DIR)/usr/" \
|
||||
--with-pcre="$(STAGING_DIR)/usr/" \
|
||||
--with-zlib="$(STAGING_DIR)/usr/" \
|
||||
--without-iconv \
|
||||
--without-libncurses-prefix
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
ax_cv_uname_syscall=yes \
|
||||
ac_cv_c_mmap_private=yes \
|
||||
have_cv_gai=yes \
|
||||
ac_cv_sys_file_offset_bits=no
|
||||
|
||||
CONFIGURE_VARS += $(if $(CONFIG_IPV6),have_cv_ipv6=yes)
|
||||
CMAKE_OPTIONS += \
|
||||
-DENABLE_MILTER=ON \
|
||||
-DHAVE_ATTRIB_PACKED=ON \
|
||||
-DHAVE_ATTRIB_ALIGNED=ON \
|
||||
-Dtest_run_result=ON \
|
||||
-Dtest_run_result__TRYRUN_OUTPUT=ON \
|
||||
-DCLAMAV_USER=nobody \
|
||||
-DCLAMAV_GROUP=nogroup \
|
||||
-DMMAP_FOR_CROSSCOMPILING=ON \
|
||||
-DENABLE_CLAMONACC=ON \
|
||||
-DENABLE_DOCS=OFF \
|
||||
-DENABLE_DOXYGEN=OFF \
|
||||
-DENABLE_EXAMPLES=OFF \
|
||||
-DENABLE_UNRAR=OFF \
|
||||
-DENABLE_SYSTEMD=OFF \
|
||||
-DIconv_INCLUDE_DIR=$(ICONV_PREFIX)/include \
|
||||
-DIconv_LIBRARY=$(ICONV_PREFIX)/lib/libiconv.$(if $(ICONV_FULL),so,a) \
|
||||
-DHAVE_SYSTEM_LFS_FTS=O$(if $(CONFIG_USE_GLIBC),N,FF)
|
||||
|
||||
TARGET_CXXFLAGS += -ffunction-sections -fdata-sections -fno-rtti -flto
|
||||
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed $(if $(CONFIG_USE_MUSL),-lfts)
|
||||
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
|
||||
|
||||
define Package/clamav/conffiles
|
||||
/etc/config/clamav
|
||||
|
|
59
net/clamav/patches/010-musl12x.patch
Normal file
59
net/clamav/patches/010-musl12x.patch
Normal file
|
@ -0,0 +1,59 @@
|
|||
--- a/clamonacc/misc/fts.c
|
||||
+++ b/clamonacc/misc/fts.c
|
||||
@@ -744,11 +744,11 @@ static FTSENTRY *
|
||||
if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
|
||||
continue;
|
||||
|
||||
- if ((p = fts_alloc(sp, dp->d_name, _D_EXACT_NAMLEN(dp))) == NULL)
|
||||
+ if ((p = fts_alloc(sp, dp->d_name, strlen(dp->d_name))) == NULL)
|
||||
goto mem1;
|
||||
- if (_D_EXACT_NAMLEN(dp) >= maxlen) { /* include space for NUL */
|
||||
+ if (strlen(dp->d_name) >= maxlen) { /* include space for NUL */
|
||||
oldaddr = sp->fts_path;
|
||||
- if (fts_palloc(sp, _D_EXACT_NAMLEN(dp) + len + 1)) {
|
||||
+ if (fts_palloc(sp, strlen(dp->d_name) + len + 1)) {
|
||||
/*
|
||||
* No more memory for path or structures. Save
|
||||
* errno, free up the current structure and the
|
||||
@@ -773,7 +773,7 @@ static FTSENTRY *
|
||||
maxlen = sp->fts_pathlen - len;
|
||||
}
|
||||
|
||||
- if (len + _D_EXACT_NAMLEN(dp) >= USHRT_MAX) {
|
||||
+ if (len + strlen(dp->d_name) >= USHRT_MAX) {
|
||||
/*
|
||||
* In an FTSENT, fts_pathlen is a u_short so it is
|
||||
* possible to wraparound here. If we do, free up
|
||||
@@ -790,7 +790,7 @@ static FTSENTRY *
|
||||
}
|
||||
p->fts_level = level;
|
||||
p->fts_parent = sp->fts_cur;
|
||||
- p->fts_pathlen = len + _D_EXACT_NAMLEN(dp);
|
||||
+ p->fts_pathlen = len + strlen(dp->d_name);
|
||||
|
||||
#if defined FTS_WHITEOUT && 0
|
||||
if (dp->d_type == DT_WHT)
|
||||
--- a/clamonacc/misc/priv_fts.h
|
||||
+++ b/clamonacc/misc/priv_fts.h
|
||||
@@ -207,14 +207,18 @@ typedef struct _ftsent64 {
|
||||
} FTSENT64;
|
||||
#endif
|
||||
|
||||
-__BEGIN_DECLS
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
FTSENT *_priv_fts_children(FTS *, int);
|
||||
int _priv_fts_close(FTS *);
|
||||
FTS *_priv_fts_open(char *const *, int,
|
||||
int (*)(const FTSENT **, const FTSENT **));
|
||||
FTSENT *_priv_fts_read(FTS *);
|
||||
-int _priv_fts_set(FTS *, FTSENT *, int) __THROW;
|
||||
-__END_DECLS
|
||||
+int _priv_fts_set(FTS *, FTSENT *, int) __attribute__ ((__nothrow__));
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#endif /* fts.h */
|
||||
#endif
|
10
net/clamav/patches/020-cmake.patch
Normal file
10
net/clamav/patches/020-cmake.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- a/freshclam/CMakeLists.txt
|
||||
+++ b/freshclam/CMakeLists.txt
|
||||
@@ -38,7 +38,6 @@ endif()
|
||||
if(WIN32)
|
||||
INSTALL(CODE "FILE(MAKE_DIRECTORY \${ENV}\${CMAKE_INSTALL_PREFIX}/database)")
|
||||
else()
|
||||
- INSTALL(CODE "FILE(MAKE_DIRECTORY \${ENV}\${CMAKE_INSTALL_PREFIX}/share/clamav)")
|
||||
endif()
|
||||
|
||||
# now we rename resman-bin executable to resman using target properties
|
Loading…
Reference in a new issue