diff options
author | kefren <kefren@pkgsrc.org> | 2010-12-24 07:11:05 +0000 |
---|---|---|
committer | kefren <kefren@pkgsrc.org> | 2010-12-24 07:11:05 +0000 |
commit | 714210b407efe799c5d242c305e72936c3c0cba1 (patch) | |
tree | 3f1d0bae663209e5fff710c304060ad0bd106ba4 /security/clamav | |
parent | a7783b57190fdd71ce8057e1e210cd11501da7d3 (diff) | |
download | pkgsrc-714210b407efe799c5d242c305e72936c3c0cba1.tar.gz |
Move clamav into security/. No objections on tech-pkg@
Part of PR/32554
Diffstat (limited to 'security/clamav')
-rw-r--r-- | security/clamav/DEINSTALL | 9 | ||||
-rw-r--r-- | security/clamav/DESCR | 5 | ||||
-rw-r--r-- | security/clamav/MESSAGE | 13 | ||||
-rw-r--r-- | security/clamav/Makefile | 77 | ||||
-rw-r--r-- | security/clamav/PLIST | 32 | ||||
-rw-r--r-- | security/clamav/PLIST.milter | 3 | ||||
-rw-r--r-- | security/clamav/buildlink3.mk | 19 | ||||
-rw-r--r-- | security/clamav/distinfo | 10 | ||||
-rw-r--r-- | security/clamav/files/clamd.sh | 78 | ||||
-rw-r--r-- | security/clamav/files/freshclamd.sh | 20 | ||||
-rw-r--r-- | security/clamav/options.mk | 24 | ||||
-rw-r--r-- | security/clamav/patches/patch-aa | 14 | ||||
-rw-r--r-- | security/clamav/patches/patch-ab | 24 | ||||
-rw-r--r-- | security/clamav/patches/patch-ad | 15 | ||||
-rw-r--r-- | security/clamav/patches/patch-af | 24 | ||||
-rw-r--r-- | security/clamav/patches/patch-ag | 14 |
16 files changed, 381 insertions, 0 deletions
diff --git a/security/clamav/DEINSTALL b/security/clamav/DEINSTALL new file mode 100644 index 00000000000..59fd32191a7 --- /dev/null +++ b/security/clamav/DEINSTALL @@ -0,0 +1,9 @@ +# $NetBSD: DEINSTALL,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +case ${STAGE} in +DEINSTALL) + # Unconditionally remove the virus databases when deinstalling. + ${RM} -f @CLAMAV_DBDIR@/daily.cvd + ${RM} -f @CLAMAV_DBDIR@/main.cvd + ;; +esac diff --git a/security/clamav/DESCR b/security/clamav/DESCR new file mode 100644 index 00000000000..7621892cd95 --- /dev/null +++ b/security/clamav/DESCR @@ -0,0 +1,5 @@ +Clam AntiVirus is an anti-virus toolkit written from scratch. It is licensed +under GNU GPL2 and uses the virus database from OpenAntiVirus, which is an +another free anti-virus project. In contrast to OpenAntiVirus (which is written +in Java), Clam AntiVirus is written entirely in C and its database is KEPT UP +TO DATE. It also detects polymorphic viruses as well. diff --git a/security/clamav/MESSAGE b/security/clamav/MESSAGE new file mode 100644 index 00000000000..43af7fe9b00 --- /dev/null +++ b/security/clamav/MESSAGE @@ -0,0 +1,13 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +You should update the virus databases to the latest ones available +before using ClamAV. This can be done by running the following command +as `${ROOT_USER}' or `${CLAMAV_USER}': + + ${PREFIX}/bin/freshclam + +Note that as of version 0.80, clamav.conf has been replaced by +clamd.conf. Be sure to update your configuration to reflect this. + +=========================================================================== diff --git a/security/clamav/Makefile b/security/clamav/Makefile new file mode 100644 index 00000000000..47721d94634 --- /dev/null +++ b/security/clamav/Makefile @@ -0,0 +1,77 @@ +# $NetBSD: Makefile,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +DISTNAME= clamav-0.96.5 +CATEGORIES= security +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=clamav/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.clamav.net/ +COMMENT= Anti-virus toolkit +LICENSE= gnu-gpl-v2 + +PKG_INSTALLATION_TYPES= overwrite pkgviews +PKG_DESTDIR_SUPPORT= user-destdir + +USE_LIBTOOL= yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --disable-clamav +CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} +CONFIGURE_ARGS+= --with-dbdir=${CLAMAV_DBDIR} +CONFIGURE_ARGS+= --with-user=${CLAMAV_USER} +CONFIGURE_ARGS+= --with-group=${CLAMAV_GROUP} +CONFIGURE_ARGS+= --with-ltdl-include=${BUILDLINK_PREFIX.libltdl}/include +CONFIGURE_ARGS+= --with-ltdl-lib=${BUILDLINK_PREFIX.libltdl}/lib +CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib} +# pkgsrc enforces a "secure" version of zlib, so don't let this check +# bomb the build. +CONFIGURE_ARGS+= --disable-zlib-vcheck +# avoid multiarch libdir on Darwin +CONFIGURE_ARGS+= --libdir=${PREFIX}/lib + +.include "../../mk/bsd.prefs.mk" + +PLIST_SRC+= ${PKGDIR}/PLIST + +.if ${OPSYS} == "NetBSD" && !empty(OS_VERSION:M1.*) +CONFIGURE_ARGS+= --disable-readdir-r +.else +CONFIGURE_ARGS+= --enable-readdir_r +.endif + +BUILD_DEFS+= CLAMAV_USER CLAMAV_GROUP CLAMAV_DBDIR +FILES_SUBST+= CLAMAV_USER=${CLAMAV_USER} +MESSAGE_SUBST+= CLAMAV_USER=${CLAMAV_USER} + +RCD_SCRIPTS= clamd freshclamd +PKG_GROUPS+= ${CLAMAV_GROUP} +PKG_USERS+= ${CLAMAV_USER}:${CLAMAV_GROUP} + +PKG_GROUPS_VARS+= CLAMAV_GROUP +PKG_USERS_VARS= CLAMAV_USER + +EGDIR= ${PREFIX}/share/examples/clamav +FILES_SUBST+= CLAMAV_DBDIR=${CLAMAV_DBDIR} + +OWN_DIRS_PERMS= ${CLAMAV_DBDIR} ${CLAMAV_USER} ${CLAMAV_GROUP} 0775 +CONF_FILES= # empty +CONF_FILES_PERMS= # empty +.for i in clamd.conf freshclam.conf +CONF_FILES+= ${EGDIR}/${i} ${PKG_SYSCONFDIR}/${i} +.endfor +.for i in daily.cvd main.cvd +CONF_FILES_PERMS+= ${EGDIR}/${i} ${CLAMAV_DBDIR}/${i} \ + ${CLAMAV_USER} ${CLAMAV_GROUP} 0664 +.endfor + +INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} CFGINST=${EGDIR} DBINST=${EGDIR} + +.include "options.mk" + +.include "../../archivers/bzip2/buildlink3.mk" +.include "../../devel/libltdl/buildlink3.mk" +.include "../../devel/ncurses/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" +.include "../../devel/gmp/buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" + +.include "../../mk/bsd.pkg.mk" diff --git a/security/clamav/PLIST b/security/clamav/PLIST new file mode 100644 index 00000000000..0ca9a4e1e6d --- /dev/null +++ b/security/clamav/PLIST @@ -0,0 +1,32 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ +bin/clamav-config +bin/clambc +bin/clamconf +bin/clamdscan +bin/clamdtop +bin/clamscan +bin/freshclam +bin/sigtool +include/clamav.h +lib/libclamav.la +lib/libclamunrar.la +lib/libclamunrar_iface.la +lib/pkgconfig/libclamav.pc +man/man1/clamconf.1 +man/man1/clamdscan.1 +man/man1/clamdtop.1 +man/man1/clamscan.1 +man/man1/freshclam.1 +man/man1/sigtool.1 +man/man5/clamav-milter.conf.5 +man/man5/clamd.conf.5 +man/man5/freshclam.conf.5 +man/man8/clamav-milter.8 +man/man8/clamd.8 +sbin/clamd +share/examples/clamav/clamd.conf +share/examples/clamav/daily.cvd +share/examples/clamav/freshclam.conf +share/examples/clamav/main.cvd +share/examples/rc.d/clamd +share/examples/rc.d/freshclamd diff --git a/security/clamav/PLIST.milter b/security/clamav/PLIST.milter new file mode 100644 index 00000000000..7c628cfb07b --- /dev/null +++ b/security/clamav/PLIST.milter @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST.milter,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ +sbin/clamav-milter +share/examples/clamav/clamav-milter.conf diff --git a/security/clamav/buildlink3.mk b/security/clamav/buildlink3.mk new file mode 100644 index 00000000000..a3099523c51 --- /dev/null +++ b/security/clamav/buildlink3.mk @@ -0,0 +1,19 @@ +# $NetBSD: buildlink3.mk,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +BUILDLINK_TREE+= clamav + +.if !defined(CLAMAV_BUILDLINK3_MK) +CLAMAV_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.clamav+= clamav>=0.95.3nb1 +BUILDLINK_ABI_DEPENDS.clamav+= clamav>=0.95.3nb2 +BUILDLINK_PKGSRCDIR.clamav?= ../../security/clamav + +.include "../../archivers/bzip2/buildlink3.mk" +.include "../../devel/libltdl/buildlink3.mk" +.include "../../devel/ncurses/buildlink3.mk" +.include "../../devel/zlib/buildlink3.mk" +.include "../../devel/gmp/buildlink3.mk" +.endif # CLAMAV_BUILDLINK3_MK + +BUILDLINK_TREE+= -clamav diff --git a/security/clamav/distinfo b/security/clamav/distinfo new file mode 100644 index 00000000000..36ee9212e6c --- /dev/null +++ b/security/clamav/distinfo @@ -0,0 +1,10 @@ +$NetBSD: distinfo,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +SHA1 (clamav-0.96.5.tar.gz) = a7253e30d40e0c03964a60ed589b356a115b26c5 +RMD160 (clamav-0.96.5.tar.gz) = 70c465548395301b83bb2f5428aa383825089af4 +Size (clamav-0.96.5.tar.gz) = 41164924 bytes +SHA1 (patch-aa) = 8539a90ac5591c86f7e9f6b8c073f36523f221a5 +SHA1 (patch-ab) = fea995ea944c2ae0f51a41e1a1076badf65c6c8b +SHA1 (patch-ad) = 7d7ea5f8cda22dca1a399ee1219f1f072d8a3eed +SHA1 (patch-af) = a58e2c484b34bbfccb62d6fdf35b552a15dc9bd3 +SHA1 (patch-ag) = cf4a0040a53c81402e8d15478407bc854af6fb30 diff --git a/security/clamav/files/clamd.sh b/security/clamav/files/clamd.sh new file mode 100644 index 00000000000..671d320afad --- /dev/null +++ b/security/clamav/files/clamd.sh @@ -0,0 +1,78 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: clamd.sh,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ +# +# clamd does anti-virus checking. +# +# PROVIDE: clamd +# REQUIRE: DAEMON +# BEFORE: mail local +# KEYWORD: shutdown + +if [ -f /etc/rc.subr ]; then + . /etc/rc.subr +fi + +name="clamd" +rcvar=$name +command="@PREFIX@/sbin/${name}" +scan_command="@PREFIX@/bin/clamdscan" +required_files="@PKG_SYSCONFDIR@/clamd.conf" +start_precmd="clamd_precmd" +stop_cmd="clamd_stopcmd" + +if [ -f "${required_files}" ]; then + pidfile_=`@AWK@ '/^#/ {next}; /^PidFile[ ]/ {r = $2}; + END {print r}' ${required_files}` + if [ -n "${pidfile_}" ]; then + pidfile=${pidfile_} + fi + logfile=`@AWK@ 'BEGIN {r = "/tmp/clamd.log"}; + /^#/ {next}; /^LogFile[ ]/ {r = $2}; + END {print r}' ${required_files}` + socket=`@AWK@ 'BEGIN {r = "/tmp/clamd"}; + /^#/ {next}; /^LocalSocket[ ]/ {r = $2}; + END {print r}' ${required_files}` + clamd_user=`@AWK@ 'BEGIN {r = "@CLAMAV_USER@"}; + /^#/ {next}; /^User[ ]/ {r = $2}; + END {print r}' ${required_files}` +fi + +clamd_precmd() +{ + @RM@ -f ${socket} + if [ -n "${logfile}" ]; then + @TOUCH@ ${logfile} + @CHOWN@ ${clamd_user} ${logfile} + fi + if [ -n "${pidfile}" ]; then + @TOUCH@ ${pidfile} + @CHOWN@ ${clamd_user} ${pidfile} + fi +} + +clamd_stopcmd() +{ + # Workaround bug when clamd is built against pth by send TERM to + # clamd, then forcing it to start a worker thread that exits. + # This forces the main thread to awaken and realize that it's + # supposed to shutdown. + # + @ECHO@ "Stopping ${name}." + doit="@SU@ -m ${clamd_user} -c \"kill -TERM $rc_pid\"" + if ! eval $doit && [ -z "$rc_force" ]; then + return 1 + fi + ${scan_command} --quiet ${scan_command} 2>/dev/null + wait_for_pids $rc_pid +} + +if [ -f /etc/rc.subr -a -f /etc/rc.conf \ + -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then + load_rc_config $name + run_rc_command "$1" +else + @ECHO@ -n " ${name}" + eval ${start_precmd} + ${command} ${clamd_flags} ${command_args} +fi diff --git a/security/clamav/files/freshclamd.sh b/security/clamav/files/freshclamd.sh new file mode 100644 index 00000000000..267c4f31a30 --- /dev/null +++ b/security/clamav/files/freshclamd.sh @@ -0,0 +1,20 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: freshclamd.sh,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ +# +# PROVIDE: freshclamd +# REQUIRE: DAEMON LOGIN clamd + +name="freshclamd" +rcvar=$name +command="@PREFIX@/bin/freshclam" +required_files="@PKG_SYSCONFDIR@/freshclam.conf" +pidfile="@CLAMAV_DBDIR@/${name}.pid" +freshclamd_user="@CLAMAV_USER@" +freshclamd_flags=${freshclamd_flags:=-c 2} +command_args="-d -p $pidfile" + +. /etc/rc.subr + +load_rc_config $name +run_rc_command "$1" diff --git a/security/clamav/options.mk b/security/clamav/options.mk new file mode 100644 index 00000000000..b9098ab3bbe --- /dev/null +++ b/security/clamav/options.mk @@ -0,0 +1,24 @@ +# $NetBSD: options.mk,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.clamav +PKG_SUPPORTED_OPTIONS= milter clamav-experimental + +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Mmilter) +# force use of pkgsrc version of libmilter -- clamav uses the sendmail binary +# to check API compatibility(!), so it must build with as new a version of +# libmilter as pkgsrc is capable of providing +USE_BUILTIN.libmilter= no +. include "../../mail/libmilter/buildlink3.mk" +CONFIGURE_ARGS+= --enable-milter +PLIST_SRC+= ${PKGDIR}/PLIST.milter +.else +CONFIGURE_ARGS+= --disable-milter +# XXX --disable-milter doesn't work as expected, so we need this +CONFIGURE_ENV+= ac_cv_header_libmilter_mfapi_h=no +.endif + +.if !empty(PKG_OPTIONS:Mclamav-experimental) +CONFIGURE_ARGS+= --enable-experimental +.endif diff --git a/security/clamav/patches/patch-aa b/security/clamav/patches/patch-aa new file mode 100644 index 00000000000..701b77f3532 --- /dev/null +++ b/security/clamav/patches/patch-aa @@ -0,0 +1,14 @@ +$NetBSD: patch-aa,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +Fix compilation error DragonFly. + +--- clamdtop/clamdtop.c.orig 2009-06-01 19:20:12.000000000 +0300 ++++ clamdtop/clamdtop.c 2009-06-11 07:31:58.000000000 +0300 +@@ -33,6 +33,7 @@ + #endif + + #include <unistd.h> ++#include <stdarg.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> diff --git a/security/clamav/patches/patch-ab b/security/clamav/patches/patch-ab new file mode 100644 index 00000000000..1dcf445568d --- /dev/null +++ b/security/clamav/patches/patch-ab @@ -0,0 +1,24 @@ +$NetBSD: patch-ab,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +Make this pkgsrc friedly. + +--- libclamav/c++/llvm/utils/buildit/build_llvm.orig 2010-11-10 16:57:04.000000000 +0000 ++++ libclamav/c++/llvm/utils/buildit/build_llvm +@@ -224,7 +224,7 @@ make $LOCAL_MAKEFLAGS $OPTIMIZE_OPTS UNI + LLVM_SUBMIT_SUBVERSION=$LLVM_SUBMIT_SUBVERSION \ + OPTIMIZE_OPTION='-O3' VERBOSE=1 install + +-if ! test $? == 0 ; then ++if ! test $? = 0 ; then + echo "error: LLVM 'make install' failed!" + exit 1 + fi +@@ -332,7 +332,7 @@ if [ "$INSTALL_LIBLTO" = "yes" ]; then + # PPC objects! + strip -arch all -Sl $DT_HOME/lib/libLTO.dylib + +- if [ "x$DISABLE_USR_LINKS" == "x" ]; then ++ if [ "x$DISABLE_USR_LINKS" = "x" ]; then + # Add a symlink in /usr/lib for B&I. + mkdir -p $DEST_DIR/usr/lib/ + (cd $DEST_DIR/usr/lib && \ diff --git a/security/clamav/patches/patch-ad b/security/clamav/patches/patch-ad new file mode 100644 index 00000000000..96b026b4b68 --- /dev/null +++ b/security/clamav/patches/patch-ad @@ -0,0 +1,15 @@ +$NetBSD: patch-ad,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +Fix compilation error DragonFly. + +--- docs/Makefile.in.orig 2010-05-14 14:16:49.000000000 +0300 ++++ docs/Makefile.in 2010-05-20 10:07:03.000000000 +0300 +@@ -273,6 +273,8 @@ + man_MANS = man/clamscan.1 man/freshclam.1 man/sigtool.1 man/clamd.8 man/clamd.conf.5 man/clamdscan.1 man/clamav-milter.8 man/clamav-milter.conf.5 man/freshclam.conf.5 man/clamconf.1 man/clamdtop.1 + all: all-am + ++@BUILD_CLAMD_TRUE@@HAVE_MILTER_TRUE@MILTER_MANS = man/clamav-milter.8 ++ + .SUFFIXES: + $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ diff --git a/security/clamav/patches/patch-af b/security/clamav/patches/patch-af new file mode 100644 index 00000000000..19620ec0cd1 --- /dev/null +++ b/security/clamav/patches/patch-af @@ -0,0 +1,24 @@ +$NetBSD: patch-af,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +Fix compilation error DragonFly. + +--- database/Makefile.in.orig 2010-05-07 22:02:57.000000000 +0300 ++++ database/Makefile.in 2010-05-20 10:07:22.000000000 +0300 +@@ -435,17 +435,6 @@ + $(mkinstalldirs) $(DESTDIR)$(DBINST);\ + test -f $(DESTDIR)$(DBINST)/main.cvd || test -f $(DESTDIR)$(DBINST)/main.cld || $(INSTALL_DATA) $(srcdir)/main.cvd $(DESTDIR)$(DBINST);\ + test -f $(DESTDIR)$(DBINST)/daily.cvd || test -f $(DESTDIR)$(DBINST)/daily.cld || $(INSTALL_DATA) $(srcdir)/daily.cvd $(DESTDIR)$(DBINST);\ +- if test `id|sed -e 's/^.[^(]*(\([^)]*\)).*/\1/'` = "root" && test -n "${CLAMAVUSER}" && test -n "${CLAMAVGROUP}"; then \ +- chmod 775 $(DESTDIR)$(DBINST); \ +- chown ${CLAMAVUSER} $(DESTDIR)$(DBINST); \ +- chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST); \ +- if test -f $(DESTDIR)$(DBINST)/main.cvd; then chmod 664 $(DESTDIR)$(DBINST)/main.cvd; fi;\ +- if test -f $(DESTDIR)$(DBINST)/main.cvd; then chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/main.cvd; fi;\ +- if test -f $(DESTDIR)$(DBINST)/main.cvd; then chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/main.cvd; fi;\ +- if test -f $(DESTDIR)$(DBINST)/daily.cvd; then chmod 664 $(DESTDIR)$(DBINST)/daily.cvd; fi;\ +- if test -f $(DESTDIR)$(DBINST)/daily.cvd; then chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/daily.cvd; fi;\ +- if test -f $(DESTDIR)$(DBINST)/daily.cvd; then chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/daily.cvd; fi;\ +- fi + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/security/clamav/patches/patch-ag b/security/clamav/patches/patch-ag new file mode 100644 index 00000000000..cc2811a89f8 --- /dev/null +++ b/security/clamav/patches/patch-ag @@ -0,0 +1,14 @@ +$NetBSD: patch-ag,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $ + +Fix compilation error DragonFly. + +--- libclamav/others.h.orig 2010-03-31 19:39:38.000000000 +0300 ++++ libclamav/others.h 2010-04-01 12:24:33.000000000 +0300 +@@ -33,6 +33,7 @@ + + #include <stdio.h> + #include <stdlib.h> ++#include <unistd.h> + #include "cltypes.h" + + #include "clamav.h" |