diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2023-01-22 17:39:50 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2023-01-22 17:42:32 +0000 |
commit | 940d212ecd7c7226713724aebd6df76483100c3b (patch) | |
tree | 5ca1432c8a473297c9bbd416569a1e11a07ec33f | |
parent | de2abd895141340360e8a2b78c62f0c93966c40c (diff) | |
download | ports-940d212ecd7c7226713724aebd6df76483100c3b.tar.gz ports-940d212ecd7c7226713724aebd6df76483100c3b.zip |
www/adguardhome: Move config and data files to a new location
... when these files are present at old locations.
PR: 269083
Reported by: Jony Hudson <bsd@j-star.org>
-rw-r--r-- | UPDATING | 12 | ||||
-rw-r--r-- | www/adguardhome/Makefile | 2 | ||||
-rw-r--r-- | www/adguardhome/files/adguardhome.in | 32 |
3 files changed, 44 insertions, 2 deletions
@@ -20884,3 +20884,15 @@ or The default installation is now configured for running bitlbee as user 'nobody' by default. Make sure any existing configuration files are readable by that user. + +20080122: + AFFECTS: users of www/adguardhome + AUTHOR: yuri@FreeBSD.org + + www/adguardhome now stores configuratio and database information in + $PREFIX/etc/AdGuardHome.yaml and /var/db/adguardhome/data + respectively. 'service adguardhome start' attempts to move config + and data files to the new location but it required manual move when + both old and new files are present. + 'service adguardhome start' prints a warning with relevant + location information. diff --git a/www/adguardhome/Makefile b/www/adguardhome/Makefile index c3f3023f16ad..bb7d8fe62725 100644 --- a/www/adguardhome/Makefile +++ b/www/adguardhome/Makefile @@ -1,7 +1,7 @@ PORTNAME= adguardhome DISTVERSIONPREFIX= v DISTVERSION= 0.107.21 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= www MAINTAINER= yuri@FreeBSD.org diff --git a/www/adguardhome/files/adguardhome.in b/www/adguardhome/files/adguardhome.in index 6a9fd0fb6532..474e2c8a83fa 100644 --- a/www/adguardhome/files/adguardhome.in +++ b/www/adguardhome/files/adguardhome.in @@ -15,10 +15,15 @@ rcvar=adguardhome_enable load_rc_config $name : ${adguardhome_enable:=NO} -: ${adguardhome_config:=/usr/local/etc/AdGuardHome.yaml} +: ${adguardhome_config:=%%PREFIX%%/etc/AdGuardHome.yaml} : ${adguardhome_user:=%%USER%%} : ${adguardhome_group:=%%GROUP%%} : ${adguardhome_work_dir:=/var/db/adguardhome} +: ${adguardhome_work_dir_data:=/var/db/adguardhome/data} + +# old values +: ${adguardhome_config_old:=%%PREFIX%%/bin/AdGuardHome.yaml} +: ${adguardhome_work_dir_data_old:=%%PREFIX%%/bin/data} logfile="/var/log/${name}.log" @@ -30,6 +35,31 @@ start_precmd="${name}_prestart" adguardhome_prestart() { + # check if the old config exists + if [ -f ${adguardhome_config_old} ] || [ -d ${adguardhome_work_dir_data_old} ]; then + if ! [ -f ${adguardhome_config} ] && ! [ -d ${adguardhome_work_dir_data} ]; then # old config exists, new config doesn't exist + # move old config to new locations + if [ -f ${adguardhome_config_old} ]; then + echo "moving old config ${adguardhome_config_old} to the new location ${adguardhome_config}" + mv ${adguardhome_config_old} ${adguardhome_config} + fi + if [ -d ${adguardhome_work_dir_data_old} ]; then + install -d -m 0750 -o ${adguardhome_user} -g ${adguardhome_group} \ + ${adguardhome_work_dir} + echo "moving old config ${adguardhome_work_dir_data_old} to the new location ${adguardhome_work_dir_data}" + mv ${adguardhome_work_dir_data_old} ${adguardhome_work_dir_data} + fi + else # both old and new config exist + echo "(!!!) WARNING ==================================================================" + echo "(!!!) WARNING Both old and new configs exist" + echo "(!!!) WARNING Please choose which configs do you need and remove the old configs" + echo "(!!!) WARNING OLD config locations: ${adguardhome_config_old} ${adguardhome_work_dir_data_old}" + echo "(!!!) WARNING NEW config locations: ${adguardhome_config} ${adguardhome_work_dir_data}" + echo "(!!!) WARNING ==================================================================" + fi + fi + + # install dir if [ ! -d ${adguardhome_work_dir} ]; then install -d -m 0750 -o ${adguardhome_user} -g ${adguardhome_group} \ ${adguardhome_work_dir} |