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