PORTNAME=	vuls
DISTVERSIONPREFIX=v
DISTVERSION=	0.38.6
PORTREVISION=	1
CATEGORIES=	security

MAINTAINER=	girgen@FreeBSD.org
COMMENT=	Agentless vulnerability scanner
WWW=		https://vuls.io

LICENSE=	GPLv3+
LICENSE_FILE=	${WRKSRC}/LICENSE

ONLY_FOR_ARCHS=	aarch64 amd64
ONLY_FOR_ARCHS_REASON=	module modernc.org/sqlite only supported on aarch64 and amd64

USES=		go:1.26+,modules

GO_MODULE=	github.com/future-architect/vuls
GO_TARGET=	./cmd/${PORTNAME}
GO_BUILDFLAGS=	-ldflags "-X main.version=${PORTVERSION}"

USE_RC_SUBR=	${PORTNAME}

SUB_FILES=	pkg-message periodic-vuls
SUB_LIST=	PORTNAME=${PORTNAME} USERS=${USERS} GROUPS=${GROUPS}

USERS=		vuls
GROUPS=		vuls

MAKE_ENV=	GOEXPERIMENT=jsonv2

post-patch:
	@${REINPLACE_CMD} -e 's,%%ETCDIR%%,${ETCDIR},' \
		${WRKSRC}/subcmds/configtest.go \
		${WRKSRC}/subcmds/report_windows.go \
		${WRKSRC}/subcmds/report.go \
		${WRKSRC}/subcmds/saas.go \
		${WRKSRC}/subcmds/scan.go \
		${WRKSRC}/subcmds/server.go \
		${WRKSRC}/subcmds/tui.go

post-install:
	${MKDIR} ${STAGEDIR}${ETCDIR} \
		${STAGEDIR}/var/db/vuls/results \
		${STAGEDIR}/var/log/vuls \
		${STAGEDIR}${PREFIX}/etc/periodic/daily \
		${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d
	${INSTALL_DATA} ${FILESDIR}/newsyslog-${PORTNAME}.conf \
		${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/${PORTNAME}.conf.sample
	${INSTALL_DATA} ${FILESDIR}/config.toml \
		${STAGEDIR}${ETCDIR}/config.toml.sample
	${INSTALL_SCRIPT} ${WRKDIR}/periodic-${PORTNAME} \
		${STAGEDIR}${PREFIX}/etc/periodic/daily/${PORTNAME}

.include <bsd.port.mk>
