diff --git a/www/adguardhome/Makefile b/www/adguardhome/Makefile index aa0996e711ef..f9d31deee94f 100644 --- a/www/adguardhome/Makefile +++ b/www/adguardhome/Makefile @@ -1,55 +1,57 @@ PORTNAME= adguardhome DISTVERSIONPREFIX= v DISTVERSION= 0.107.21 +PORTREVISION= 1 CATEGORIES= www MAINTAINER= yuri@FreeBSD.org COMMENT= Network-wide ads & trackers blocking DNS server WWW= https://adguard.com/en/adguard-home/overview.html LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss USES= cpe go:1.18,modules GO_MODULE= github.com/AdguardTeam/AdGuardHome GO_BUILDFLAGS= -ldflags="-s -w -X github.com/AdguardTeam/AdGuardHome/internal/version.version=${DISTVERSION}" # workaround for https://github.com/AdguardTeam/AdGuardHome/issues/4774 # to rebuild the deps archives: # 1. set DEV_UPDATE_MODE=yes # 2. make makesum patch build # 3. upload the *-html-build* archives # 4. set DEV_UPDATE_MODE=no # 5. make clean makesum DEV_UPDATE_MODE= no USER= root # it has to run as root because it listens on the privileged DNS port -SUB_LIST= USER=${USER} +GROUP= wheel +SUB_LIST= USER=${USER} GROUP=${GROUP} USE_RC_SUBR= ${PORTNAME} CPE_VENDOR= adguard .if (${DEV_UPDATE_MODE} == "yes") BUILD_DEPENDS= npm:www/npm \ yarn:www/yarn do-build: @cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} js-deps js-build && \ ${TAR} czf ${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-html-build-${DISTVERSION}${EXTRACT_SUFX} build && \ ${TAR} czf ${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-html-build2-${DISTVERSION}${EXTRACT_SUFX} build2 && \ ${ECHO} "Please upload files ${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-html-build-${DISTVERSION}${EXTRACT_SUFX} and ${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-html-build2-${DISTVERSION}${EXTRACT_SUFX}" .else MASTER_SITES= LOCAL/yuri/:deps DISTFILES= ${PORTNAME}-html-build-${DISTVERSION}${EXTRACT_SUFX}:deps \ ${PORTNAME}-html-build2-${DISTVERSION}${EXTRACT_SUFX}:deps pre-build: @${CP} -r ${WRKDIR}/build ${WRKDIR}/build2 ${WRKSRC}/ .endif PLIST_FILES= bin/${PORTNAME} .include diff --git a/www/adguardhome/files/adguardhome.in b/www/adguardhome/files/adguardhome.in index 902745da6a35..6a9fd0fb6532 100644 --- a/www/adguardhome/files/adguardhome.in +++ b/www/adguardhome/files/adguardhome.in @@ -1,25 +1,39 @@ #!/bin/sh # PROVIDE: adguardhome # REQUIRE: DAEMON NETWORKING # KEYWORD: shutdown # Add the following lines to /etc/rc.conf to enable adguardhome: # adguardhome_enable : set to "YES" to enable the daemon, default is "NO" . /etc/rc.subr name=adguardhome rcvar=adguardhome_enable load_rc_config $name -adguardhome_enable=${adguardhome_enable:-"NO"} +: ${adguardhome_enable:=NO} +: ${adguardhome_config:=/usr/local/etc/AdGuardHome.yaml} +: ${adguardhome_user:=%%USER%%} +: ${adguardhome_group:=%%GROUP%%} +: ${adguardhome_work_dir:=/var/db/adguardhome} logfile="/var/log/${name}.log" procname=%%PREFIX%%/bin/adguardhome command="/usr/sbin/daemon" -command_args="-u %%USER%% -o ${logfile} -t ${name} %%PREFIX%%/bin/adguardhome" +command_args="-u ${adguardhome_user} -o ${logfile} -t ${name} %%PREFIX%%/bin/adguardhome -c ${adguardhome_config} -w ${adguardhome_work_dir}" + +start_precmd="${name}_prestart" + +adguardhome_prestart() +{ + if [ ! -d ${adguardhome_work_dir} ]; then + install -d -m 0750 -o ${adguardhome_user} -g ${adguardhome_group} \ + ${adguardhome_work_dir} + fi +} run_rc_command "$1"