From 46eedbedafdb0040c37884982d4c775ce277fb7b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 20 Oct 2021 10:22:14 +0100 Subject: gentoo resync : 20.10.2021 --- app-antivirus/clamav/Manifest | 11 +- app-antivirus/clamav/clamav-0.104.0-r1.ebuild | 207 +++++++++++++++++++++ .../files/clamav-0.104.0-ncurses_detection.patch | 27 +++ app-antivirus/clamav/files/clamav-milter.initd | 34 ++++ .../clamav/files/clamav-milter.service-0.104.0 | 13 ++ app-antivirus/clamav/files/clamd.initd | 33 ++++ .../clamav/files/clamd_at.service-0.104.0 | 12 ++ app-antivirus/clamav/files/clamonacc.initd | 18 ++ app-antivirus/clamav/files/freshclam.initd | 8 + app-antivirus/clamav/metadata.xml | 44 ++--- 10 files changed, 385 insertions(+), 22 deletions(-) create mode 100644 app-antivirus/clamav/clamav-0.104.0-r1.ebuild create mode 100644 app-antivirus/clamav/files/clamav-0.104.0-ncurses_detection.patch create mode 100755 app-antivirus/clamav/files/clamav-milter.initd create mode 100644 app-antivirus/clamav/files/clamav-milter.service-0.104.0 create mode 100755 app-antivirus/clamav/files/clamd.initd create mode 100644 app-antivirus/clamav/files/clamd_at.service-0.104.0 create mode 100755 app-antivirus/clamav/files/clamonacc.initd create mode 100755 app-antivirus/clamav/files/freshclam.initd (limited to 'app-antivirus/clamav') diff --git a/app-antivirus/clamav/Manifest b/app-antivirus/clamav/Manifest index 1c9110c9a376..716d13e996e6 100644 --- a/app-antivirus/clamav/Manifest +++ b/app-antivirus/clamav/Manifest @@ -2,15 +2,24 @@ AUX clamav-0.102.1-libxml2_pkgconfig.patch 4012 BLAKE2B 4c3e4fc3522d317c57bae942 AUX clamav-0.102.2-fix-curl-detection.patch 844 BLAKE2B a813b1f6003b9cff03fca8d72dbd44d6a4f700e3d60aee83f782a87893a3c6753698ca8715237155185660301dd81dc55bf6a6e3b9095f57b099607182c90bf5 SHA512 27e6aa5ad418eaa32b56ea7bbdab0b5b4cd649e55d34eb094b5f02d7e68d8913f39664ffd6bc4a07faf88f60bdbd15b0c381fbbd6d9c1c62cc36e72e34cabd19 AUX clamav-0.103.0-system-tomsfastmath.patch 3725 BLAKE2B 85640ded83600adfdcc03e8f42e3153c71a8b6c5884ca4cbd79a69121943fd171bc528aed26ded895189293008924cef6762a22001b4ee098fe5f680c7619bf0 SHA512 b67df39bc7d60f6ea9bb06d12413f0e4774185d4f020a68bdfdf8fe1ca669f70a62699b0f1100702af5ec47e460a35625dcaa09cfc6ea6d2f3957de227e87306 AUX clamav-0.103.1-upstream-openrc.patch 18249 BLAKE2B 305db3181a4a22acde5b28cef6c2d01b639be8c5b9e9c77737be1ebcb0553040b6eda117285e3e8b4bf06d2565a5d73225d7ce20ba1f115fd08bc822d779b370 SHA512 89e95057ee2f29bcdf5787f659ffe43b055b599d9bb80bf54794859113d760dad135b5b8d80c23e98f8c6b699dc839d4922c4c3b45edf97296f4eea668e62672 +AUX clamav-0.104.0-ncurses_detection.patch 906 BLAKE2B 9e1bd5814f0da5126fb9d8d34c2146c9cf9a6ca6e7ff2c574585f9df04c7f68f78ce8cc618cb346b9cdb545f78e938623adef642dd4b93961b2cf12047cdae5a SHA512 52d84cbe920e2dbdf4f6da26fe0ddc58596c0aa7e057cdd93407276847499269605e5a9db5fa61ab945b179a102c8d57930bad715cc595ebfb11ed7ba319d618 AUX clamav-milter.README.gentoo 2284 BLAKE2B 7afc18f3dad57c2d7595257b356943efb3d1af28d55ac8f09f0506430fd0dedf0820906ced666a7237e3af44a9bc1b43fff017c03faad844f96b132ca4c5dde6 SHA512 38eadf2d919a0c48345600ea5a39c90e766b62e8b1ffc7bb01969a8fd93c4545f2030058a470ac7efb75a1d6c74f9930438f58aeff5035e19e38241ed381f7b3 +AUX clamav-milter.initd 1164 BLAKE2B 190dee3476f8763dc2498e2099e6afa83c36642298618ad959940771e73c07456e30e6319d649291c82fec49e3712e500a65b167fe91b12bd2758f79f040e1c3 SHA512 d21c60e7d3ee5eee65da18831eed905858a1c7ab4ec02de1c16fa36179d9c1cf517eca8402b872f3d995fa1d59a9b2e79994655ca4570370b40dc810af5e0a3d AUX clamav-milter.logrotate-r1 1103 BLAKE2B b506a07f6ebdf697f87060424368ce4e4085564c3fa8e8cc4780ba786f2f543ae51a6e0f9d04db9ea9eb5554c1e395592453235db5abcc243fd2523cb44adec2 SHA512 890744086dcd8d6f7eba0f49df0941c643c6d730ea27a660ecaaab50c51c931489fa25079ad1aa9e307f919ac98a4e5d6b2e952cc46dcea8322b3253c6ba07b1 +AUX clamav-milter.service-0.104.0 310 BLAKE2B 53b0ef9eb34eacbc11e71f857ac944050e0f41c58e633c04c56f28079a7aad84d7ac7625b637b1aa67f61a4e8556bee57fb19e650b19162a8160336f36e34330 SHA512 37d2654fb436935f67bea821ef76d3cd1d4fc7af997f624226180663d88808d5c479eccaad4730ff723c8f30d3d36b551eacb10195dd94547136fed8fa1451a3 AUX clamav-milter.service-r1 303 BLAKE2B 55253d9a660699411e352bc80837add840dc6740afed4fe64a86def84610cad836ea3ea620664f540f242b917aab560201cca9c33b9fbc9b1cef2c8b29bfce36 SHA512 5dc30e3c57d9bff6595155e8299336c579c713aed429ab770f10d7678dd74691a135aa2070a825ddb726fdabcb001c19caeb993c1cd9a6fcf95d1d47f7160540 +AUX clamd.initd 918 BLAKE2B 68391c381004d57d9563b503f702699d27980e4fc5e052ac5c86841e99bf37b19ecf1dbfa2a141352c584578f4873b35460376a9a99e2a6623a2d9f476e3f48d SHA512 9a1b803562d4f9c08d5d79c54677aad43898b4c6e97f22ef27d866c74ee2b611e6ae476a43d9accb0e6e8a02c2ab0d09bd779d3b1e8de36d9980e3e00affe559 AUX clamd.logrotate 603 BLAKE2B f39f5938f8fca2d2820d86c8dc144dca0216468a3cfd7dcd84c794d9402e3978da254684053eab108d71263a75266a96f2b6f5e0c635a2b5b0a1a50068920bde SHA512 e9689c99e37a1f2814497e4df19bd760dd94b6134be72341dd3b7f6e5f67505cda913367a5e80873ae601c88a9d7aa994733b8ac7017a6d0aa62d2170845df37 AUX clamd.service 202 BLAKE2B 4d02132cdb44a7155e881037b45bab28f42445808d1d3ff5821e9b179b31efd7d5f217fb968efa17e77f6e0739f0258c4c49656283177a0f5b3d572490259bcd SHA512 799d3f33ca69841882f86f6853dd0dc6d8af73db8cfa5ce6dd6c873c5e7bc07d29bfe0f85cfb77edf2b0d8c05de73988d06148b993996ce639c5d0eeac908647 AUX clamd_at.service 228 BLAKE2B 85181b02329a86495d0737308417dd873424da0bb1cd376725e7857b8b911c841df89ce63ed665a1d0ca6d30f9456c9d47c370b36a2cf8df1e2f3f520d121fe0 SHA512 69a0ca31a7288b5494d8c85ce5ff859a8f34b8a93f573eded90c270099ecac30e01d8549a07a160d74bfdc3c5401c3fd625b178080ea2c02520aab91252739e7 +AUX clamd_at.service-0.104.0 235 BLAKE2B 014d7346f45af2e42ade2a79c48fd4fd7314250aa6f6cd9e2a856fa0d7f176e90a292c56d28e8eec7b1c7628dc2701eb58f6e7ef23fd19315c8d0146114b111a SHA512 57f0292354751c0e35e7e3acff17e78ba84b2cdb4f0d64331d6e70a935d607f425ae44a22b456cc3113ae72bff4d8bd0b729693c87359e91f9b91f12856c7e0b +AUX clamonacc.initd 437 BLAKE2B 230e8977659304cd78f280653b0e4d3fe88cb0571f98bc23b89f2394dc090f2343b33d5ecfdfec450606a0f39e97fb0516186fb367d7ba0ba3e961b96e813e36 SHA512 9713f7d5d4c1bb92e4dd456ba576fd810ddccb4352a861083d33e95692e0d76f0fcde82db6759e522f21ef37e9969cf10621ae876bd9d3f28d0d47d614308e93 +AUX freshclam.initd 202 BLAKE2B 3bc294930984b779b032d40f9dd5063fb168a096cd45ef43cbc42e1ae187c1add0c69303e616ade147633c45d2a980ad73adc25aeb04cb68ed4c41a54b88f551 SHA512 5cb65021b12756560aabb0df5a8223cd7d019471909c010096c2cf07b4b90b34622d7838c15807b0c66017177a98d056b4bab22053cb0cfd0b2071d599646fc3 AUX freshclam.logrotate 631 BLAKE2B d5100e4f80227d3cda00193eb7a065f766d6b7b0c54ef58ad646fc7692cd4c6e572e053d368ba78c62c27cd3e1db111822208d29ecad67d10be7d5957d6622f3 SHA512 43838241c66bdf167105b25967576a568e0661e5b3292d24d3028837353280b03ffd1ea6adbbcbc152e50bc25f77357af42bbf3dd70817cf2cf02258ca0fe611 AUX freshclamd.service-r1 177 BLAKE2B 8c9304e8c43e03288dcb1c6897b53e7c36b6e6116bb5c43db1e9735cc5d7b50094d33679d2b42839a09c572ad631daf572f62c57e4a7b74bfad5ce40a5916364 SHA512 5243465d30de1e64697455b3af50f62e6d7f3d0df7e2ef9b60f89dc974d8118ff67df0b44fbbddd04dd196ca17cf4306ac99f1eec42a5a0ddd42a64c4cb992c8 AUX tmpfiles.d/clamav.conf 33 BLAKE2B 447c5ad4ad79bc70fc386833fa763451d30bf30f1ae26434039a3926ca5aae9734e0152c83b5b9aa5bed87b17c1b685c4ea9f41c9cb6b3197b1e78e800b71fd9 SHA512 eabe5a94c2679b82ea3e29272eb448b47e60b271381d3e97f3970b1a9e086d61662aff2d29887950a911025294aa7cea8bfd9003d257963566b251bcaeb5f6b2 DIST clamav-0.103.3.tar.gz 13389239 BLAKE2B 1846cceed39fbd48fcf973d05a57901cf6f9ccdbb4d7eae501e712d84ab4d0a662e4477696aa6a1446116db85a89603428d7092a55e18f7acb805016d3cd5431 SHA512 c2ee24a6f63735c064140aa5baa347d51e8240b2f7eced3480d05435202aedd481fa7057fd40ecbc2e93a62fe8b0cefb574d8accdf9acede643ffbe0d396686f +DIST clamav-0.104.0.tar.gz 11896747 BLAKE2B c3ca32c1277052301a8bff94fec66a2df8f589bc9a673a00d0f45aaf9d8fd23e8bb87dde787d4188a6318d6677c3364e377ccec16d8e44667430713ce7e2a78d SHA512 7a052e6310ef92068acc384d10a64eed6d54d2d408d203dab92defbb1a276e8a193a2096a8028c8982323ba0be83d25602f026aeffa056878ce36aa325c0046c EBUILD clamav-0.103.3-r1.ebuild 7405 BLAKE2B 48038b8bb6c1b1f045b24ae7d955226389a121604e2e4212c6eb81ce6c9aa9eea2a4ecd7d82409d2cf01dfc4c6fedee5d7188a6dbd9f0cd88546b6a35facd51c SHA512 0f19466145c340ddf7473876443c18e10b73b607c3b8b48bda31ad0740fa0835d2f21fd546bb7e9facb03fab2f792ab2343c9965064b6a17eca9eaafcb8d6fe6 -MISC metadata.xml 1060 BLAKE2B 77fa5fa0a2d6bd96b1ec797d42f7f626decf3c98c1563e87af503268f4f09d0a01f38651174546dd835476b635ae5a6a0535acd06849f58c2bbf41993d8a7ffc SHA512 334cc919ca47d8045ab61193e39f7dbf86a58d7619a193ed31da5cd5f82c99c2af210790d75f60f9951097915fa6805f5aa79f90efb3551322c9f0e54fc68e99 +EBUILD clamav-0.104.0-r1.ebuild 6531 BLAKE2B 9923cbb70a35a4a720c2034d610806614254fdad24fcb5accced8d1b0884eaf38e074e1d090f300145ca2de22894eda1a9d6fc55099adcc987ea5d8067618512 SHA512 9f233777906a7492ec18f2cedee16dbc578bbf808a64255a71a9d9c309d1675a1f6160df536d1000513b57883b7627917c6e8e1855953ac2762c424be9e3ccd2 +MISC metadata.xml 1287 BLAKE2B 75d0e2ee639919863a0b12951c04f6338fab836812a930b5cae82adc9546f0d9115c1c12a233b08e7bcf1810b38f8d0c119ee44a7640ade191f9bdb5c2bdf759 SHA512 2ef5d16db72356b72cfe6334b5a9b6c6e4d491ab445debbf9433d44c843e27d03aade9cc49a4fcad151ecfbb3dc4d99903e5a27eac8954991822eca3bad2b6c0 diff --git a/app-antivirus/clamav/clamav-0.104.0-r1.ebuild b/app-antivirus/clamav/clamav-0.104.0-r1.ebuild new file mode 100644 index 000000000000..ee0e19b95004 --- /dev/null +++ b/app-antivirus/clamav/clamav-0.104.0-r1.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake flag-o-matic systemd tmpfiles + +DESCRIPTION="Clam Anti-Virus Scanner" +HOMEPAGE="https://www.clamav.net/" +SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="doc clamonacc +clamapp libclamav-only milter rar selinux systemd test" + +REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) + clamonacc? ( clamapp ) + milter? ( clamapp ) + test? ( !libclamav-only )" + +RESTRICT="!test? ( test )" + +# Require acct-{user,group}/clamav at build time so that we can set +# the permissions on /var/lib/clamav in src_install rather than in +# pkg_postinst; calling "chown" on the live filesystem scares me. +CDEPEND="acct-group/clamav + acct-user/clamav + dev-libs/libltdl + dev-libs/libmspack + dev-libs/json-c:= + dev-libs/libpcre2 + >=sys-libs/zlib-1.2.2:= + app-arch/bzip2 + clamapp? ( sys-libs/ncurses:= net-misc/curl ) + elibc_musl? ( sys-libs/fts-standalone ) + virtual/libiconv + !libclamav-only? ( net-misc/curl ) + dev-libs/openssl:= + milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) ) + dev-libs/libxml2 + rar? ( app-arch/unrar ) + test? ( dev-python/pytest )" +# TODO: there is no way to use this with the new build system instead of the bundled one +# dev-libs/tomsfastmath +BDEPEND="virtual/pkgconfig + doc? ( app-doc/doxygen )" +DEPEND="${CDEPEND} + test? ( dev-libs/check )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-clamav )" + +PATCHES=( + "${FILESDIR}/${PN}-0.104.0-ncurses_detection.patch" +) + +src_configure() { + use elibc_musl && append-ldflags -lfts + use ppc64 && append-flags -mminimal-toc + use elibc_uclibc && export ac_cv_type_error_t=yes + + local mycmakeargs=( + -DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav + -DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav + -DENABLE_EXPERIMENTAL=OFF + -DENABLE_JSON_SHARED=ON + -DENABLE_APP=$(usex clamapp ON OFF) + -DENABLE_MILTER=$(usex milter ON OFF) + -DENABLE_CLAMONACC=$(usex clamonacc ON OFF) + -DCLAMAV_USER="clamav" + -DCLAMAV_GROUP="clamav" + -DBYTECODE_RUNTIME=interpreter + -DOPTIMIZE=ON + -DENABLE_EXTERNAL_MSPACK=ON + -DENABLE_MAN_PAGES=ON + -DENABLE_DOXYGEN=$(usex doc) + -DENABLE_UNRAR=$(usex rar ON OFF) + -DENABLE_TESTS=$(usex test ON OFF) + -DENABLE_STATIC_LIB=OFF + -DENABLE_SHARED_LIB=ON + -DENABLE_SYSTEMD=$(usex systemd ON OFF) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + # init scripts + newinitd "${FILESDIR}/clamd.initd" clamd + newinitd "${FILESDIR}/freshclam.initd" freshclam + use clamonacc && \ + newinitd "${FILESDIR}/clamonacc.initd" clamonacc + use milter && \ + newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter + + rm -rf "${ED}"/var/lib/clamav || die + + if ! use libclamav-only ; then + if use systemd ; then + # The tmpfiles entry is behind USE=systemd because the + # upstream OpenRC service files should (and do) ensure that + # the directories they need exist and have the correct + # permissions without the help of opentmpfiles. There are + # years-old root exploits in opentmpfiles, the design is + # fundamentally flawed, and the maintainer is not up to + # the task of fixing it. + dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf" + systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service" + systemd_dounit "${FILESDIR}/clamd.service" + systemd_newunit "${FILESDIR}/freshclamd.service-r1" \ + "freshclamd.service" + fi + + if use clamapp ; then + # Modify /etc/{clamd,freshclam}.conf to be usable out of the box + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(LocalSocket .*\)/\1/" \ + -e "s/^#\(User .*\)/\1/" \ + -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \ + -e "s:^\#\(LogTime\).*:\1 yes:" \ + -e "s/^#\(DatabaseDirectory .*\)/\1/" \ + "${ED}"/etc/clamav/clamd.conf.sample > \ + "${ED}"/etc/clamav/clamd.conf || die + + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(DatabaseOwner .*\)/\1/" \ + -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ + -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamd.conf:" \ + -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ + -e "s/^#\(DatabaseDirectory .*\)/\1/" \ + "${ED}"/etc/clamav/freshclam.conf.sample > \ + "${ED}"/etc/clamav/freshclam.conf || die + + if use milter ; then + # Note: only keep the "unix" ClamdSocket and MilterSocket! + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ + -e "s/^#\(User .*\)/\1/" \ + -e "s/^#\(MilterSocket unix:.*\)/\1/" \ + -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ + "${ED}"/etc/clamav/clamav-milter.conf.sample > \ + "${ED}"/etc/clamav/clamav-milter.conf || die + + systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service + fi + + local i + for i in clamd freshclam clamav-milter + do + if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then + mv "${ED}"/etc/"${i}".conf{.sample,} || die + fi + done + + # These both need to be writable by the clamav user. + # TODO: use syslog by default; that's what it's for. + diropts -o clamav -g clamav + keepdir /var/lib/clamav + keepdir /var/log/clamav + fi + fi + + if use doc ; then + local HTML_DOCS=( docs/html/. ) + einstalldocs + fi + + # Don't install man pages for utilities we didn't install + if use libclamav-only ; then + rm -r "${ED}"/usr/share/man || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +src_test() { + emake quick-check +} + +pkg_postinst() { + if ! use libclamav-only ; then + if use systemd ; then + tmpfiles_process clamav.conf + fi + fi + + if use milter ; then + elog "For simple instructions how to setup the clamav-milter read the" + elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" + fi + + local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) + if [[ ! -f "${databases}" ]] ; then + ewarn "You must run freshclam manually to populate the virus database" + ewarn "before starting clamav for the first time." + fi + + ewarn "This version of ClamAV provides separate OpenRC services" + ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" + ewarn "clamd service now starts only the clamd daemon itself. You" + ewarn "should add freshclam (and perhaps clamav-milter) to any" + ewarn "runlevels that previously contained clamd." +} diff --git a/app-antivirus/clamav/files/clamav-0.104.0-ncurses_detection.patch b/app-antivirus/clamav/files/clamav-0.104.0-ncurses_detection.patch new file mode 100644 index 000000000000..aa403a90bab3 --- /dev/null +++ b/app-antivirus/clamav/files/clamav-0.104.0-ncurses_detection.patch @@ -0,0 +1,27 @@ +From cd99490efb82b66c75e92fab3ff97c480bfc9cf9 Mon Sep 17 00:00:00 2001 +From: Luca Barbato +Date: Sat, 16 Oct 2021 10:56:22 +0200 +Subject: [PATCH] Use all the link line from ncurses pkg-config + +Otherwise it would fail at link time if ncurses has a stand alone tinfo library. +--- + cmake/FindCURSES.cmake | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/cmake/FindCURSES.cmake b/cmake/FindCURSES.cmake +index 35d4a570f6..528211c45c 100644 +--- a/cmake/FindCURSES.cmake ++++ b/cmake/FindCURSES.cmake +@@ -58,11 +58,7 @@ if(NCURSES_NOT_FOUND EQUAL -1) + set(HAVE_LIBNCURSES 1) + set(CURSES_INCLUDE "") + +- find_library(CURSES_LIBRARY +- NAMES ncurses +- PATHS ${PC_NCurses_LIBRARY_DIRS} +- ) +- ++ set(CURSES_LIBRARY ${PC_NCurses_LINK_LIBRARIES}) + set(CURSES_VERSION ${PC_NCurses_VERSION}) + + include(FindPackageHandleStandardArgs) diff --git a/app-antivirus/clamav/files/clamav-milter.initd b/app-antivirus/clamav/files/clamav-milter.initd new file mode 100755 index 000000000000..049d908155d3 --- /dev/null +++ b/app-antivirus/clamav/files/clamav-milter.initd @@ -0,0 +1,34 @@ +#!/sbin/openrc-run + +# Note: the "Foreground" option in clamav-milter.conf MUST +# be set to "no". +command="/usr/sbin/clamav-milter" + +# For now, must be manually synchronized with the PidFile +# variable in clamav-milter.conf. +# +# https://bugzilla.clamav.net/show_bug.cgi?id=12595 +# +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + # The milter can successfully launch without clamd, but it's not a + # great user experience to have the milter start accepting requests + # that it can't process. The "use" dependency below will start clamd + # before clamav-milter, so long as clamd is also present this runlevel. + use clamd +} + +start_pre() { + # This exists to support the (disabled) default MilterSocket setting + # within clamav-milter.conf. The "clamav" user and group agree with + # the (disabled) default "User" and "MilterSocketGroup" settings. + # + # Creating this directory is harmless even when a local socket is + # not used. In fact, the clamd service that we depend on should + # create it as well, to hold its own local socket (if enabled). + checkpath --directory \ + --mode 0755 \ + --owner clamav:clamav \ + "/run/clamav" +} diff --git a/app-antivirus/clamav/files/clamav-milter.service-0.104.0 b/app-antivirus/clamav/files/clamav-milter.service-0.104.0 new file mode 100644 index 000000000000..68acf0695ceb --- /dev/null +++ b/app-antivirus/clamav/files/clamav-milter.service-0.104.0 @@ -0,0 +1,13 @@ +[Unit] +Description=Milter module for the ClamAV scanner +After=nss-lookup.target network.target +Before=sendmail.service +Before=postfix.service + +[Service] +Type=forking +PIDFile=/run/clamav/clamav-milter.pid +ExecStart=/usr/sbin/clamav-milter -c /etc/clamav/clamav-milter.conf + +[Install] +WantedBy=multi-user.target diff --git a/app-antivirus/clamav/files/clamd.initd b/app-antivirus/clamav/files/clamd.initd new file mode 100755 index 000000000000..efc01efc41b0 --- /dev/null +++ b/app-antivirus/clamav/files/clamd.initd @@ -0,0 +1,33 @@ +#!/sbin/openrc-run + +# Note: the "Foreground" option in clamd.conf must be set to "no" +command="/usr/sbin/clamd" +extra_started_commands="reload" + +# For now, must be manually synchronized with the PidFile variable +# in clamd.conf. +# +# https://bugzilla.clamav.net/show_bug.cgi?id=12595 +# +pidfile="/run/${RC_SVCNAME}.pid" + +start_pre() { + # This exists to support the (disabled) default LocalSocket setting + # within clamd.conf. The "clamav" user and group agree with the + # (disabled) default "User" and "LocalSocketGroup" settings in + # clamd.conf. And everything here agrees with the + # clamav-daemon.socket systemd service. + # + # Creating this directory is harmless even when a local socket is + # not used. + checkpath --directory \ + --mode 0755 \ + --owner clamav:clamav \ + "/run/clamav" +} + +reload() { + ebegin "Reloading ${RC_SVCNAME}" + "/usr/bin/clamdscan" --reload + eend $? +} diff --git a/app-antivirus/clamav/files/clamd_at.service-0.104.0 b/app-antivirus/clamav/files/clamd_at.service-0.104.0 new file mode 100644 index 000000000000..5ab51e7fccf7 --- /dev/null +++ b/app-antivirus/clamav/files/clamd_at.service-0.104.0 @@ -0,0 +1,12 @@ +[Unit] +Description=clamd scanner (%i) daemon +After=nss-lookup.target network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/clamd -c /etc/clamav/clamd%i.conf +Restart=on-failure +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/app-antivirus/clamav/files/clamonacc.initd b/app-antivirus/clamav/files/clamonacc.initd new file mode 100755 index 000000000000..f625707b171a --- /dev/null +++ b/app-antivirus/clamav/files/clamonacc.initd @@ -0,0 +1,18 @@ +#!/sbin/openrc-run + +command="/usr/sbin/clamonacc" +pidfile="/run/${RC_SVCNAME}.pid" + +# clamonacc doesn't support a PID file at the moment, so we +# run it in the foreground and let OpenRC background it. +# +# https://bugzilla.clamav.net/show_bug.cgi?id=12595 +# +command_args="--foreground" +command_background=true + +depend() { + # Unlike the milter, the on-access scanner will simply fail to start + # until clamd is available. + need clamd +} diff --git a/app-antivirus/clamav/files/freshclam.initd b/app-antivirus/clamav/files/freshclam.initd new file mode 100755 index 000000000000..415d94a87668 --- /dev/null +++ b/app-antivirus/clamav/files/freshclam.initd @@ -0,0 +1,8 @@ +#!/sbin/openrc-run + +command="/usr/bin/freshclam" +pidfile="/run/${RC_SVCNAME}.pid" + +# Ignore the value of "PidFile" set in freshclam.conf. +command_args="-p ${pidfile}" +command_args_background="--daemon" diff --git a/app-antivirus/clamav/metadata.xml b/app-antivirus/clamav/metadata.xml index 799ee7cad29d..955b022bfd36 100644 --- a/app-antivirus/clamav/metadata.xml +++ b/app-antivirus/clamav/metadata.xml @@ -1,25 +1,27 @@ - - antivirus@gentoo.org - Gentoo Antivirus Project - - - - - mjo@gentoo.org - - - - Build the clamonacc on-access scanner - A Top like tool which shows what clamd is currently scanning amongst other things - A tool to submit false positives / negatives - Bypass building of libfreshclam and the ClamAV CLI applications. - Enables collection of file property metadata using ClamAV API for analysis by ClamAV bytecode programs. - DMG and XAR support - - - clamav - + + antivirus@gentoo.org + Gentoo Antivirus Project + + + + mjo@gentoo.org + + + + Build applications (clamscan, clamd, clamdscan, clamonacc (also has its own USE flag), sigtool, clambc, clamav-milter (also requires milter USE flag), clamdtop, clamsubmit, clamconf). + + Build the clamonacc on-access scanner + A Top like tool which shows what clamd is currently scanning amongst other things + A tool to submit false positives / negatives + Bypass building of libfreshclam and the ClamAV CLI applications. + Enables collection of file property metadata using ClamAV API for analysis by ClamAV bytecode programs. + DMG and XAR support + RAR support + + + clamav + -- cgit v1.2.3