Index: bsd.pkginstall.mk =================================================================== RCS file: /home/joerg/repo/netbsd/pkgsrc/mk/pkginstall/bsd.pkginstall.mk,v retrieving revision 1.52 diff -u -p -r1.52 bsd.pkginstall.mk --- bsd.pkginstall.mk 24 Aug 2010 19:08:29 -0000 1.52 +++ bsd.pkginstall.mk 9 Nov 2010 12:26:18 -0000 @@ -203,6 +203,14 @@ _PKG_USER_SHELL?= ${NOLOGIN} FILES_SUBST+= PKG_USER_HOME=${_PKG_USER_HOME:Q} FILES_SUBST+= PKG_USER_SHELL=${_PKG_USER_SHELL:Q} +.if !defined(USERGROUP_PHASE) || !empty(USERGROUP_PHASE:Mpre-install) +_HARDCODE_UID_GID= no +.elif !empty(USERGROUP_PHASE:M*configure) || !empty(USERGROUP_PHASE:M*build) +_HARDCODE_UID_GID= yes +.else +PKG_FAIL_REASON+= "USERGROUP_PHASE must be one of *configure, *build or pre-install" +.endif + # If USE_GAMESGROUP == yes, then we need the "games" group. # SETGIDGAME is a deprecated alias for USE_GAMESGROUP. # @@ -243,7 +251,7 @@ _INSTALL_UNPACK_TMPL+= ${_INSTALL_USERG _INSTALL_DATA_TMPL+= ${_INSTALL_USERGROUP_DATAFILE} .for _group_ in ${PKG_GROUPS} -. if defined(USERGROUP_PHASE) +. if ${_HARDCODE_UID_GID} == "yes" # Determine the numeric GID of each group. USE_TOOLS+= perl PKG_GID.${_group_}_cmd= \ @@ -256,7 +264,7 @@ _PKG_GROUPS+= ${_group_}:${PKG_GID.${_gr .for _entry_ in ${PKG_USERS} . for e in ${_entry_:C/\:.*//} -. if defined(USERGROUP_PHASE) +. if ${_HARDCODE_UID_GID} == "yes" # Determine the numeric UID of each user. USE_TOOLS+= perl PKG_UID.${e}_cmd= \