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}" |