blob: 9dbdf06bee941c4145fd967767e85c6e610dead9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_MAKEFILE_GENERATOR="emake"
inherit cmake toolchain-funcs
MY_PN="openvas"
MY_DN="openvassd"
DESCRIPTION="Open Vulnerability Assessment Scanner"
HOMEPAGE="https://www.greenbone.net/en/ https://github.com/greenbone/openvas-scanner/"
SRC_URI="https://github.com/greenbone/openvas-scanner/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SLOT="0"
LICENSE="GPL-2 GPL-2+"
KEYWORDS="~amd64 ~x86"
IUSE="cron extras snmp test"
RESTRICT="!test? ( test )"
DEPEND="
acct-group/gvm
acct-user/gvm
app-crypt/gpgme:=
dev-db/redis
dev-libs/glib
dev-libs/libgcrypt:=
dev-libs/libksba
>=net-analyzer/gvm-libs-20.8.0
snmp? ( net-analyzer/net-snmp:= )
net-libs/gnutls:=
net-libs/libpcap
net-libs/libssh:="
RDEPEND="
${DEPEND}"
BDEPEND="
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
extras? (
app-doc/doxygen[dot]
app-doc/xmltoman
app-text/htmldoc
dev-perl/CGI
dev-perl/SQL-Translator
)
test? ( dev-libs/cgreen )"
PATCHES=(
"${FILESDIR}"/${PN}-7.0.1-disable-automagic-dep.patch
"${FILESDIR}"/${PN}-7.0.1-fix-linking-with-lld.patch
#qa fix for rpath
"${FILESDIR}"/${P}-rpath-qa-fix.patch
)
src_prepare() {
cmake_src_prepare
# QA-Fix | Correct FHS/Gentoo policy paths for 7.0.0
sed -i -e "s*/doc/openvas-scanner/*/doc/openvas-scanner-${PV}/*g" "${S}"/src/CMakeLists.txt || die
# QA-Fix | Remove !CLANG doxygen warnings for 7.0.0
if use extras; then
if ! tc-is-clang; then
local f
for f in doc/*.in
do
sed -i \
-e "s*CLANG_ASSISTED_PARSING = NO*#CLANG_ASSISTED_PARSING = NO*g" \
-e "s*CLANG_OPTIONS*#CLANG_OPTIONS*g" \
"${f}" || die "couldn't disable CLANG parsing"
done
fi
fi
#Remove tests that doesn't work in the network sandbox
if use test; then
sed -i 's/add_test (pcap-test pcap-test)/ /g' misc/CMakeLists.txt || die
fi
}
src_configure() {
local mycmakeargs=(
"-DLOCALSTATEDIR=${EPREFIX}/var"
"-DSYSCONFDIR=${EPREFIX}/etc"
"-DSBINDIR=${EPREFIX}/usr/bin"
"-DBUILD_WITH_SNMP=$(usex snmp)"
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
if use extras; then
cmake_build -C "${BUILD_DIR}" doc
cmake_build doc-full -C "${BUILD_DIR}" doc
fi
cmake_build rebuild_cache
if use test; then
cmake_build tests
fi
}
src_install() {
if use extras; then
local HTML_DOCS=( "${BUILD_DIR}"/doc/generated/html/. )
fi
cmake_src_install
if use cron; then
# Install the cron job if they want it.
exeinto /etc/gvm
newexe "${FILESDIR}/gvm-feed-sync-${PV}.sh" gvm-feed-sync.sh
fowners gvm:gvm /etc/gvm/gvm-feed-sync.sh
insinto /etc/cron.d
newins "${FILESDIR}"/gvm-feed-sync.cron gvm
fi
insinto /etc/logrotate.d
newins "${FILESDIR}/${MY_DN}.logrotate" "${MY_DN}"
# Set proper permissions on required files/directories
keepdir /var/log/gvm
fowners gvm:gvm /var/log/gvm
keepdir /var/lib/openvas/{gnupg,plugins}
fowners -R gvm:gvm /var/lib/openvas
insinto /etc/openvas
doins "${FILESDIR}/openvas.conf"
}
|