security/clamav-lts: Add new port

* Add Long Term Support release of ClamAV
* Add CONFLICTS_INSTALL to security/clamav
* Add entry to UPDATING that explains
  - Upstream changed their end-of-life policy and LTS release is
    introduced
  - How to switch from regular release (security/clamav) to LTS
    release (security/clamav-lts)

Note about setting PORTEPOCH

In general new port should not set PORTEPOCH. But in this case it
should be set with following reason.

1. Recently upstream changed their end-of-life policy as following.
  - Regular feature release (= 0.xyz.0 release) is released more
    frequently, and life time of each feature release is shortened to
    about 4 months.
  - To compensate for the short lifetime of regular feature release,
    Long Term Support feature release is introduced and its life time
    is about 3 years.
2. First LTS starts with version 0.103.3 and it is same as current
   version of security/clamav.
3. Because of short lifetime of regular feature release, it is
   probable that not a few users of security/clamav want to switch to
   security/clamav-lts after the latter is connected (and the former
   is updated to 0.104.0).
3. For such users the entry is added to UPDATING about how to switch
   from security/clamav to security/clamav-lts. And binary package
   user is suggested to execute
   `pkg set -o security/clamav:security/clamav-lts`. This command
   changes the origin of already installed clamav packages. So user
   can switch to LTS version without reinstalling.
4. But if PORTEPOCH isn't set in security/clamav-lts, binary package
   user who executed above command will notice that version of
   installed package (0.103.3,1) succeeds to current version of
   security/clamav-lts (0.103.3). The situation doesn't change after
   new patch release (0.103.4 for example) is released and it causes
   the problem that installed package isn't properly upgraded with
   `pkg upgrade`.
5. So PORTEPOCH is set in  security/clamav-lts to prevent binary
   package user from suffering from such problem.
This commit is contained in:
Yasuhiro Kimura 2021-09-18 17:44:56 +09:00
parent df77bbd6c1
commit e761728685
13 changed files with 603 additions and 0 deletions

View file

@ -5,6 +5,34 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
20211007:
AFFECTS: user of security/clamav
AUTHOR: yasu@FreeBSD.org
Upstream changed end-of-life policy and introduced long time support
(LTS) feature release.
* LTS feature release will be identified approximately every two
years and supported for at least three years from the initial
publication date of that LTS feature version.
* Regular (non-LTS) feature releases will be supported for at least
four months from the initial publication date of the next feature
release or until the feature release after that is published.
According to it new port security/clamav-lts is added for users who
want to use LTS version of ClamAV.
Users wanting to switch to LTS version can replace security/clamav
with security/clamav-lts with one of following commands.
If you use pkg with binary packages:
# pkg set -o security/clamav:security/clamav-lts
# pkg upgrade
If you use portmaster:
# portmaster -o security/clamav-lts security/clamav
If you use portupgrade:
# portupgrade -o security/clamav-lts security/clamav
20211006:
AFFECTS: users of misc/freebsd-doc-*
AUTHOR: blackend@FreeBSD.org

View file

@ -88,6 +88,7 @@
SUBDIR += cl-md5-sbcl
SUBDIR += clamassassin
SUBDIR += clamav
SUBDIR += clamav-lts
SUBDIR += clamav-unofficial-sigs
SUBDIR += clamd-stream-client
SUBDIR += clamfs

View file

