mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-18 00:10:04 +00:00
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:
parent
df77bbd6c1
commit
e761728685
28
UPDATING
28
UPDATING
@ -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
|
||||
|
@ -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
|
||||
|
179
security/clamav-lts/Makefile
Normal file
179
security/clamav-lts/Makefile
Normal 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>
|
3
security/clamav-lts/distinfo
Normal file
3
security/clamav-lts/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1624295813
|
||||
SHA256 (clamav-0.103.3.tar.gz) = 9f6e3d18449f3d1a3992771d696685249dfa12736fe2b2929858f2c7d8276ae9
|
||||
SIZE (clamav-0.103.3.tar.gz) = 13389239
|
51
security/clamav-lts/files/clamav-clamd.in
Normal file
51
security/clamav-lts/files/clamav-clamd.in
Normal 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"
|
45
security/clamav-lts/files/clamav-freshclam.in
Normal file
45
security/clamav-lts/files/clamav-freshclam.in
Normal 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"
|
101
security/clamav-lts/files/clamav-milter.in
Normal file
101
security/clamav-lts/files/clamav-milter.in
Normal 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"
|
17
security/clamav-lts/files/extra-patch-shared_output.c
Normal file
17
security/clamav-lts/files/extra-patch-shared_output.c
Normal 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
|
@ -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
|
25
security/clamav-lts/files/pkg-deinstall.in
Normal file
25
security/clamav-lts/files/pkg-deinstall.in
Normal 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
|
8
security/clamav-lts/pkg-descr
Normal file
8
security/clamav-lts/pkg-descr
Normal 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/
|
81
security/clamav-lts/pkg-plist
Normal file
81
security/clamav-lts/pkg-plist
Normal 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%%
|
@ -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} \
|
||||
|
Loading…
Reference in New Issue
Block a user