head 1.3; access; symbols pkgsrc-2023Q4:1.3.0.136 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.134 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.132 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.130 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.128 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.126 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.124 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.122 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.120 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.118 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.116 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.114 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.112 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.110 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.106 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.86 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.108 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.104 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.102 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.100 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.98 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.96 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.94 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.92 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.90 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.88 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.84 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.82 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.80 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.78 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.76 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.74 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.72 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.70 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.68 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.66 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.64 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.62 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.60 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.58 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.56 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.54 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.52 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.50 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.48 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.46 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.3.0.44 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.42 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.40 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q3:1.3.0.38 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.3.0.36 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.34 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.32 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.30 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.28 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.26 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.24 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.3.0.22 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.3.0.20 pkgsrc-2009Q2-base:1.3 pkgsrc-2009Q1:1.3.0.18 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.16 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.14 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.12 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.10 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.8 pkgsrc-2008Q1:1.3.0.6 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.4 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.2 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.2.0.8 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.6 pkgsrc-2007Q1-base:1.2 jlam-pkgviews:1.2.0.4 jlam-pkgviews-base:1.2 pkgsrc-2006Q4:1.2.0.2 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.1.0.4 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.2 pkgsrc-2006Q2-base:1.1; locks; strict; comment @# @; 1.3 date 2007.07.12.19.41.46; author jlam; state Exp; branches; next 1.2; 1.2 date 2006.12.15.13.15.06; author martti; state Exp; branches; next 1.1; 1.1 date 2006.05.21.23.50.15; author jlam; state Exp; branches; next ; desc @@ 1.3 log @* Add a user-settable variable to tune the default verbosity of the +INSTALL and +DEINSTALL scripts: PKGINSTALL_VERBOSE A list of scriptlets that will be verbose and output a message noting the actions taken. * "all" is a special value that implies all of the other items * "fonts" for +FONTS * "info-files" for +INFO_FILES Default value: "all" for PKG_DEVELOPERs, empty otherwise. * Be "one-liner brief" when doing the default actions. For example, the info files output now looks like: gmake-3.81: registering info file /usr/pkg/info/make.info We retain the current verbosity for the CHECK-* actions. @ text @# $NetBSD: usergroupfuncs.FreeBSD,v 1.2 2006/12/15 13:15:06 martti Exp $ # # Platform-specific adduser and addgroup functionality # on top of pw(8). # group_exists group [groupid] # Returns 0 if $group exists and has gid $groupid # Returns 1 if neither $group nor $groupid exist # Returns 2 if $group or $groupid exist but don't match # Returns 3 for all errors # group_exists() { _group="$1"; _groupid="$2" ${TEST} -n "$_group" || return 3 # Check using chgrp to work properly in an NSS/NIS environment. _tmpdir="./.pkginstall.$$" ${MKDIR} -p $_tmpdir 2>/dev/null || return 3 ${CHMOD} 0700 $_tmpdir _testpath="$_tmpdir/group_exists" ${ECHO} > $_testpath if ${CHGRP} $_group $_testpath >/dev/null 2>&1; then # $_group exists _id=`${LS} -ln $_testpath 2>/dev/null | ${AWK} '{ print $4 }'` ${TEST} -n "$_groupid" || _groupid=$_id if ${TEST} "$_groupid" = "$_id"; then ${RM} -fr $_tmpdir; return 0 fi ${RM} -fr $_tmpdir; return 2 elif ${TEST} -z "$_groupid"; then # $_group doesn't exist and $_groupid is not set ${RM} -fr $_tmpdir; return 1 elif ${CHGRP} $_groupid $_testpath >/dev/null 2>&1; then _name=`${LS} -l $_testpath 2>/dev/null | ${AWK} '{ print $4 }'` if ${TEST} "$_name" != "$_groupid"; then # $_group doesn't exist, but $_groupid exists ${RM} -fr $_tmpdir; return 2 fi # neither $_group nor $_groupid exist ${RM} -fr $_tmpdir; return 1 fi ${RM} -fr $_tmpdir; return 3 } # user_exists user [userid] # Returns 0 if $user exists and has uid $userid # Returns 1 if neither $user nor $userid exist # Returns 2 if $user or $userid exist but don't match # Returns 3 for all errors # user_exists() { _user="$1"; _userid="$2" ${TEST} -n "$_user" || return 3 # Check using chown to work properly in an NSS/NIS environment. _tmpdir="./.pkginstall.$$" ${MKDIR} -p $_tmpdir 2>/dev/null || return 3 ${CHMOD} 0700 $_tmpdir _testpath="$_tmpdir/user_exists" ${ECHO} > $_testpath if ${CHOWN} $_user $_testpath >/dev/null 2>&1; then # $_user exists _id=`${LS} -ln $_testpath 2>/dev/null | ${AWK} '{ print $3 }'` ${TEST} -n "$_userid" || _userid=$_id if ${TEST} "$_userid" = "$_id"; then ${RM} -fr $_tmpdir; return 0 fi ${RM} -fr $_tmpdir; return 2 elif ${TEST} -z "$_userid"; then # $_user doesn't exist and $_user is not set ${RM} -fr $_tmpdir; return 1 elif ${CHOWN} $_userid $_testpath >/dev/null 2>&1; then _name=`${LS} -l $_testpath 2>/dev/null | ${AWK} '{ print $3 }'` if ${TEST} "$_name" != "$_userid"; then # $_user doesn't exist, but $_userid exists ${RM} -fr $_tmpdir; return 2 fi # neither $_user nor $_userid exist ${RM} -fr $_tmpdir; return 1 fi ${RM} -fr $_tmpdir; return 3 } # adduser user group [userid] [descr] [home] [shell] adduser() { user="$1"; group="$2"; userid="$3" descr="$4"; home="$5" shell="$6" ${TEST} $# -eq 6 || return 1 ${TEST} -n "$user" || return 2 ${TEST} -n "$group" || return 2 PW="@@PW@@" case $user in ${PKGNAME%-[0-9]*}) descr_dflt="$user user" ;; *) descr_dflt="${PKGNAME%-[0-9]*} $user user" ;; esac : ${descr:="$descr_dflt"} : ${home:="@@PKG_USER_HOME@@"} : ${shell:="@@PKG_USER_SHELL@@"} if ${TEST} -n "${PW}" -a -x "${PW}"; then ${ECHO} "${PKGNAME}: Creating user \`\`$user''" case $userid in "") ${PW} useradd \ $user \ -c "$descr" -d "$home" -s "$shell" \ -g $group ;; *) ${PW} useradd \ $user \ -c "$descr" -d "$home" -s "$shell" \ -g $group -u $userid ;; esac fi return 0 } # adduser group [groupid] addgroup() { group="$1"; groupid="$2" ${TEST} $# -eq 2 || return 1 ${TEST} -n "$group" || return 2 PW="@@PW@@" if ${TEST} -n "${PW}" -a -x "${PW}"; then ${ECHO} "${PKGNAME}: Creating group \`\`$group''" case $groupid in "") ${PW} groupadd $group ;; *) ${PW} groupadd $group -g $groupid ;; esac fi return 0 } @ 1.2 log @Remove trailing tabs. @ text @d1 1 a1 1 # $NetBSD: usergroupfuncs.FreeBSD,v 1.1 2006/05/21 23:50:15 jlam Exp $ d106 1 a106 1 ${ECHO} "Creating user: $user" d135 1 a135 1 ${ECHO} "Creating group: $group"; @ 1.1 log @Move mk/install to mk/pkginstall to better reflect the contents (the pkginstall framework). @ text @d1 1 a1 1 # $NetBSD: usergroupfuncs.FreeBSD,v 1.8 2006/05/10 05:41:40 jlam Exp $ d11 1 a11 1 # d51 1 a51 1 # @