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