Enable builds with a dedicated user for xenocara as well.

"push forward" deraadt; no objections matthieu; testing, input & ok rpe
This commit is contained in:
tb 2016-11-19 14:22:05 +00:00
parent 07352edf5d
commit 01003b6707
2 changed files with 22 additions and 13 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.76 2016/11/19 08:56:27 tb Exp $ # $OpenBSD: Makefile,v 1.77 2016/11/19 14:22:05 tb Exp $
.include <bsd.own.mk> .include <bsd.own.mk>
.include <bsd.xconf.mk> .include <bsd.xconf.mk>
@ -23,7 +23,10 @@ build:
@echo "Cannot run ${MAKE} build with DESTDIR set" @echo "Cannot run ${MAKE} build with DESTDIR set"
@exit 2 @exit 2
.else .else
build: build:
umask ${WOBJUMASK}; exec ${MAKE} do-build
do-build:
@if [[ `id -u` -ne 0 ]]; then \ @if [[ `id -u` -ne 0 ]]; then \
echo $@ must be called by root >&2; \ echo $@ must be called by root >&2; \
false; \ false; \

View File

@ -1,4 +1,4 @@
# $OpenBSD: bsd.xorg.mk,v 1.56 2016/10/14 10:14:00 natano Exp $ -*- makefile -*- # $OpenBSD: bsd.xorg.mk,v 1.57 2016/11/19 14:22:05 tb Exp $ -*- makefile -*-
# #
# Copyright © 2006,2012 Matthieu Herrb # Copyright © 2006,2012 Matthieu Herrb
# #
@ -226,18 +226,23 @@ _SUBDIRUSE:
_xenocara_obj! _SUBDIRUSE _xenocara_obj! _SUBDIRUSE
@cd $(.CURDIR); \ @cd $(.CURDIR); \
if [[ `id -u` -eq 0 && ${BUILDUSER} != root ]]; then \ umask ${WOBJUMASK}; \
SETOWNER="chown -h ${BUILDUSER}"; \
_mkdirs() { \
su ${BUILDUSER} -c "mkdir -p $$1"; \
}; \
MKDIRS=_mkdirs; \
else \
MKDIRS="mkdir -p"; \
SETOWNER=:; \
fi; \
here=`/bin/pwd`; xsrcdir=`cd $(XSRCDIR); /bin/pwd`; \ here=`/bin/pwd`; xsrcdir=`cd $(XSRCDIR); /bin/pwd`; \
subdir=$${here#$${xsrcdir}/}; \ subdir=$${here#$${xsrcdir}/}; \
if [[ `id -u` -eq 0 && ${BUILDUSER} != root ]]; then \
SETOWNER="chown -h ${BUILDUSER}:${WOBJGROUP}"; \
if [[ $$here != $$subdir ]]; then \
_mkdirs() { \
su ${BUILDUSER} -c "mkdir -p $$1"; \
}; \
MKDIRS=_mkdirs; \
fi; \
elif [[ $$here == $$subdir ]]; then \
SETOWNER="chown :${WOBJGROUP}"; \
else \
SETOWNER=:; \
fi; \
[[ -z $$MKDIRS ]] && MKDIRS="mkdir -p"; \
if test $$here != $$subdir ; then \ if test $$here != $$subdir ; then \
dest=${XOBJDIR}/$$subdir; \ dest=${XOBJDIR}/$$subdir; \
echo "$$here/${__objdir} -> $$dest"; \ echo "$$here/${__objdir} -> $$dest"; \
@ -261,6 +266,7 @@ _xenocara_obj! _SUBDIRUSE
if test ! -d ${__objdir}; then \ if test ! -d ${__objdir}; then \
echo "making $$dest"; \ echo "making $$dest"; \
$$MKDIRS $$dest; \ $$MKDIRS $$dest; \
$$SETOWNER $$dest; \
fi ; \ fi ; \
fi fi
. endif . endif