@ -0,0 +1,179 @@
PORTNAME= clamav
PORTVERSION= 0.103.3
PORTEPOCH= 1
CATEGORIES= security
MASTER_SITES= https://www.clamav.net/downloads/production/
PKGNAMESUFFIX= -lts
MAINTAINER= yasu@FreeBSD.org
COMMENT= Command line virus scanner written entirely in C
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libcurl.so:ftp/curl \
libltdl.so:devel/libltdl \
libmspack.so:archivers/libmspack
USES= compiler cpe gmake gnome libtool ncurses pathfix pkgconfig ssl
USE_LDCONFIG= yes
USE_RC_SUBR= clamav-clamd clamav-freshclam
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-dependency-tracking \
--enable-bigstack \
--enable-clamdtop \
--libdir=${PREFIX}/lib \
--with-dbdir=${DBDIR} \
--with-libcurl=${LOCALBASE} \
--with-openssl=${OPENSSLBASE} \
--with-system-libmspack=${LOCALBASE}/lib/libmspack.so
INSTALL_TARGET= install-strip
CFLAGS_i386= -march=i486
# This port has a problem with -pthread,
# force to use -lthr until it's not fixed.
LDFLAGS+= -lthr
CONFLICTS_INSTALL= clamav-[0-9]*
SUB_FILES= pkg-deinstall
SUB_LIST+= CHMOD=${CHMOD} \
CHOWN=${CHOWN} \
CLAMAV_CLAMD_PIDFILE=${CLAMAV_CLAMD_PIDFILE} \
CLAMAV_CLAMD_SOCKET=${CLAMAV_CLAMD_SOCKET} \
CLAMAV_MILTER_SOCKET=${CLAMAV_MILTER_SOCKET} \
CLAMAVGROUP=${CLAMAVGROUP} \
CLAMAVUSER=${CLAMAVUSER} \
DBDIR=${DBDIR} \
LOGDIR=${LOGDIR} \
RUNDIR=${RUNDIR}
CLAMAVUSER?= clamav
CLAMAVGROUP?= clamav
.if ${CLAMAVUSER} == "clamav"
USERS= clamav
.endif
.if ${CLAMAVGROUP} == "clamav"
GROUPS= clamav mail
.endif
PLIST_SUB+= CLAMAVGROUP=${CLAMAVGROUP} \
CLAMAVUSER=${CLAMAVUSER} \
DBDIR=${DBDIR} \
LOGDIR=${LOGDIR} \
RUNDIR=${RUNDIR}
OPTIONS_DEFINE= ARC ARJ DMG_XAR DOCS EXPERIMENTAL ICONV IPV6 JSON LDAP LHA \
MILTER PCRE STDERR TESTS UNRAR UNZOO
OPTIONS_DEFAULT= ARC ARJ DMG_XAR JSON MILTER PCRE UNRAR UNZOO
OPTIONS_SUB= yes
ARC_DESC= Enable arch archives support
ARJ_DESC= Enable arj archives support
DMG_XAR_DESC= Enable DMG and XAR archives support
EXPERIMENTAL_DESC= Build experimental code
LHA_DESC= Enable lha archives support
MILTER_DESC= Compile the milter interface
STDERR_DESC= Print logs to stderr instead of stdout
TESTS_DESC= Run compile-time tests (req. python)
UNZOO_DESC= Enable zoo archives support
ARC_RUN_DEPENDS= arc:archivers/arc
ARJ_RUN_DEPENDS= arj:archivers/arj
DMG_XAR_USE= GNOME=libxml2
DMG_XAR_CONFIGURE_WITH= xml=${LOCALBASE}
EXPERIMENTAL_CONFIGURE_ENABLE= experimental
ICONV_USES= iconv
ICONV_CONFIGURE_WITH= iconv
IPV6_CONFIGURE_ENABLE= ipv6
JSON_LIB_DEPENDS= libjson-c.so:devel/json-c
JSON_CONFIGURE_WITH= libjson=${LOCALBASE}
LDAP_USE= OPENLDAP=yes
LDAP_LDFLAGS= -lldap -L${LOCALBASE}/lib
LHA_RUN_DEPENDS= lha:archivers/lha
.if !exists(/usr/lib/libmilter.so)
MILTER_LIB_DEPENDS+= libmilter.so:mail/libmilter
.endif
MILTER_USE= RC_SUBR=clamav-milter
MILTER_CONFIGURE_ENABLE= milter
MILTER_CONFIGURE_WITH= sendmail=/usr/sbin/sendmail
.if !exists(/usr/lib/libmilter.so)
MILTER_CFLAGS= -I${LOCALBASE}/include
MILTER_LDFLAGS= -L${LOCALBASE}/lib
.endif
PCRE_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
PCRE_CONFIGURE_WITH= pcre
STDERR_EXTRA_PATCHES= ${FILESDIR}/extra-patch-shared_output.c
TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:devel/check
TESTS_USES= python:build
TESTS_CONFIGURE_ENABLE= check
UNRAR_CONFIGURE_ENABLE= unrar
UNZOO_RUN_DEPENDS= unzoo:archivers/unzoo
CLAMAV_CLAMD_SOCKET?= ${RUNDIR}/clamd.sock
CLAMAV_CLAMD_PIDFILE?= ${RUNDIR}/clamd.pid
CLAMAV_MILTER_SOCKET?= ${RUNDIR}/clmilter.sock
DBDIR= /var/db/clamav
LOGDIR= /var/log/clamav
RUNDIR= /var/run/clamav
PY_NO_THREAD= ${WRKDIR}/.python-has-no-threads
SED_CONF= -E -e 's|^\#?(Example)$$|\#\1|' -e \
's|^\#?((Update)?LogFile) .*/([a-z]+\.log)$$|\1 ${LOGDIR}/\3|' \
-e 's|^\#?(PidFile) .*/([a-z\-]+\.pid)$$|\1 ${RUNDIR}/\2|' -e \
's|^\#?(LocalSocket) .*$$|\1 ${CLAMAV_CLAMD_SOCKET}|' -e \
's|^\#?(User) .*$$|\1 ${CLAMAVUSER}|' -e \
's|^\#?(AllowSupplementaryGroups).*$$|\1 yes|' -e \
's|^\#?(ScanMail).*$$|\1 yes|' -e \
's|^\#?(DatabaseDirectory) .*$$|\1 ${DBDIR}|' -e \
's|^\#?(DatabaseOwner) .*$$|\1 ${CLAMAVUSER}|' -e \
's|^\#?(FixStaleSocket).*$$|\1 yes|' -e \
's|^\#?(NotifyClamd) .*$$|\1 ${PREFIX}/etc/clamd.conf|' -e \
's|^\#?(MilterSocket) */tmp.*$$|\1 ${CLAMAV_MILTER_SOCKET}|' -e \
's|^\#?(ClamdSocket).*$$|\1 unix:${CLAMAV_CLAMD_SOCKET}|'
.include <bsd.port.pre.mk>
post-patch:
@${REINPLACE_CMD} ${SED_CONF} \
${WRKSRC}/etc/clamd.conf.sample \
${WRKSRC}/etc/freshclam.conf.sample \
${WRKSRC}/etc/clamav-milter.conf.sample
.if ${CHOSEN_COMPILER_TYPE} == gcc
@${REINPLACE_CMD} -e 's|-Wno-logical-op-parentheses||' \
-e 's|-Wno-dangling-else||' \
${WRKSRC}/libclamav/Makefile.am \
${WRKSRC}/libclamav/Makefile.in \
${WRKSRC}/libclamunrar/makefile
.endif
pre-configure-TESTS-on:
@if ! ${PYTHON_CMD} -c "import thread" >/dev/null 2>&1; then \
${ECHO_MSG} ""; \
${ECHO_MSG} "==========================================================================="; \
${ECHO_MSG} "= Unit tests REQUIRES python built with thread support, and yours is not. ="; \
${ECHO_MSG} "= It will not be called during this build ="; \
${ECHO_MSG} "==========================================================================="; \
${ECHO_MSG} ""; \
${TOUCH} ${PY_NO_THREAD}; \
fi
post-build-TESTS-on:
@if [ ! -f "${PY_NO_THREAD}" ]; then \
${MAKE_CMD} -C ${WRKSRC} check; \
fi
post-install:
${INSTALL_DATA} ${WRKSRC}/clamav-config.h ${STAGEDIR}${PREFIX}/include
@${MKDIR} ${STAGEDIR}${DOCSDIR}/html \
${STAGEDIR}${DBDIR} \
${STAGEDIR}${LOGDIR} \
${STAGEDIR}${RUNDIR}
(cd ${WRKSRC}/docs/html; ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/html)
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1624295813
SHA256 (clamav-0.103.3.tar.gz) = 9f6e3d18449f3d1a3992771d696685249dfa12736fe2b2929858f2c7d8276ae9
SIZE (clamav-0.103.3.tar.gz) = 13389239

