clamav: Update to 0.104.0

For details see:
https://blog.clamav.net/2021/09/clamav-01040-released.html

New requirements and major changes:
"As of ClamAV 0.104, CMake is required to build ClamAV
...
The built-in LLVM for the bytecode runtime has been removed."

But since the current 'llvm 12.0.1' version refused to be build
"...you will need to supply the development libraries for LLVM
version 3.6.2" - which is ~6 years old - I gave up with 'llvm'
and stayed with the bytecode "interpreter".

Cited:
"The bytecode interpreter is the default runtime for bytecode
signatures just as it was in ClamAV 0.103.

@ALL:
In 'clamav 0.104.0' there is no appropriate cmake option for
"CONFIGURE_FLAGS = --disable-fanotify" for ARM buildings anymore.
Perhaps there is a kernel option for this?
=> https://docs.clamav.net/manual/OnAccess.html#requirements

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Matthias Fischer
2021-09-08 18:28:31 +02:00
committed by Arne Fitzenreiter
parent 0783042c7f
commit f7627d8687
2 changed files with 164 additions and 40 deletions

View File

@@ -12,46 +12,162 @@ usr/bin/sigtool
#usr/include/clamav-version.h #usr/include/clamav-version.h
#usr/include/clamav.h #usr/include/clamav.h
#usr/include/libfreshclam.h #usr/include/libfreshclam.h
#usr/lib/libclamav.la
usr/lib/libclamav.so usr/lib/libclamav.so
usr/lib/libclamav.so.9 usr/lib/libclamav.so.9
usr/lib/libclamav.so.9.0.5 usr/lib/libclamav.so.9.1.0
#usr/lib/libclammspack.la
usr/lib/libclammspack.so usr/lib/libclammspack.so
usr/lib/libclammspack.so.0 usr/lib/libclammspack.so.0
usr/lib/libclammspack.so.0.1.0 usr/lib/libclammspack.so.0.8.0
#usr/lib/libclamunrar.la
usr/lib/libclamunrar.so usr/lib/libclamunrar.so
usr/lib/libclamunrar.so.9 usr/lib/libclamunrar.so.9
usr/lib/libclamunrar.so.9.0.5 usr/lib/libclamunrar.so.9.1.0
#usr/lib/libclamunrar_iface.la
usr/lib/libclamunrar_iface.so usr/lib/libclamunrar_iface.so
usr/lib/libclamunrar_iface.so.9 usr/lib/libclamunrar_iface.so.9
usr/lib/libclamunrar_iface.so.9.0.5 usr/lib/libclamunrar_iface.so.9.1.0
#usr/lib/libfreshclam.la
usr/lib/libfreshclam.so usr/lib/libfreshclam.so
usr/lib/libfreshclam.so.2 usr/lib/libfreshclam.so.2
usr/lib/libfreshclam.so.2.0.1 usr/lib/libfreshclam.so.2.0.2
#usr/lib/pkgconfig/libclamav.pc #usr/lib/pkgconfig/libclamav.pc
usr/sbin/clamd usr/sbin/clamd
#usr/share/man/man1/clambc.1 #usr/share/doc/ClamAV
#usr/share/man/man1/clamconf.1 #usr/share/doc/ClamAV/html
#usr/share/man/man1/clamdscan.1 #usr/share/doc/ClamAV/html/404.html
#usr/share/man/man1/clamdtop.1 #usr/share/doc/ClamAV/html/FontAwesome
#usr/share/man/man1/clamscan.1 #usr/share/doc/ClamAV/html/FontAwesome/css
#usr/share/man/man1/clamsubmit.1 #usr/share/doc/ClamAV/html/FontAwesome/css/font-awesome.css
#usr/share/man/man1/freshclam.1 #usr/share/doc/ClamAV/html/FontAwesome/fonts
#usr/share/man/man1/sigtool.1 #usr/share/doc/ClamAV/html/FontAwesome/fonts/FontAwesome.ttf
#usr/share/man/man5/clamav-milter.conf.5 #usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.eot
#usr/share/man/man5/clamd.conf.5 #usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.svg
#usr/share/man/man5/freshclam.conf.5 #usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.ttf
#usr/share/man/man8/clamav-milter.8 #usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.woff
#usr/share/man/man8/clamd.8 #usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.woff2
#usr/share/doc/ClamAV/html/Introduction.html
#usr/share/doc/ClamAV/html/ace.js
#usr/share/doc/ClamAV/html/appendix
#usr/share/doc/ClamAV/html/appendix/Appendix.html
#usr/share/doc/ClamAV/html/appendix/Authenticode.html
#usr/share/doc/ClamAV/html/appendix/CvdPrivateMirror.html
#usr/share/doc/ClamAV/html/appendix/FileTypes.html
#usr/share/doc/ClamAV/html/appendix/FunctionalityLevels.html
#usr/share/doc/ClamAV/html/appendix/Terminology.html
#usr/share/doc/ClamAV/html/ayu-highlight.css
#usr/share/doc/ClamAV/html/book.js
#usr/share/doc/ClamAV/html/clipboard.min.js
#usr/share/doc/ClamAV/html/css
#usr/share/doc/ClamAV/html/css/chrome.css
#usr/share/doc/ClamAV/html/css/general.css
#usr/share/doc/ClamAV/html/css/print.css
#usr/share/doc/ClamAV/html/css/variables.css
#usr/share/doc/ClamAV/html/editor.js
#usr/share/doc/ClamAV/html/elasticlunr.min.js
#usr/share/doc/ClamAV/html/faq
#usr/share/doc/ClamAV/html/faq/faq-cvd.html
#usr/share/doc/ClamAV/html/faq/faq-eol.html
#usr/share/doc/ClamAV/html/faq/faq-freshclam.html
#usr/share/doc/ClamAV/html/faq/faq-ignore.html
#usr/share/doc/ClamAV/html/faq/faq-misc.html
#usr/share/doc/ClamAV/html/faq/faq-ml.html
#usr/share/doc/ClamAV/html/faq/faq-pua.html
#usr/share/doc/ClamAV/html/faq/faq-safebrowsing.html
#usr/share/doc/ClamAV/html/faq/faq-scan-alerts.html
#usr/share/doc/ClamAV/html/faq/faq-troubleshoot.html
#usr/share/doc/ClamAV/html/faq/faq-uninstall.html
#usr/share/doc/ClamAV/html/faq/faq-upgrade.html
#usr/share/doc/ClamAV/html/faq/faq-whichversion.html
#usr/share/doc/ClamAV/html/faq/faq-win32.html
#usr/share/doc/ClamAV/html/faq/faq.html
#usr/share/doc/ClamAV/html/favicon.png
#usr/share/doc/ClamAV/html/fonts
#usr/share/doc/ClamAV/html/fonts/OPEN-SANS-LICENSE.txt
#usr/share/doc/ClamAV/html/fonts/SOURCE-CODE-PRO-LICENSE.txt
#usr/share/doc/ClamAV/html/fonts/fonts.css
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-300.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-300italic.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-600.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-600italic.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-700.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-700italic.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-800.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-800italic.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-italic.woff2
#usr/share/doc/ClamAV/html/fonts/open-sans-v17-all-charsets-regular.woff2
#usr/share/doc/ClamAV/html/fonts/source-code-pro-v11-all-charsets-500.woff2
#usr/share/doc/ClamAV/html/highlight.css
#usr/share/doc/ClamAV/html/highlight.js
#usr/share/doc/ClamAV/html/images
#usr/share/doc/ClamAV/html/images/change-fork-name.png
#usr/share/doc/ClamAV/html/images/cisco.png
#usr/share/doc/ClamAV/html/images/clone-your-fork.png
#usr/share/doc/ClamAV/html/images/create-a-fork.png
#usr/share/doc/ClamAV/html/images/demon.png
#usr/share/doc/ClamAV/html/images/flamegraph.svg
#usr/share/doc/ClamAV/html/images/fork-is-behind.png
#usr/share/doc/ClamAV/html/images/logo.png
#usr/share/doc/ClamAV/html/images/new-git-workflow.png
#usr/share/doc/ClamAV/html/images/old-git-workflow.png
#usr/share/doc/ClamAV/html/index.html
#usr/share/doc/ClamAV/html/manual
#usr/share/doc/ClamAV/html/manual/Development
#usr/share/doc/ClamAV/html/manual/Development.html
#usr/share/doc/ClamAV/html/manual/Development/Contribute.html
#usr/share/doc/ClamAV/html/manual/Development/build-installer-packages.html
#usr/share/doc/ClamAV/html/manual/Development/clamav-git-work-flow.html
#usr/share/doc/ClamAV/html/manual/Development/code-coverage.html
#usr/share/doc/ClamAV/html/manual/Development/development-builds.html
#usr/share/doc/ClamAV/html/manual/Development/fuzzing-sanitizers.html
#usr/share/doc/ClamAV/html/manual/Development/github-pr-basics.html
#usr/share/doc/ClamAV/html/manual/Development/libclamav.html
#usr/share/doc/ClamAV/html/manual/Development/performance-profiling.html
#usr/share/doc/ClamAV/html/manual/Development/personal-forks.html
#usr/share/doc/ClamAV/html/manual/Development/testing-pull-requests.html
#usr/share/doc/ClamAV/html/manual/Development/tips-and-tricks.html
#usr/share/doc/ClamAV/html/manual/Installing
#usr/share/doc/ClamAV/html/manual/Installing.html
#usr/share/doc/ClamAV/html/manual/Installing/Add-clamav-user.html
#usr/share/doc/ClamAV/html/manual/Installing/Community-projects.html
#usr/share/doc/ClamAV/html/manual/Installing/Docker.html
#usr/share/doc/ClamAV/html/manual/Installing/Installing-from-source-Unix-old.html
#usr/share/doc/ClamAV/html/manual/Installing/Installing-from-source-Unix.html
#usr/share/doc/ClamAV/html/manual/Installing/Installing-from-source-Windows.html
#usr/share/doc/ClamAV/html/manual/Installing/Packages.html
#usr/share/doc/ClamAV/html/manual/OnAccess.html
#usr/share/doc/ClamAV/html/manual/Signatures
#usr/share/doc/ClamAV/html/manual/Signatures.html
#usr/share/doc/ClamAV/html/manual/Signatures/AllowLists.html
#usr/share/doc/ClamAV/html/manual/Signatures/AuthenticodeRules.html
#usr/share/doc/ClamAV/html/manual/Signatures/BodySignatureFormat.html
#usr/share/doc/ClamAV/html/manual/Signatures/BytecodeSignatures.html
#usr/share/doc/ClamAV/html/manual/Signatures/ContainerMetadata.html
#usr/share/doc/ClamAV/html/manual/Signatures/DatabaseInfo.html
#usr/share/doc/ClamAV/html/manual/Signatures/DynamicConfig.html
#usr/share/doc/ClamAV/html/manual/Signatures/EncryptedArchives.html
#usr/share/doc/ClamAV/html/manual/Signatures/ExtendedSignatures.html
#usr/share/doc/ClamAV/html/manual/Signatures/FileTypeMagic.html
#usr/share/doc/ClamAV/html/manual/Signatures/HashSignatures.html
#usr/share/doc/ClamAV/html/manual/Signatures/LogicalSignatures.html
#usr/share/doc/ClamAV/html/manual/Signatures/PhishSigs.html
#usr/share/doc/ClamAV/html/manual/Signatures/YaraRules.html
#usr/share/doc/ClamAV/html/manual/Usage
#usr/share/doc/ClamAV/html/manual/Usage.html
#usr/share/doc/ClamAV/html/manual/Usage/Configuration.html
#usr/share/doc/ClamAV/html/manual/Usage/ReportABug.html
#usr/share/doc/ClamAV/html/manual/Usage/Scanning.html
#usr/share/doc/ClamAV/html/manual/Usage/Services.html
#usr/share/doc/ClamAV/html/manual/Usage/SignatureManagement.html
#usr/share/doc/ClamAV/html/mark.min.js
#usr/share/doc/ClamAV/html/mode-rust.js
#usr/share/doc/ClamAV/html/print.html
#usr/share/doc/ClamAV/html/searcher.js
#usr/share/doc/ClamAV/html/searchindex.js
#usr/share/doc/ClamAV/html/searchindex.json
#usr/share/doc/ClamAV/html/theme-dawn.js
#usr/share/doc/ClamAV/html/theme-tomorrow_night.js
#usr/share/doc/ClamAV/html/tomorrow-night.css
#var/ipfire/clamav #var/ipfire/clamav
var/ipfire/clamav/clamd.conf var/ipfire/clamav/clamd.conf
var/ipfire/clamav/clamd.conf.sample var/ipfire/clamav/clamd.conf.sample
var/ipfire/clamav/freshclam.conf var/ipfire/clamav/freshclam.conf
var/ipfire/clamav/freshclam.conf.sample var/ipfire/clamav/freshclam.conf.sample
var/lib/clamav var/lib/clamav
etc/rc.d/init.d/clamav
usr/local/bin/clamavctrl usr/local/bin/clamavctrl

