On Mon, Dec 10, 2018 at 01:33:49PM +0100, Solene Rapenne wrote: > hi > > I have SUDO=doas in /etc/mk.conf for ports, this is preventing a `make build` > in /usr/src as root if /etc/doas.conf doesn't have a line "permit nopass root > as root". This fails when using "doas" in regress/usr/bin/ssh/ > > doas: Operation not permitted > *** Error 1 in regress/usr.bin/ssh (Makefile:212 'clean') > *** Error 1 in regress/usr.bin (<bsd.subdir.mk>:48 'cleandir') > *** Error 1 in regress (<bsd.subdir.mk>:48 'cleandir') > *** Error 1 in . (<bsd.subdir.mk>:48 'cleandir') > *** Error 1 in . (Makefile:86 'do-build') > *** Error 1 in /usr/src (Makefile:74 'build') > > > the issue comes from the 3rd line of that extract from Makefile:212 > > clean: ${CLEAN_SUBDIR} > rm -f ${CLEANFILES} > test -z "${SUDO}" || ${SUDO} rm -f ${SUDO_CLEAN} > rm -rf .putty > > Not sure how to fix it. Maybe people shouldn't try to compile as root when > having SUDO=doas set and then, it's not an issue anymore?
There are several possibilities: - add a test similar to the one in src/Makefile, e.g., not run sudo if you're root already (relatively complicated for no obvious benefit) - try to remove the files normally first rm -f ${SUDO_CLEAN} || test -z "${SUDO}" || ${SUDO} rm -f ${SUDO_CLEAN} this should actually fix the issue. Any other directory with that problem ?