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.h
#usr/include/libfreshclam.h
#usr/lib/libclamav.la
usr/lib/libclamav.so
usr/lib/libclamav.so.9
usr/lib/libclamav.so.9.0.5
#usr/lib/libclammspack.la
usr/lib/libclamav.so.9.1.0
usr/lib/libclammspack.so
usr/lib/libclammspack.so.0
usr/lib/libclammspack.so.0.1.0
#usr/lib/libclamunrar.la
usr/lib/libclammspack.so.0.8.0
usr/lib/libclamunrar.so
usr/lib/libclamunrar.so.9
usr/lib/libclamunrar.so.9.0.5
#usr/lib/libclamunrar_iface.la
usr/lib/libclamunrar.so.9.1.0
usr/lib/libclamunrar_iface.so
usr/lib/libclamunrar_iface.so.9
usr/lib/libclamunrar_iface.so.9.0.5
#usr/lib/libfreshclam.la
usr/lib/libclamunrar_iface.so.9.1.0
usr/lib/libfreshclam.so
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/sbin/clamd
#usr/share/man/man1/clambc.1
#usr/share/man/man1/clamconf.1
#usr/share/man/man1/clamdscan.1
#usr/share/man/man1/clamdtop.1
#usr/share/man/man1/clamscan.1
#usr/share/man/man1/clamsubmit.1
#usr/share/man/man1/freshclam.1
#usr/share/man/man1/sigtool.1
#usr/share/man/man5/clamav-milter.conf.5
#usr/share/man/man5/clamd.conf.5
#usr/share/man/man5/freshclam.conf.5
#usr/share/man/man8/clamav-milter.8
#usr/share/man/man8/clamd.8
#usr/share/doc/ClamAV
#usr/share/doc/ClamAV/html
#usr/share/doc/ClamAV/html/404.html
#usr/share/doc/ClamAV/html/FontAwesome
#usr/share/doc/ClamAV/html/FontAwesome/css
#usr/share/doc/ClamAV/html/FontAwesome/css/font-awesome.css
#usr/share/doc/ClamAV/html/FontAwesome/fonts
#usr/share/doc/ClamAV/html/FontAwesome/fonts/FontAwesome.ttf
#usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.eot
#usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.svg
#usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.ttf
#usr/share/doc/ClamAV/html/FontAwesome/fonts/fontawesome-webfont.woff
#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/clamd.conf
var/ipfire/clamav/clamd.conf.sample
var/ipfire/clamav/freshclam.conf
var/ipfire/clamav/freshclam.conf.sample
var/lib/clamav
etc/rc.d/init.d/clamav
usr/local/bin/clamavctrl

View File

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