]> Pileus Git - ~andy/sunrise/blob - app-antivirus/drweb/drweb-4.33-r1.ebuild
2af68e4f3db2df936bef55a456454423539512b4
[~andy/sunrise] / app-antivirus / drweb / drweb-4.33-r1.ebuild
1 # Copyright 1999-2007 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
4
5 inherit eutils
6
7 DESCRIPTION="DrWeb virus scaner for Linux"
8 HOMEPAGE="http://www.drweb.com/"
9 SRC_URI="glibc23? ( http://download.drweb.com/files/unix/Linux/Generic/${P}-glibc2.3.tar.gz )
10         !glibc23? ( http://download.drweb.com/files/unix/Linux/Generic/${P}-glibc2.4.tar.gz )
11         doc? ( linguas_ru? ( ftp://ftp.drweb.com/pub/drweb/unix/doc/${PN}-${PV/./}-unix-ru-pdf.zip ) )
12         doc? ( ftp://ftp.drweb.com/pub/drweb/unix/doc/${PN}-${PV/./}-unix-en-pdf.zip )"
13 RESTRICT="mirror strip"
14
15 SLOT="0"
16 LICENSE="DRWEB"
17 KEYWORDS="~x86"
18 IUSE="doc glibc23 linguas_ru logrotate"
19
20 DEPEND="app-arch/unzip"
21 RDEPEND="${DEPEND}
22         dev-perl/libwww-perl
23         virtual/cron
24         logrotate? ( app-admin/logrotate )
25         glibc23? ( =sys-libs/glibc-2.3* )
26         !glibc23? ( =sys-libs/glibc-2.4* )
27         !>=sys-libs/glibc-2.5"
28
29 PROVIDE="virtual/antivirus"
30 use glibc23 && S="${WORKDIR}/${P}-glibc2.3"
31 use glibc23 || S="${WORKDIR}/${P}-glibc2.4"
32
33 src_unpack() {
34         unpack ${A}
35         cd "${S}"
36         epatch "${FILESDIR}/${P}-gentoo.patch"
37 }
38
39 pkg_setup() {
40         enewgroup drweb
41         enewuser drweb -1 -1 /var/drweb drweb
42 }
43
44 src_compile() {
45         einfo "Nothing to compile, installing DrWeb..."
46 }
47
48 src_install() {
49         cp -pPR "${S}"/opt/ "${D}"/opt
50         cp -pPR "${S}"/var/ "${D}"/var
51         cp -pPR "${S}"/etc/ "${D}"/etc
52
53         # Create log dir in proper location
54         rm -rf "${D}"/var/drweb/log/
55         rm -rf "${D}"/var/drweb/spool/
56         dodir /var/log/drweb
57         dodir /var/spool/drweb
58
59         # Set up permissions
60         fowners drweb:drweb /opt/drweb/lib
61         fowners drweb:drweb /var/drweb/{bases,infected,run,updates}
62         fowners drweb:drweb /etc/drweb/email.ini
63         fowners drweb:drweb /var/log/drweb
64         fowners drweb:drweb /var/spool/drweb
65         fperms 0640 /etc/drweb/email.ini
66         fperms 0750 /var/drweb/infected
67         fperms 0700 /var/drweb/run
68         fperms 0700 /var/drweb/updates
69         fperms 0770 /var/spool/drweb
70         chown -R drweb:drweb "${D}"/var/drweb/bases
71         chown -R drweb:drweb "${D}"/opt/drweb/lib
72
73         if use logrotate ; then
74                 insinto /etc/logrotate.d
75                 newins "${D}"/etc/drweb/drweb-log drweb
76         fi
77         rm -f "${D}"/etc/drweb/drweb-log
78
79         newinitd "${D}"/etc/init.d/drwebd drweb
80         rm -f "${D}"/etc/init.d/drwebd
81
82         local docdir="${D}/opt/drweb/doc"
83         for doc in "${docdir}"/{ChangeLog,FAQ,readme.{eicar,license}} \
84         "${docdir}"/{daemon/readme.daemon,scanner/readme.scanner,update/readme.update}
85         do
86                 dodoc ${doc} && rm -f ${doc}
87                 if use linguas_ru; then
88                         dodoc ${doc}.rus && rm -f ${doc}.rus
89                 fi
90         done
91         dodoc "${D}"/opt/drweb/getkey.HOWTO
92         use linguas_ru && dodoc "${D}"/opt/drweb/getkey.rus.HOWTO
93
94         rm -rf "${docdir}" && rm -f "${D}"/opt/drweb/getkey.*
95
96         use doc && dodoc "${WORKDIR}/drwunxen.pdf"
97         use doc && use linguas_ru && dodoc "${WORKDIR}/drwunxru.pdf"
98 }
99
100 pkg_postinst() {
101         elog
102         elog " Create a cron entry for DrWeb auto updates in a similar manner:"
103         elog
104         elog " crontab -u drweb -e"
105         elog
106         elog " and add the following line (change the frequency of update if required):"
107         elog
108         elog " * */4 * * *     if [ -x /opt/drweb/update/update.pl ]; then /opt/drweb/update/update.pl; fi"
109         elog
110
111         elog
112         elog "To configure DrWeb, edit /etc/drweb/drweb32.ini as needed."
113         elog
114
115         if use logrotate ; then
116                 elog "DrWeb logrotate script has been provided."
117                 elog "Edit /etc/logrotate.d/drweb as needed."
118         fi
119
120         ewarn
121         ewarn "IMPORTANT!!!"
122         ewarn
123         ewarn "If you don't have a license for DrWeb, go to http://download.drweb.com/demo/ "
124         ewarn "to obtain a demo licence."
125         ewarn
126         ewarn "Additional information can be obtained from /usr/share/doc/${PF}/readme.license"
127 }