pkgsrc/mk/unprivileged.mk
rillig 8db27f7fe7 Converted the header comment to the canonical form. Changed the
definitions of CHOWN and CHGRP so that they still include the command
that is skipped, which is useful when viewing the build logs.
2006-07-15 20:47:43 +00:00

65 lines
1.9 KiB
Makefile

# $NetBSD: unprivileged.mk,v 1.4 2006/07/15 20:47:43 rillig Exp $
#
# This file collects definitions that are useful when using pkgsrc as an
# unprivileged (non-root) user. It is included automatically by the
# pkgsrc infrastructure.
#
# The following variables may be set by the pkgsrc user in mk.conf:
#
# UNPRIVILEGED : YesNo (default: undefined)
# If set to 'yes', enable unprivileged builds.
#
# UNPRIVILEGED_GROUP : Groupname (default: the current group)
# Specifies the group name (or gid) that will be used to install
# files.
#
# UNPRIVILEGED_USER : Username (default: the current user)
# Specifies the user name (or uid) that will be used to install
# files.
.if defined(UNPRIVILEGED) && !empty(UNPRIVILEGED:M[Yy][Ee][Ss])
# Guess which user/group has to be used.
. if !defined(UNPRIVILEGED_USER) || empty(UNPRIVILEGED_USER)
UNPRIVILEGED_USER!= ${ID} -n -u
. endif
. if !defined(UNPRIVILEGED_GROUP) || empty(UNPRIVILEGED_GROUP)
UNPRIVILEGED_GROUP!= ${ID} -n -g
. endif
# Override super-user account.
ROOT_GROUP= ${UNPRIVILEGED_GROUP}
ROOT_USER= ${UNPRIVILEGED_USER}
# Override user/group pairs used to install files.
BINGRP= ${UNPRIVILEGED_GROUP}
BINOWN= ${UNPRIVILEGED_USER}
GAMEGRP= ${UNPRIVILEGED_GROUP}
GAMEOWN= ${UNPRIVILEGED_USER}
MANGRP= ${UNPRIVILEGED_GROUP}
MANOWN= ${UNPRIVILEGED_USER}
SHAREGRP= ${UNPRIVILEGED_GROUP}
SHAREOWN= ${UNPRIVILEGED_USER}
# Override installation modes. As a regular user, we may have problems
# when overwriting files if they are not writable.
BINMODE= 755
NONBINMODE= 644
# mtree is useless as a regular user because it won't set directory
# ownerships correctly.
NO_MTREE= yes
# As a regular user, creation of other users and groups won't work, so
# disable this step by default.
PKG_CREATE_USERGROUP= NO
# Override commands that won't work as a regular user.
CHGRP= ${TRUE} chgrp
CHOWN= ${TRUE} chown
SU_CMD= ${SH} -c
# Do not attempt to modify /etc/shells as a regular user.
PKG_REGISTER_SHELLS= NO
.endif