diff options
Diffstat (limited to 'recipes-scanners/clamav/clamav_0.102.2.bb')
-rw-r--r-- | recipes-scanners/clamav/clamav_0.102.2.bb | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/recipes-scanners/clamav/clamav_0.102.2.bb b/recipes-scanners/clamav/clamav_0.102.2.bb new file mode 100644 index 0000000..a3f3fe6 --- /dev/null +++ b/recipes-scanners/clamav/clamav_0.102.2.bb | |||
@@ -0,0 +1,153 @@ | |||
1 | SUMMARY = "ClamAV anti-virus utility for Unix - command-line interface" | ||
2 | DESCRIPTION = "ClamAV is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats." | ||
3 | HOMEPAGE = "http://www.clamav.net/index.html" | ||
4 | SECTION = "security" | ||
5 | LICENSE = "LGPL-2.1" | ||
6 | |||
7 | DEPENDS = "db openssl libmspack zlib curl bison" | ||
8 | |||
9 | LIC_FILES_CHKSUM = "file://COPYING.LGPL;beginline=2;endline=3;md5=4b89c05acc71195e9a06edfa2fa7d092" | ||
10 | |||
11 | SRCREV = "e2a404340e1f0ad0d26431138fbe1dada49507d4" | ||
12 | |||
13 | SRC_URI = "git://github.com/vrtadmin/clamav-devel;branch=rel/0.102 \ | ||
14 | file://clamd.conf \ | ||
15 | file://freshclam.conf \ | ||
16 | file://volatiles.03_clamav \ | ||
17 | file://tmpfiles.clamav \ | ||
18 | file://${BPN}.service \ | ||
19 | file://fix_libcurl_check.patch \ | ||
20 | file://fix_pcre_check.patch \ | ||
21 | file://libclamav_fix.patch \ | ||
22 | file://libcamav_fix.patch \ | ||
23 | " | ||
24 | |||
25 | S = "${WORKDIR}/git" | ||
26 | |||
27 | LEAD_SONAME = "libclamav.so" | ||
28 | SO_VER = "9.0.2" | ||
29 | BINCONFIG = "${bindir}/clamav-config" | ||
30 | |||
31 | inherit autotools pkgconfig useradd systemd | ||
32 | |||
33 | CLAMAV_UID ?= "clamav" | ||
34 | CLAMAV_GID ?= "clamav" | ||
35 | |||
36 | CLAMAV_USR_DIR = "${STAGING_DIR_HOST}/usr" | ||
37 | |||
38 | PACKAGECONFIG ?= "ncurses bz2 pcre2" | ||
39 | PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}" | ||
40 | PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" | ||
41 | |||
42 | PACKAGECONFIG[pcre2] = "--with-pcre=${STAGING_LIBDIR}, --without-pcre, libpcre2" | ||
43 | PACKAGECONFIG[json] = "--with-libjson=${STAGING_LIBDIR}, --without-libjson, json-c," | ||
44 | PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6" | ||
45 | PACKAGECONFIG[bz2] = "--with-libbz2-prefix=${CLAMAV_USR_DIR}, --disable-bzip2, bzip2" | ||
46 | PACKAGECONFIG[ncurses] = "--with-libncurses-prefix=${CLAMAV_USR_DIR}, --without-libncurses-prefix, ncurses, " | ||
47 | PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, --without-systemdsystemunitdir, " | ||
48 | |||
49 | EXTRA_OECONF = " \ | ||
50 | --with-user=${CLAMAV_UID} --with-group=${CLAMAV_GID} \ | ||
51 | --without-libcheck-prefix --disable-unrar \ | ||
52 | --disable-mempool --program-prefix="" \ | ||
53 | --disable-zlib-vcheck \ | ||
54 | --with-zlib=${CLAMAV_USR_DIR} \ | ||
55 | --with-openssl=${CLAMAV_USR_DIR} \ | ||
56 | --with-libcurl=${CLAMAV_USR_DIR} \ | ||
57 | --with-system-libmspack=${CLAMAV_USR_DIR} \ | ||
58 | --with-iconv=no --enable-check=no \ | ||
59 | --disable-clamdtop --disable-clamonacc \ | ||
60 | " | ||
61 | |||
62 | do_configure () { | ||
63 | ${S}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} | ||
64 | } | ||
65 | |||
66 | do_install_append () { | ||
67 | install -d ${D}/${sysconfdir} | ||
68 | install -d ${D}/${localstatedir}/lib/clamav | ||
69 | install -d ${D}${sysconfdir}/clamav ${D}${sysconfdir}/default/volatiles | ||
70 | |||
71 | install -m 644 ${WORKDIR}/clamd.conf ${D}/${sysconfdir} | ||
72 | install -m 644 ${WORKDIR}/freshclam.conf ${D}/${sysconfdir} | ||
73 | install -m 0644 ${WORKDIR}/volatiles.03_clamav ${D}${sysconfdir}/default/volatiles/volatiles.03_clamav | ||
74 | sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/libclamav.pc | ||
75 | rm ${D}/${libdir}/libclamav.so | ||
76 | rm ${D}/${libdir}/libfreshclam.so | ||
77 | |||
78 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then | ||
79 | install -D -m 0644 ${WORKDIR}/clamav.service ${D}${systemd_unitdir}/system/clamav.service | ||
80 | install -d ${D}${sysconfdir}/tmpfiles.d | ||
81 | install -m 0644 ${WORKDIR}/tmpfiles.clamav ${D}${sysconfdir}/tmpfiles.d/clamav.conf | ||
82 | fi | ||
83 | } | ||
84 | |||
85 | pkg_postinst_ontarget_${PN} () { | ||
86 | if command -v systemd-tmpfiles >/dev/null; then | ||
87 | systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/clamav.conf | ||
88 | elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then | ||
89 | ${sysconfdir}/init.d/populate-volatile.sh update | ||
90 | fi | ||
91 | mkdir -p ${localstatedir}/lib/clamav | ||
92 | chown -R ${CLAMAV_UID}:${CLAMAV_GID} ${localstatedir}/lib/clamav | ||
93 | } | ||
94 | |||
95 | |||
96 | PACKAGES = "${PN} ${PN}-dev ${PN}-dbg ${PN}-daemon ${PN}-doc ${PN}-cvd \ | ||
97 | ${PN}-clamdscan ${PN}-freshclam ${PN}-libclamav ${PN}-staticdev" | ||
98 | |||
99 | FILES_${PN} = "${bindir}/clambc ${bindir}/clamscan ${bindir}/clamsubmit ${bindir}/clamonacc \ | ||
100 | ${bindir}/*sigtool ${mandir}/man1/clambc* ${mandir}/man1/clamscan* \ | ||
101 | ${mandir}/man1/sigtool* ${mandir}/man1/clambsubmit* \ | ||
102 | ${docdir}/clamav/* " | ||
103 | |||
104 | FILES_${PN}-clamdscan = " ${bindir}/clamdscan \ | ||
105 | ${docdir}/clamdscan/* \ | ||
106 | ${mandir}/man1/clamdscan* \ | ||
107 | " | ||
108 | |||
109 | FILES_${PN}-daemon = "${bindir}/clamconf ${bindir}/clamdtop ${sbindir}/clamd \ | ||
110 | ${mandir}/man1/clamconf* ${mandir}/man1/clamdtop* \ | ||
111 | ${mandir}/man5/clamd* ${mandir}/man8/clamd* \ | ||
112 | ${sysconfdir}/clamd.conf* \ | ||
113 | ${systemd_unitdir}/system/clamav-daemon/* \ | ||
114 | ${docdir}/clamav-daemon/* ${sysconfdir}/clamav-daemon \ | ||
115 | ${sysconfdir}/logcheck/ignore.d.server/clamav-daemon " | ||
116 | |||
117 | FILES_${PN}-freshclam = "${bindir}/freshclam \ | ||
118 | ${sysconfdir}/freshclam.conf* \ | ||
119 | ${sysconfdir}/clamav ${sysconfdir}/default/volatiles \ | ||
120 | ${sysconfdir}/tmpfiles.d/*.conf \ | ||
121 | ${localstatedir}/lib/clamav \ | ||
122 | ${docdir}/${PN}-freshclam ${mandir}/man1/freshclam.* \ | ||
123 | ${mandir}/man5/freshclam.conf.* \ | ||
124 | ${systemd_unitdir}/system/clamav-freshclam.service" | ||
125 | |||
126 | FILES_${PN}-dev = " ${bindir}/clamav-config ${libdir}/*.la \ | ||
127 | ${libdir}/pkgconfig/*.pc \ | ||
128 | ${mandir}/man1/clamav-config.* \ | ||
129 | ${includedir}/*.h ${docdir}/libclamav* " | ||
130 | |||
131 | FILES_${PN}-staticdev = "${libdir}/*.a" | ||
132 | |||
133 | FILES_${PN}-libclamav = "${libdir}/libclamav.so* ${libdir}/libclammspack.so* \ | ||
134 | ${libdir}/libfreshclam.so* ${docdir}/libclamav/* " | ||
135 | |||
136 | FILES_${PN}-doc = "${mandir}/man/* \ | ||
137 | ${datadir}/man/* \ | ||
138 | ${docdir}/* " | ||
139 | |||
140 | FILES_${PN}-cvd = "${localstatedir}/lib/clamav/*.cvd ${localstatedir}/lib/clamav/*.dat" | ||
141 | |||
142 | USERADD_PACKAGES = "${PN}" | ||
143 | GROUPADD_PARAM_${PN} = "--system ${CLAMAV_UID}" | ||
144 | USERADD_PARAM_${PN} = "--system -g ${CLAMAV_GID} --home-dir \ | ||
145 | ${localstatedir}/spool/${BPN} \ | ||
146 | --no-create-home --shell /bin/false ${BPN}" | ||
147 | |||
148 | RPROVIDES_${PN} += "${PN}-systemd" | ||
149 | RREPLACES_${PN} += "${PN}-systemd" | ||
150 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
151 | SYSTEMD_SERVICE_${PN} = "${BPN}.service" | ||
152 | |||
153 | RDEPENDS_${PN} = "openssl ncurses-libncurses libxml2 libbz2 ncurses-libtinfo curl libpcre2 clamav-freshclam clamav-libclamav" | ||