Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in eclass: user.eclass
Date: Thu, 03 Nov 2011 15:29:53
Message-Id: 20111103152939.D2A032004B@flycatcher.gentoo.org
1 vapier 11/11/03 15:29:39
2
3 Modified: user.eclass
4 Log:
5 clean up enew{user,group} and drop the [extra] argument as no one is using it
6
7 Revision Changes Path
8 1.9 eclass/user.eclass
9
10 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/user.eclass?rev=1.9&view=markup
11 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/user.eclass?rev=1.9&content-type=text/plain
12 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/user.eclass?r1=1.8&r2=1.9
13
14 Index: user.eclass
15 ===================================================================
16 RCS file: /var/cvsroot/gentoo-x86/eclass/user.eclass,v
17 retrieving revision 1.8
18 retrieving revision 1.9
19 diff -u -r1.8 -r1.9
20 --- user.eclass 3 Nov 2011 00:59:16 -0000 1.8
21 +++ user.eclass 3 Nov 2011 15:29:39 -0000 1.9
22 @@ -1,6 +1,6 @@
23 # Copyright 1999-2011 Gentoo Foundation
24 # Distributed under the terms of the GNU General Public License v2
25 -# $Header: /var/cvsroot/gentoo-x86/eclass/user.eclass,v 1.8 2011/11/03 00:59:16 vapier Exp $
26 +# $Header: /var/cvsroot/gentoo-x86/eclass/user.eclass,v 1.9 2011/11/03 15:29:39 vapier Exp $
27
28 # @ECLASS: user.eclass
29 # @MAINTAINER:
30 @@ -95,13 +95,12 @@
31 }
32
33 # @FUNCTION: enewuser
34 -# @USAGE: <user> [uid] [shell] [homedir] [groups] [params]
35 +# @USAGE: <user> [uid] [shell] [homedir] [groups]
36 # @DESCRIPTION:
37 # Same as enewgroup, you are not required to understand how to properly add
38 # a user to the system. The only required parameter is the username.
39 # Default uid is (pass -1 for this) next available, default shell is
40 -# /bin/false, default homedir is /dev/null, there are no default groups,
41 -# and default params sets the comment as 'added by portage for ${PN}'.
42 +# /bin/false, default homedir is /dev/null, and there are no default groups.
43 enewuser() {
44 _assert_pkg_ebuild_phase enewuser
45
46 @@ -140,7 +139,7 @@
47 [[ -z $(egetent passwd ${euid}) ]] && break
48 done
49 fi
50 - opts="${opts} -u ${euid}"
51 + opts+=" -u ${euid}"
52 einfo " - Userid: ${euid}"
53
54 # handle shell
55 @@ -172,7 +171,7 @@
56 eshell=${shell}
57 fi
58 einfo " - Shell: ${eshell}"
59 - opts="${opts} -s ${eshell}"
60 + opts+=" -s ${eshell}"
61
62 # handle homedir
63 local ehome=$1; shift
64 @@ -180,7 +179,7 @@
65 ehome="/dev/null"
66 fi
67 einfo " - Home: ${ehome}"
68 - opts="${opts} -d ${ehome}"
69 + opts+=" -d ${ehome}"
70
71 # handle groups
72 local egroups=$1; shift
73 @@ -204,86 +203,58 @@
74 done
75 export IFS=${oldifs}
76
77 - opts="${opts} -g ${defgroup}"
78 + opts+=" -g ${defgroup}"
79 if [[ ! -z ${exgroups} ]] ; then
80 - opts="${opts} -G ${exgroups:1}"
81 + opts+=" -G ${exgroups:1}"
82 fi
83 else
84 egroups="(none)"
85 fi
86 einfo " - Groups: ${egroups}"
87
88 - # handle extra and add the user
89 + # handle extra args
90 + if [[ $# -gt 0 ]] ; then
91 + die "extra arguments no longer supported; please file a bug"
92 + else
93 + set -- -c "added by portage for ${PN}"
94 + einfo " - Extra: $@"
95 + fi
96 +
97 + # add the user
98 local oldsandbox=${SANDBOX_ON}
99 export SANDBOX_ON="0"
100 case ${CHOST} in
101 *-darwin*)
102 ### Make the user
103 - if [[ -z $@ ]] ; then
104 - dscl . create /users/${euser} uid ${euid}
105 - dscl . create /users/${euser} shell ${eshell}
106 - dscl . create /users/${euser} home ${ehome}
107 - dscl . create /users/${euser} realname "added by portage for ${PN}"
108 - ### Add the user to the groups specified
109 - local oldifs=${IFS}
110 - export IFS=","
111 - for g in ${egroups} ; do
112 - dscl . merge /groups/${g} users ${euser}
113 - done
114 - export IFS=${oldifs}
115 - else
116 - einfo "Extra options are not supported on Darwin yet"
117 - einfo "Please report the ebuild along with the info below"
118 - einfo "eextra: $@"
119 - die "Required function missing"
120 - fi
121 + dscl . create /users/${euser} uid ${euid}
122 + dscl . create /users/${euser} shell ${eshell}
123 + dscl . create /users/${euser} home ${ehome}
124 + dscl . create /users/${euser} realname "added by portage for ${PN}"
125 + ### Add the user to the groups specified
126 + local oldifs=${IFS}
127 + export IFS=","
128 + for g in ${egroups} ; do
129 + dscl . merge /groups/${g} users ${euser}
130 + done
131 + export IFS=${oldifs}
132 ;;
133 +
134 *-freebsd*|*-dragonfly*)
135 - if [[ -z $@ ]] ; then
136 - pw useradd ${euser} ${opts} \
137 - -c "added by portage for ${PN}" \
138 - die "enewuser failed"
139 - else
140 - einfo " - Extra: $@"
141 - pw useradd ${euser} ${opts} \
142 - "$@" || die "enewuser failed"
143 - fi
144 + pw useradd ${euser} ${opts} "$@" || die
145 ;;
146
147 *-netbsd*)
148 - if [[ -z $@ ]] ; then
149 - useradd ${opts} ${euser} || die "enewuser failed"
150 - else
151 - einfo " - Extra: $@"
152 - useradd ${opts} ${euser} "$@" || die "enewuser failed"
153 - fi
154 + useradd ${opts} ${euser} "$@" || die
155 ;;
156
157 *-openbsd*)
158 - if [[ -z $@ ]] ; then
159 - useradd -u ${euid} -s ${eshell} \
160 - -d ${ehome} -c "Added by portage for ${PN}" \
161 - -g ${egroups} ${euser} || die "enewuser failed"
162 - else
163 - einfo " - Extra: $@"
164 - useradd -u ${euid} -s ${eshell} \
165 - -d ${ehome} -c "Added by portage for ${PN}" \
166 - -g ${egroups} ${euser} "$@" || die "enewuser failed"
167 - fi
168 + # all ops the same, except the -g vs -g/-G ...
169 + useradd -u ${euid} -s ${eshell} \
170 + -d ${ehome} -g ${egroups} "$@" ${euser} || die
171 ;;
172
173 *)
174 - if [[ -z $@ ]] ; then
175 - useradd -r ${opts} \
176 - -c "added by portage for ${PN}" \
177 - ${euser} \
178 - || die "enewuser failed"
179 - else
180 - einfo " - Extra: $@"
181 - useradd -r ${opts} "$@" \
182 - ${euser} \
183 - || die "enewuser failed"
184 - fi
185 + useradd -r ${opts} "$@" ${euser} || die
186 ;;
187 esac
188
189 @@ -333,9 +304,9 @@
190 if [ -z "`egetent group ${egid}`" ]
191 then
192 if [[ "${CHOST}" == *-darwin* ]]; then
193 - opts="${opts} ${egid}"
194 + opts+=" ${egid}"
195 else
196 - opts="${opts} -g ${egid}"
197 + opts+=" -g ${egid}"
198 fi
199 else
200 egid="next available; requested gid taken"
201 @@ -350,22 +321,15 @@
202 einfo " - Groupid: ${egid}"
203
204 # handle extra
205 - local eextra="$@"
206 - opts="${opts} ${eextra}"
207 + if [ $# -gt 0 ] ; then
208 + die "extra arguments no longer supported; please file a bug"
209 + fi
210
211 # add the group
212 local oldsandbox="${SANDBOX_ON}"
213 export SANDBOX_ON="0"
214 case ${CHOST} in
215 *-darwin*)
216 - if [ ! -z "${eextra}" ];
217 - then
218 - einfo "Extra options are not supported on Darwin/OS X yet"
219 - einfo "Please report the ebuild along with the info below"
220 - einfo "eextra: ${eextra}"
221 - die "Required function missing"
222 - fi
223 -
224 # If we need the next available
225 case ${egid} in
226 *[!0-9]*) # Non numeric
227 @@ -384,7 +348,7 @@
228 [[ -z $(egetent group ${egid}) ]] && break
229 done
230 esac
231 - pw groupadd ${egroup} -g ${egid} || die "enewgroup failed"
232 + pw groupadd ${egroup} -g ${egid} || die
233 ;;
234
235 *-netbsd*)
236 @@ -394,12 +358,12 @@
237 [[ -z $(egetent group ${egid}) ]] && break
238 done
239 esac
240 - groupadd -g ${egid} ${egroup} || die "enewgroup failed"
241 + groupadd -g ${egid} ${egroup} || die
242 ;;
243
244 *)
245 # We specify -r so that we get a GID in the system range from login.defs
246 - groupadd -r ${opts} ${egroup} || die "enewgroup failed"
247 + groupadd -r ${opts} ${egroup} || die
248 ;;
249 esac
250 export SANDBOX_ON="${oldsandbox}"