summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2013-12-27 20:06:46 +0000
committerMichael Orlitzky <mjo@gentoo.org>2013-12-27 20:06:46 +0000
commit0b03a4ad62dbd3652aba28069e44f32986280854 (patch)
tree197a5886ce69c355ff7144fcefa0828bdb921697 /app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild
parentamd64 stable, bug 495960. (diff)
downloadgentoo-2-0b03a4ad62dbd3652aba28069e44f32986280854.tar.gz
gentoo-2-0b03a4ad62dbd3652aba28069e44f32986280854.tar.bz2
gentoo-2-0b03a4ad62dbd3652aba28069e44f32986280854.zip
New package: app-antivirus/clamav-unofficial-sigs, to download and install third-party clamav signatures. Fixes bug #272872.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0x6F48D3DA05C2DADB!)
Diffstat (limited to 'app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild')
-rw-r--r--app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild90
1 files changed, 90 insertions, 0 deletions
diff --git a/app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild b/app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild
new file mode 100644
index 000000000000..f645a806b6ae
--- /dev/null
+++ b/app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav-unofficial-sigs/clamav-unofficial-sigs-3.7.2.ebuild,v 1.1 2013/12/27 20:06:46 mjo Exp $
+
+EAPI=5
+
+DESCRIPTION="Downloads and installs third-party clamav signatures"
+HOMEPAGE="http://sourceforge.net/projects/unofficial-sigs"
+SRC_URI="mirror://sourceforge/unofficial-sigs/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+# We need its user/group.
+DEPEND="app-antivirus/clamav"
+
+# The script relies on either net-misc/socat, or Perl's
+# IO::Socket::UNIX. We already depend on Perl, and Gentoo's Perl ships
+# with IO::Socket::UNIX, so we can leave out net-misc/socat here.
+RDEPEND="${DEPEND}
+ app-crypt/gnupg
+ dev-lang/perl
+ net-dns/bind-tools
+ net-misc/curl"
+
+src_prepare() {
+ # First, fix the paths contained in the configuration file. Eventually
+ # these should be moved under /run, but for now we keep them sync'ed
+ # with the default clamd.conf.
+ local pid_default="/var/run/clamd.pid"
+ local pid_gentoo="/var/run/clamav/clamd.pid"
+
+ # clamd listens on a local socket by default. The clamd_socket
+ # setting needs to be uncommented in the configuration file for it
+ # to take effect.
+ local socket_default="#clamd_socket=\"/var/run/clamd.socket\""
+ local socket_gentoo="clamd_socket=\"/var/run/clamav/clamd.sock\""
+
+ sed -i -e '$a\pkg_mgr="emerge"' \
+ -e "\$a\\pkg_rm=\"emerge -C ${PN}\"" \
+ -e "s~${socket_default}~${socket_gentoo}~" \
+ -e "s~${pid_default}~${pid_gentoo}~" \
+ "${PN}.conf" \
+ || die "failed to update paths in the ${PN}.conf file"
+
+ # Now, change the script's working directory to point to
+ # /var/lib/${PN}. We'll need to make this writable by the clamav
+ # user during src_install.
+ sed -i -e "s~/usr/unofficial-dbs~/var/lib/${PN}~" "${PN}.conf" \
+ || die "failed to update the work_dir variable in ${PN}.conf"
+
+ # Tell the script that it's been configured.
+ local cfged_default='user_configuration_complete="no"'
+ local cfged_gentoo='user_configuration_complete="yes"'
+ sed -i "s/${cfged_default}/${cfged_gentoo}/" "${PN}.conf" \
+ || die "failed to set user configuration completed in ${PN}.conf"
+}
+
+src_install() {
+ dosbin "${PN}.sh"
+
+ # We set the script's working directory to /var/lib/${PN} in
+ # src_compile, so make sure that the permissions are set correctly
+ # here. By default, it runs as clamav/clamav.
+ diropts -m 0755 -o clamav -g clamav
+ dodir "/var/lib/${PN}"
+
+ insinto /etc/logrotate.d
+ doins "${PN}-logrotate"
+
+ insinto /etc
+ doins "${PN}.conf"
+
+ doman "${PN}.8"
+ dodoc CHANGELOG INSTALL README
+}
+
+pkg_postinst() {
+ elog ''
+ elog "You will need to select databases in /etc/${PN}.conf."
+ elog "For details, please see the ${PN}(8) manual page."
+ elog ''
+ elog 'An up-to-date description of the available Sanesecurity'
+ elog 'databases is available at,'
+ elog ''
+ elog ' http://sanesecurity.com/usage/signatures/'
+ elog ''
+}