From c7b55e61ba33c3628f1abe5e104beb2c3f40de39 Mon Sep 17 00:00:00 2001 From: "Oleg A. Mamontov" Date: Wed, 6 Mar 2024 00:03:17 +0300 Subject: [PATCH] Create/delete directories using hooks This allows end-user to change permissions on log directory based on their preferences or security concerns and they won't be reset on upgrade. --- www/angie/Makefile | 12 ++++++++++-- www/angie/pkg-plist | 12 +++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/www/angie/Makefile b/www/angie/Makefile index 0935cefed343..fc4f8cdef03e 100644 --- a/www/angie/Makefile +++ b/www/angie/Makefile @@ -48,20 +48,27 @@ PKGDIR?= ${.CURDIR} # angie-specific variables CACHEDIR= /var/cache/angie +DBDIR= /var/db/angie LOGDIR= /var/log/angie MODDIR= ${PREFIX}/libexec/angie RUNDIR= /var/run WRKSRC_DEBUG= ${WRKSRC}-debug PLIST_SUB+= CACHEDIR=${CACHEDIR} \ + DBDIR=${DBDIR} \ LOGDIR=${LOGDIR} \ MODDIR=${MODDIR} \ - RUNDIR=${RUNDIR} + RUNDIR=${RUNDIR} \ + WWWGRP=${WWWGRP} \ + WWWOWN=${WWWOWN} SUB_LIST+= CACHEDIR=${CACHEDIR} \ + DBDIR=${DBDIR} \ + ETCDIR=${ETCDIR} \ LOGDIR=${LOGDIR} \ MODDIR=${MODDIR} \ RUNDIR=${RUNDIR} \ + WWWGRP=${WWWGRP} \ WWWOWN=${WWWOWN} SUB_FILES?= pkg-message @@ -114,6 +121,7 @@ CONFIGURE_ARGS= --prefix=${PREFIX}/etc/angie \ OPTIONS_DEFINE?= DEBUG OPTIONS_DEFAULT?= DEBUG DEBUG_DESC?= Include debug version +ETCDIR= ${PREFIX}/etc/angie .include @@ -144,10 +152,10 @@ post-build-DEBUG-on: .if ${PORTNAME} == angie do-install: ${MKDIR} ${STAGEDIR}${CACHEDIR} + ${MKDIR} ${STAGEDIR}${DBDIR} ${MKDIR} ${STAGEDIR}${DOCSDIR} ${MKDIR} ${STAGEDIR}${ETCDIR}/http.d ${MKDIR} ${STAGEDIR}${ETCDIR}/stream.d - ${MKDIR} ${STAGEDIR}${LOGDIR} ${MKDIR} ${STAGEDIR}${MODDIR} ${MKDIR} ${STAGEDIR}${WWWDIR}/html diff --git a/www/angie/pkg-plist b/www/angie/pkg-plist index 28b3b43178bd..2ecf4a3a36a2 100644 --- a/www/angie/pkg-plist +++ b/www/angie/pkg-plist @@ -1,7 +1,17 @@ +@preexec test -e %%LOGDIR%% || \ + install -d -m 755 -o root -g wheel %%LOGDIR%% +@preexec test -e %%DBDIR%%/state || \ + install -d -m 755 -o %%WWWOWN%% -g %%WWWGRP%% %%DBDIR%%/state + +@postunexec test -d %%DBDIR%%/state && \ + rmdir %%DBDIR%%/state 2>/dev/null || : +@postunexec test -d %%LOGDIR%% && \ + rmdir %%LOGDIR%% 2>/dev/null || : + @dir %%ETCDIR%%/http.d @dir %%ETCDIR%%/stream.d @dir %%CACHEDIR%% -@dir %%LOGDIR%% +@dir %%DBDIR%% @dir %%MODDIR%% %%ETCDIR%%/modules -- 2.39.3 (Apple Git-145)