Index | Thread | Search

From:
Sebastien Marie <semarie@kapouay.eu.org>
Subject:
patch: xenocara/fonts/alias: avoid chown dance around fc-cache invocation
To:
tech@openbsd.org
Cc:
Matthieu Herrb <matthieu@herrb.eu>
Date:
Sat, 16 May 2026 20:39:44 +0200

Download raw body.

Thread
(sorry Matthieu, resending due to typo in tech@ address)

Hi,

The following diff avoid doing:
 - chown ${BUILDUSER}
 - run fc-cache
 - chown -R _fc-cache

to only do:
 - run fc-cache as _fc-cache

(I kept initial chown _fc-cache to let's the directory be writable by
the user.)

While here, collapse the if-else branches to just what is specific to
no-empty DESTDIR.

Comments or OK ?
-- 
Sebastien Marie


diff --git a/font/alias/Makefile.bsd-wrapper b/font/alias/Makefile.bsd-wrapper
index 17bed3d689..e181e58903 100644
--- a/font/alias/Makefile.bsd-wrapper
+++ b/font/alias/Makefile.bsd-wrapper
@@ -12,27 +12,16 @@
 	chown ${BINOWN}:${BINGRP} ${DESTDIR}/usr/X11R6/lib/X11/fonts/${fdir}/fonts.scale
 	chmod 644 ${DESTDIR}/usr/X11R6/lib/X11/fonts/${fdir}/fonts.scale
 .endfor
-	if test -z "$(DESTDIR)"; then \
-		chown ${BUILDUSER}:${WOBJGROUP} \
-		   ${DESTDIR}/var/cache/fontconfig; \
-		echo "fc-cache -s -v ${DESTDIR}/usr/X11R6/lib/X11/fonts";\
-		su ${BUILDUSER} -c \
-		   "fc-cache -s -v ${DESTDIR}/usr/X11R6/lib/X11/fonts" ;\
-		chown -R _fc-cache:_fc-cache \
-		   ${DESTDIR}/var/cache/fontconfig; \
-		chmod 644 ${DESTDIR}/var/cache/fontconfig/*; \
-	else \
+	if test -n "$(DESTDIR)"; then \
 		echo "truncating font directories mtimes"; \
 		find "${DESTDIR}/usr/X11R6/lib/X11/fonts" -type d \
 		   -exec perl -e 'utime+(stat)[8,9],$$_ for @ARGV' {} + ;  \
-		chown ${BUILDUSER}:${WOBJGROUP} \
-		   ${DESTDIR}/var/cache/fontconfig; \
-		echo "fc-cache -y ${DESTDIR} -s -v /usr/X11R6/lib/X11/fonts";\
-		su ${BUILDUSER} -c \
-		   "fc-cache -y ${DESTDIR} -s -v /usr/X11R6/lib/X11/fonts" ;\
-		chown -R _fc-cache:_fc-cache \
-		   ${DESTDIR}/var/cache/fontconfig/; \
-		chmod 644 ${DESTDIR}/var/cache/fontconfig/*; \
-	fi
+	fi ; \
+	chown _fc-cache:_fc-cache \
+	   ${DESTDIR}/var/cache/fontconfig/; \
+	echo "fc-cache -y ${DESTDIR} -s -v /usr/X11R6/lib/X11/fonts";\
+	su -s /bin/ksh _fc-cache -c \
+	   "fc-cache -y ${DESTDIR} -s -v /usr/X11R6/lib/X11/fonts" ;\
+	chmod 644 ${DESTDIR}/var/cache/fontconfig/*
 
 .include <bsd.xorg.mk>