View File

@@ -24,7 +24,7 @@
include Config include Config
VER = 0.103.3 VER = 0.104.0
THISAPP = clamav-$(VER) THISAPP = clamav-$(VER)
DL_FILE = $(THISAPP).tar.gz DL_FILE = $(THISAPP).tar.gz
@@ -32,14 +32,10 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP) DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP)
PROG = clamav PROG = clamav
PAK_VER = 56 PAK_VER = 57
DEPS = DEPS =
ifeq "$(BUILD_PLATFORM)" "arm"
CONFIGURE_FLAGS = --disable-fanotify
endif
DATABASE_DIR = /var/lib/clamav DATABASE_DIR = /var/lib/clamav
############################################################################### ###############################################################################
@@ -50,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = f8dcf678953f6af056ddd5917bcc50c3 $(DL_FILE)_MD5 = 3f4789c09f5a35e9ea580edd5c3e54b6
install : $(TARGET) install : $(TARGET)
@@ -83,19 +79,31 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD) @$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && ./configure \
--prefix=/usr \ cd $(DIR_APP) && mkdir -pv build
--disable-clamonacc \ cd $(DIR_APP)/build && cmake .. -G Ninja \
--sysconfdir=/var/ipfire/clamav \ -DCMAKE_BUILD_TYPE=Release \
--with-dbdir=$(DATABASE_DIR) \ -DCMAKE_INSTALL_PREFIX=/usr \
$(CONFIGURE_FLAGS) -DCMAKE_INSTALL_LIBDIR=/usr/lib \
cd $(DIR_APP) && make $(MAKETUNING) -DOPTIMIZE=ON \
cd $(DIR_APP) && make install -DBYTECODE_RUNTIME="interpreter" \
-DENABLE_TESTS=OFF \
-DENABLE_CLAMONACC=OFF \
-DENABLE_MILTER=OFF \
-DENABLE_MAN_PAGES=OFF \
-DENABLE_EXTERNAL_MSPACK=OFF \
-DENABLE_FRESHCLAM_DNS_FIX=ON \
-DAPP_CONFIG_DIRECTORY=/var/ipfire/clamav \
-DDATABASE_DIRECTORY=$(DATABASE_DIR)
cd $(DIR_APP)/build && ninja $(MAKETUNING) && ninja install
mkdir -pv $(DATABASE_DIR) mkdir -pv $(DATABASE_DIR)
chown clamav.clamav -R $(DATABASE_DIR) chown clamav.clamav -R $(DATABASE_DIR)
rm -rfv $(DATABASE_DIR)/*.cvd rm -rfv $(DATABASE_DIR)/*.cvd
mkdir -pv /var/ipfire/clamav
cp -rf $(DIR_SRC)/config/clamav/* /var/ipfire/clamav/ cp -rf $(DIR_SRC)/config/clamav/* /var/ipfire/clamav/
mkdir -p /var/run/clamav mkdir -pv /var/run/clamav
chown clamav:clamav /var/run/clamav chown clamav:clamav /var/run/clamav
#install initscripts #install initscripts
$(call INSTALL_INITSCRIPT,clamav) $(call INSTALL_INITSCRIPT,clamav)