diff options
-rw-r--r-- | net-analyzer/gvmd/Manifest | 1 | ||||
-rw-r--r-- | net-analyzer/gvmd/gvmd-23.4.0.ebuild | 128 |
2 files changed, 129 insertions, 0 deletions
diff --git a/net-analyzer/gvmd/Manifest b/net-analyzer/gvmd/Manifest index 7a42f0db917e..1c4a3025be84 100644 --- a/net-analyzer/gvmd/Manifest +++ b/net-analyzer/gvmd/Manifest @@ -1 +1,2 @@ DIST gvmd-23.1.0.tar.gz 1050719 BLAKE2B 9ff3e679ac4c4ff0e4a5eb1ee9ed4c9d243a96b5c4d63934576ec86d70f15f6ff6dee839e29c0de50af3a829e141fa416ac993935f0a683ca135f68f17e1489a SHA512 77d08067a168065bb3b4fd10ba94c48a3207378c9b8c0be42a9570c390c92b985ebf94c53cbbe04f78c2a802de430d599593e1971bc7b93d3f0652bfe59022a4 +DIST gvmd-23.4.0.tar.gz 1064194 BLAKE2B a74ed75c69f3f793058133ec6aca93ddba34efc51267b20333916d7291484f1b1eefa5527f3bb34137584a290e4d7d150d799f9f9b0f1473dfa8c3b4d83f9cfb SHA512 0c5b0d933444d25253e234f387e9063ebbeb379d330cab9ca4eaaddc0effe6fbda312b8de51b5f9784141d149f83b6f0069d7e1f72674857b8d041ab9bff6dfd diff --git a/net-analyzer/gvmd/gvmd-23.4.0.ebuild b/net-analyzer/gvmd/gvmd-23.4.0.ebuild new file mode 100644 index 000000000000..f9f321120a6e --- /dev/null +++ b/net-analyzer/gvmd/gvmd-23.4.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd toolchain-funcs + +DESCRIPTION="Greenbone vulnerability manager, previously named openvas-manager" +HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/gvmd/" +SRC_URI="https://github.com/greenbone/gvmd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +SLOT="0" +LICENSE="AGPL-3+" +KEYWORDS="~amd64 ~x86" +IUSE="doc test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gvm + app-crypt/gpgme:1= + dev-libs/libbsd + >=dev-db/postgresql-9.6:=[uuid] + >=dev-libs/glib-2.42:2 + >=dev-libs/libical-1.0.0:= + >=net-analyzer/gvm-libs-22.8 + >=net-libs/gnutls-3.2.15:=[tools] +" + +# gvmd (optionally) uses xml_split from XML-Twig at runtime. And texlive +# and xmlstartlet are used for (PDF) report generator at runtime. +RDEPEND=" + ${DEPEND} + app-text/xmlstarlet + dev-perl/XML-Twig + dev-texlive/texlive-latexextra + >=net-analyzer/ospd-openvas-22.4 + >=dev-db/pg-gvm-22.4 +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + app-text/xmltoman + app-text/htmldoc + dev-libs/libxslt + ) + test? ( dev-libs/cgreen ) +" + +src_prepare() { + cmake_src_prepare + # QA-Fix | Use correct FHS/Gentoo policy paths for 9.0.0 + sed -i -e "s*share/doc/gvm/html/*share/doc/${PF}/html/*g" doc/CMakeLists.txt || die + sed -i -e "s*/doc/gvm/*/doc/${PF}/*g" CMakeLists.txt || die + # QA-Fix | Remove !CLANG Doxygen warnings for 9.0.0 + if use doc; 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 +} + +src_configure() { + local mycmakeargs=( + "-DLOCALSTATEDIR=${EPREFIX}/var" + "-DSYSCONFDIR=${EPREFIX}/etc" + "-DLIBDIR=${EPREFIX}/usr/$(get_libdir)" + "-DSBINDIR=${EPREFIX}/usr/bin" + "-DSYSTEMD_SERVICE_DIR=$(systemd_get_systemunitdir)" + "-DGVM_DEFAULT_DROP_USER=gvm" + ) + cmake_src_configure +} + +src_compile() { + cmake_src_compile + if use doc; then + cmake_build -C "${BUILD_DIR}" doc + cmake_build doc-full -C "${BUILD_DIR}" doc + fi + if use test; then + cmake_build tests + fi + cmake_build rebuild_cache +} + +src_install() { + if use doc; then + local HTML_DOCS=( "${BUILD_DIR}"/doc/generated/html/. ) + fi + cmake_src_install + + insinto /etc/gvm/sysconfig + newins "${FILESDIR}/${PN}-daemon-22.conf" "${PN}-daemon.conf" + if ! use prefix; then + fowners -R gvm:gvm /etc/gvm + fi + + newinitd "${FILESDIR}/${PN}-22.init" "${PN}" + newconfd "${FILESDIR}/${PN}-daemon-22.conf" "${PN}" + + # Set proper permissions on required files/directories + keepdir /var/lib/gvm/gvmd + if ! use prefix; then + fowners -R gvm:gvm /var/lib/gvm + fi + + systemd_install_serviced "${FILESDIR}/gvmd.service.conf" \ + ${PN}.service +} + +pkg_postinst() { + elog "If you are upgrading from a previous version, you need to update the database version." + elog "Please, create the running directory and give write permission to the database user" + elog "then run gvmd as the gvm user with --migrate option:" + elog "~# mkdir /run/gvmd" + elog "~# setfacl -m u:gvm:rwx /run/gvmd/" + elog "~# sudo -u gvm gvmd --migrate" +} |