View file

@ -0,0 +1,51 @@
#!/bin/sh
# PROVIDE: clamav_clamd
# REQUIRE: LOGIN
# BEFORE: mail
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable clamd:
#
# clamav_clamd_enable="YES"
# clamav_clamd_flags="<set as needed>"
#
# See clamd(8) for flags
#
. /etc/rc.subr
name=clamav_clamd
rcvar=clamav_clamd_enable
# read settings, set default values
load_rc_config "$name"
: ${clamav_clamd_enable:=NO}
: ${clamav_clamd_socket="%%CLAMAV_CLAMD_SOCKET%%"}
: ${clamav_clamd_pidfile="%%CLAMAV_CLAMD_PIDFILE%%"}
: ${clamav_clamd_user="%%CLAMAVUSER%%"}
command=%%PREFIX%%/sbin/clamd
required_dirs=%%DBDIR%%
required_files=%%PREFIX%%/etc/clamd.conf
start_precmd=clamav_clamd_precmd
extra_commands=reload
reload_cmd="%%PREFIX%%/bin/clamdscan --reload"
#clamav .93 won't start without a valid main.c[vl]d file
clamav_clamd_precmd()
{
local rundir=${clamav_clamd_pidfile%/*}
if [ ! -d $rundir ] ; then
install -d -m 0755 -o ${clamav_clamd_user} -g ${clamav_clamd_user} $rundir
fi
if [ ! -f %%DBDIR%%/main.cvd -a ! -f %%DBDIR%%/main.cld ];then
echo "Missing %%DBDIR%%/*.cvd or *.cld files. You must run freshclam first"
exit 1
fi
}
run_rc_command "$1"

View file

@ -0,0 +1,45 @@
#!/bin/sh
# PROVIDE: clamav_freshclam
# REQUIRE: LOGIN clamav_clamd
# BEFORE: mail
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable the freshclam daemon:
#
# clamav_freshclam_enable="YES"
# clamav_freshclam_flags="<set as needed>"
#
# See freshclam(1) for flags
#
. /etc/rc.subr
name=clamav_freshclam
rcvar=clamav_freshclam_enable
# read settings, set default values
load_rc_config ${name}
: ${clamav_freshclam_enable:=NO}
: ${clamav_freshclam_pidfile=%%RUNDIR%%/freshclam.pid}
: ${clamav_freshclam_user=%%CLAMAVUSER%%}
command=%%PREFIX%%/bin/freshclam
pidfile=${clamav_freshclam_pidfile}
command_args="--daemon -p ${pidfile}"
required_dirs=%%DBDIR%%
required_files=%%PREFIX%%/etc/freshclam.conf
start_precmd=clamav_freshclam_precmd
clamav_freshclam_precmd()
{
local rundir=${clamav_freshclam_pidfile%/*}
if [ ! -d $rundir ] ; then
install -d -m 0755 -o ${clamav_freshclam_user} -g ${clamav_freshclam_user} $rundir
fi
}
run_rc_command "$1"

View file

@ -0,0 +1,101 @@
#!/bin/sh
# PROVIDE: clamav_milter
# REQUIRE: LOGIN clamav_clamd
# BEFORE: mail
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable clamav-milter:
#
# clamav_milter_enable="YES"
#
# See clamav-milter(1) for flags
#
. /etc/rc.subr
name=clamav_milter
rcvar=clamav_milter_enable
load_rc_config $name
: ${clamav_milter_enable:=NO}
: ${clamav_milter_socket="%%CLAMAV_MILTER_SOCKET%%"}
: ${clamav_milter_conf="%%PREFIX%%/etc/clamav-milter.conf"}
: ${clamav_milter_flags="-c ${clamav_milter_conf}"}
: ${clamav_milter_socktimeout=60}
: ${clamav_milter_socket_mode=777}
: ${clamav_milter_socket_user=%%CLAMAVUSER%%}
: ${clamav_milter_socket_group=%%CLAMAVGROUP%%}
: ${clamav_clamd_enable:=NO}
: ${clamav_clamd_socket="%%CLAMAV_CLAMD_SOCKET%%"}
command=%%PREFIX%%/sbin/clamav-milter
required_dirs=%%DBDIR%%
required_files=${clamav_milter_conf}
start_precmd=start_precmd
start_postcmd=start_postcmd
start_precmd()
{
if [ -S "$clamav_milter_socket" ]; then
warn "Stale socket $clamav_milter_socket removed."
rm "$clamav_milter_socket"
fi
rc_flags="${flags:-$clamav_milter_flags}"
clamav_clamd_socket_prefix=${clamav_clamd_socket%:*}
# We can have inet or inet6, try to remove 6
clamav_clamd_socket_prefix=${clamav_clamd_socket_prefix%6}
if checkyesno clamav_clamd_enable && [ "x$clamav_clamd_socket" != "x" -a "${clamav_clamd_socket_prefix}" != "inet" ]; then
echo -n "Waiting for clamd socket.. "
i=${clamav_milter_socktimeout}
while [ $i -ne 0 ]
do
[ -S "$clamav_clamd_socket" ] && break
if [ `expr $i % 10` -eq 0 ]; then
echo -n "${i}.. "
fi
sleep 1
i=$(($i-1))
done
echo
if [ $i -eq 0 ]; then
echo "There is no clamd socket (${clamav_clamd_socket})!"
exit 1
fi
fi
}
start_postcmd()
{
clamav_milter_socket_prefix=${clamav_milter_socket%:*}
# We can have inet or inet6, try to remove 6
clamav_milter_socket_prefix=${clamav_milter_socket_prefix%6}
if [ "x$clamav_milter_socket" != "x" -a "${clamav_milter_socket_prefix}" != "inet" ]; then
echo -n "Waiting for clamav-milter socket.. "
i=${clamav_milter_socktimeout}
while [ $i -ne 0 ]
do
[ -S "$clamav_milter_socket" ] && break
if [ `expr $i % 10` -eq 0 ]; then
echo -n "${i}.. "
fi
sleep 1
i=$(($i-1))
done
echo
if [ $i -eq 0 ]; then
echo "There is no clamav-milter socket (${clamav_milter_socket})!"
exit 1
fi
%%CHMOD%% ${clamav_milter_socket_mode} ${clamav_milter_socket}
%%CHOWN%% ${clamav_milter_socket_user}:${clamav_milter_socket_group} ${clamav_milter_socket}
fi
}
run_rc_command "$1"

View file

@ -0,0 +1,17 @@
--- shared/output.c.orig Thu May 18 22:10:40 2006
+++ shared/output.c Thu May 18 22:12:43 2006
@@ -236,7 +236,13 @@
return;
}
- fd = stdout;
+/* fd = stdout; (missing flag 'mprintf_stdout') --eh. */
+
+ if(mprintf_stdout)
+ fd = stdout;
+ else
+ fd = stderr;
+
/* legend:
* ! - error

View file

@ -0,0 +1,62 @@
--- libclamav/c++/llvm/include/llvm/Support/CFG.h.orig 2016-04-22 15:02:19 UTC
+++ libclamav/c++/llvm/include/llvm/Support/CFG.h
@@ -27,8 +27,9 @@ namespace llvm {
template <class Ptr, class USE_iterator> // Predecessor Iterator
class PredIterator : public std::iterator<std::forward_iterator_tag,
- Ptr, ptrdiff_t> {
- typedef std::iterator<std::forward_iterator_tag, Ptr, ptrdiff_t> super;
+ Ptr, ptrdiff_t, Ptr*, Ptr*> {
+ typedef std::iterator<std::forward_iterator_tag, Ptr, ptrdiff_t, Ptr*,
+ Ptr*> super;
typedef PredIterator<Ptr, USE_iterator> Self;
USE_iterator It;
@@ -40,6 +41,7 @@ class PredIterator : public std::iterator<std::forward
public:
typedef typename super::pointer pointer;
+ typedef typename super::reference reference;
explicit inline PredIterator(Ptr *bb) : It(bb->use_begin()) {
advancePastNonTerminators();
@@ -49,7 +51,7 @@ class PredIterator : public std::iterator<std::forward
inline bool operator==(const Self& x) const { return It == x.It; }
inline bool operator!=(const Self& x) const { return !operator==(x); }
- inline pointer operator*() const {
+ inline reference operator*() const {
assert(!It.atEnd() && "pred_iterator out of range!");
return cast<TerminatorInst>(*It)->getParent();
}
@@ -87,10 +89,11 @@ inline const_pred_iterator pred_end(const BasicBlock *
template <class Term_, class BB_> // Successor Iterator
class SuccIterator : public std::iterator<std::bidirectional_iterator_tag,
- BB_, ptrdiff_t> {
+ BB_, ptrdiff_t, BB_*, BB_*> {
const Term_ Term;
unsigned idx;
- typedef std::iterator<std::bidirectional_iterator_tag, BB_, ptrdiff_t> super;
+ typedef std::iterator<std::bidirectional_iterator_tag, BB_, ptrdiff_t, BB_*,
+ BB_*> super;
typedef SuccIterator<Term_, BB_> Self;
inline bool index_is_valid(int idx) {
@@ -99,6 +102,7 @@ class SuccIterator : public std::iterator<std::bidirec
public:
typedef typename super::pointer pointer;
+ typedef typename super::reference reference;
// TODO: This can be random access iterator, only operator[] missing.
explicit inline SuccIterator(Term_ T) : Term(T), idx(0) {// begin iterator
@@ -122,7 +126,7 @@ class SuccIterator : public std::iterator<std::bidirec
inline bool operator==(const Self& x) const { return idx == x.idx; }
inline bool operator!=(const Self& x) const { return !operator==(x); }
- inline pointer operator*() const { return Term->getSuccessor(idx); }
+ inline reference operator*() const { return Term->getSuccessor(idx); }
inline pointer operator->() const { return operator*(); }
inline Self& operator++() { ++idx; return *this; } // Preincrement

View file

@ -0,0 +1,25 @@
#!/bin/sh
if [ "$2" != "POST-DEINSTALL" ]; then
exit 0
fi
CLAMAVUSER=%%CLAMAVUSER%%
echo
echo "===================================================="
echo
echo "If you want remove clamav permanently from you system"
echo "execute following commands:"
echo
echo " # rm -rf %%LOGDIR%%"
echo " # rm -rf %%RUNDIR%%"
echo " # rm -rf %%DBDIR%%"
if pw usershow "${CLAMAVUSER}" 2>/dev/null 1>&2; then
echo " # pw userdel ${CLAMAVUSER}"
fi
echo
echo "===================================================="
echo
exit 0

View file

@ -0,0 +1,8 @@
This the Long Term Support (LTS) version of Clam Antivirus.
Clam Antivirus is command line virus scanner written entirely in C
and its database is kept up to date. It also detects polymorphic
viruses, scans compressed files and supported by AMaViS.
Optionally you can use the clamav-milter interface to connect
clamav with sendmail.
WWW: https://www.clamav.net/

View file

@ -0,0 +1,81 @@
bin/clamav-config
bin/clambc
bin/clamconf
bin/clamdscan
bin/clamdtop
bin/clamscan
%%JSON%%bin/clamsubmit
bin/freshclam
bin/sigtool
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Contribute.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Installation-Unix.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Installation-Unix/Steps-Debian-Ubuntu.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Installation-Unix/Steps-Redhat-CentOS.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Installation-Unix/Steps-macOS.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Installation-Windows.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Introduction.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/OnAccess.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/AllowLists.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/AuthenticodeRules.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/BodySignatureFormat.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/BytecodeSignatures.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/ContainerMetadata.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/DatabaseInfo.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/DynamicConfig.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/EncryptedArchives.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/ExtendedSignatures.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/FileTypeMagic.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/FileTypes.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/FunctionalityLevels.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/HashSignatures.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/LogicalSignatures.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/PhishSigs.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Signatures/YaraRules.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Usage.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Usage/Configuration.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Usage/Scanning.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/Usage/SignatureManagement.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/development.html
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/images/demon.png
%%PORTDOCS%%%%DOCSDIR%%/html/UserManual/libclamav.html
include/clamav-config.h
include/clamav-types.h
include/clamav-version.h
include/clamav.h
include/libfreshclam.h
lib/libclamav.so
lib/libclamav.so.9
lib/libclamav.so.9.0.5
%%UNRAR%%lib/libclamunrar.so
%%UNRAR%%lib/libclamunrar.so.9
%%UNRAR%%lib/libclamunrar.so.9.0.5
%%UNRAR%%lib/libclamunrar_iface.so
%%UNRAR%%lib/libclamunrar_iface.so.9
%%UNRAR%%lib/libclamunrar_iface.so.9.0.5
lib/libfreshclam.so
lib/libfreshclam.so.2
lib/libfreshclam.so.2.0.1
libdata/pkgconfig/libclamav.pc
man/man1/clambc.1.gz
man/man1/clamconf.1.gz
man/man1/clamdscan.1.gz
man/man1/clamdtop.1.gz
man/man1/clamscan.1.gz
%%JSON%%man/man1/clamsubmit.1.gz
man/man1/freshclam.1.gz
man/man1/sigtool.1.gz
man/man5/clamav-milter.conf.5.gz
man/man5/clamd.conf.5.gz
man/man5/freshclam.conf.5.gz
man/man8/clamav-milter.8.gz
man/man8/clamd.8.gz
%%MILTER%%sbin/clamav-milter
sbin/clamd
@sample etc/clamd.conf.sample
%%MILTER%%@sample etc/clamav-milter.conf.sample
@sample etc/freshclam.conf.sample
@dir(%%CLAMAVUSER%%,%%CLAMAVGROUP%%,0755) %%DBDIR%%
@dir(%%CLAMAVUSER%%,%%CLAMAVGROUP%%,0755) %%LOGDIR%%
@dir(%%CLAMAVUSER%%,%%CLAMAVGROUP%%,0755) %%RUNDIR%%

View file

@ -42,6 +42,8 @@ CFLAGS_i386= -march=i486
# force to use -lthr until it's not fixed.
LDFLAGS+= -lthr
CONFLICTS_INSTALL= clamav-[0-9]*
SUB_FILES= pkg-deinstall
SUB_LIST+= CHMOD=${CHMOD} \
CHOWN=${CHOWN} \