Reviewed-by: Michael Tremer Thank you. > On 8 Sep 2021, at 17:28, Matthias Fischer wrote: > > 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 > --- > config/rootfiles/packages/clamav | 164 ++++++++++++++++++++++++++----- > lfs/clamav | 40 +++++--- > 2 files changed, 164 insertions(+), 40 deletions(-) > > diff --git a/config/rootfiles/packages/clamav b/config/rootfiles/packages/clamav > index a27bb584f..5240b71c6 100644 > --- a/config/rootfiles/packages/clamav > +++ b/config/rootfiles/packages/clamav > @@ -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 > diff --git a/lfs/clamav b/lfs/clamav > index 4dc996ea4..9076d0f71 100644 > --- a/lfs/clamav > +++ b/lfs/clamav > @@ -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) > -- > 2.18.0 >