summaryrefslogtreecommitdiffstats
path: root/meta/classes/useradd-staticids.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/useradd-staticids.bbclass')
-rw-r--r--meta/classes/useradd-staticids.bbclass38
1 files changed, 20 insertions, 18 deletions
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
index 3a1b5f1320..1dbcba2bf1 100644
--- a/meta/classes/useradd-staticids.bbclass
+++ b/meta/classes/useradd-staticids.bbclass
@@ -1,3 +1,9 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
1# In order to support a deterministic set of 'dynamic' users/groups, 7# In order to support a deterministic set of 'dynamic' users/groups,
2# we need a function to reformat the params based on a static file 8# we need a function to reformat the params based on a static file
3def update_useradd_static_config(d): 9def update_useradd_static_config(d):
@@ -41,7 +47,7 @@ def update_useradd_static_config(d):
41 def handle_missing_id(id, type, pkg, files, var, value): 47 def handle_missing_id(id, type, pkg, files, var, value):
42 # For backwards compatibility we accept "1" in addition to "error" 48 # For backwards compatibility we accept "1" in addition to "error"
43 error_dynamic = d.getVar('USERADD_ERROR_DYNAMIC') 49 error_dynamic = d.getVar('USERADD_ERROR_DYNAMIC')
44 msg = "%s - %s: %sname %s does not have a static ID defined." % (d.getVar('PN'), pkg, type, id) 50 msg = 'Recipe %s, package %s: %sname "%s" does not have a static ID defined.' % (d.getVar('PN'), pkg, type, id)
45 if files: 51 if files:
46 msg += " Add %s to one of these files: %s" % (id, files) 52 msg += " Add %s to one of these files: %s" % (id, files)
47 else: 53 else:
@@ -77,7 +83,7 @@ def update_useradd_static_config(d):
77 try: 83 try:
78 uaargs = parser.parse_args(oe.useradd.split_args(param)) 84 uaargs = parser.parse_args(oe.useradd.split_args(param))
79 except Exception as e: 85 except Exception as e:
80 bb.fatal("%s: Unable to parse arguments for USERADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e)) 86 bb.fatal("%s: Unable to parse arguments for USERADD_PARAM:%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
81 87
82 # Read all passwd files specified in USERADD_UID_TABLES or files/passwd 88 # Read all passwd files specified in USERADD_UID_TABLES or files/passwd
83 # Use the standard passwd layout: 89 # Use the standard passwd layout:
@@ -140,13 +146,13 @@ def update_useradd_static_config(d):
140 uaargs.gid = uaargs.groupid 146 uaargs.gid = uaargs.groupid
141 uaargs.user_group = None 147 uaargs.user_group = None
142 if newgroup and is_pkg: 148 if newgroup and is_pkg:
143 groupadd = d.getVar("GROUPADD_PARAM_%s" % pkg) 149 groupadd = d.getVar("GROUPADD_PARAM:%s" % pkg)
144 if groupadd: 150 if groupadd:
145 # Only add the group if not already specified 151 # Only add the group if not already specified
146 if not uaargs.groupname in groupadd: 152 if not uaargs.groupname in groupadd:
147 d.setVar("GROUPADD_PARAM_%s" % pkg, "%s; %s" % (groupadd, newgroup)) 153 d.setVar("GROUPADD_PARAM:%s" % pkg, "%s; %s" % (groupadd, newgroup))
148 else: 154 else:
149 d.setVar("GROUPADD_PARAM_%s" % pkg, newgroup) 155 d.setVar("GROUPADD_PARAM:%s" % pkg, newgroup)
150 156
151 uaargs.comment = "'%s'" % field[4] if field[4] else uaargs.comment 157 uaargs.comment = "'%s'" % field[4] if field[4] else uaargs.comment
152 uaargs.home_dir = field[5] or uaargs.home_dir 158 uaargs.home_dir = field[5] or uaargs.home_dir
@@ -174,8 +180,6 @@ def update_useradd_static_config(d):
174 newparam += ['', ' --non-unique'][uaargs.non_unique] 180 newparam += ['', ' --non-unique'][uaargs.non_unique]
175 if uaargs.password != None: 181 if uaargs.password != None:
176 newparam += ['', ' --password %s' % uaargs.password][uaargs.password != None] 182 newparam += ['', ' --password %s' % uaargs.password][uaargs.password != None]
177 elif uaargs.clear_password:
178 newparam += ['', ' --clear-password %s' % uaargs.clear_password][uaargs.clear_password != None]
179 newparam += ['', ' --root %s' % uaargs.root][uaargs.root != None] 183 newparam += ['', ' --root %s' % uaargs.root][uaargs.root != None]
180 newparam += ['', ' --system'][uaargs.system] 184 newparam += ['', ' --system'][uaargs.system]
181 newparam += ['', ' --shell %s' % uaargs.shell][uaargs.shell != None] 185 newparam += ['', ' --shell %s' % uaargs.shell][uaargs.shell != None]
@@ -198,7 +202,7 @@ def update_useradd_static_config(d):
198 # If we're processing multiple lines, we could have left over values here... 202 # If we're processing multiple lines, we could have left over values here...
199 gaargs = parser.parse_args(oe.useradd.split_args(param)) 203 gaargs = parser.parse_args(oe.useradd.split_args(param))
200 except Exception as e: 204 except Exception as e:
201 bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e)) 205 bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM:%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
202 206
203 # Read all group files specified in USERADD_GID_TABLES or files/group 207 # Read all group files specified in USERADD_GID_TABLES or files/group
204 # Use the standard group layout: 208 # Use the standard group layout:
@@ -236,8 +240,6 @@ def update_useradd_static_config(d):
236 newparam += ['', ' --non-unique'][gaargs.non_unique] 240 newparam += ['', ' --non-unique'][gaargs.non_unique]
237 if gaargs.password != None: 241 if gaargs.password != None:
238 newparam += ['', ' --password %s' % gaargs.password][gaargs.password != None] 242 newparam += ['', ' --password %s' % gaargs.password][gaargs.password != None]
239 elif gaargs.clear_password:
240 newparam += ['', ' --clear-password %s' % gaargs.clear_password][gaargs.clear_password != None]
241 newparam += ['', ' --root %s' % gaargs.root][gaargs.root != None] 243 newparam += ['', ' --root %s' % gaargs.root][gaargs.root != None]
242 newparam += ['', ' --system'][gaargs.system] 244 newparam += ['', ' --system'][gaargs.system]
243 newparam += ' %s' % gaargs.GROUP 245 newparam += ' %s' % gaargs.GROUP
@@ -265,17 +267,17 @@ def update_useradd_static_config(d):
265 for pkg in useradd_packages.split(): 267 for pkg in useradd_packages.split():
266 # Groupmems doesn't have anything we might want to change, so simply validating 268 # Groupmems doesn't have anything we might want to change, so simply validating
267 # is a bit of a waste -- only process useradd/groupadd 269 # is a bit of a waste -- only process useradd/groupadd
268 useradd_param = d.getVar('USERADD_PARAM_%s' % pkg) 270 useradd_param = d.getVar('USERADD_PARAM:%s' % pkg)
269 if useradd_param: 271 if useradd_param:
270 #bb.warn("Before: 'USERADD_PARAM_%s' - '%s'" % (pkg, useradd_param)) 272 #bb.warn("Before: 'USERADD_PARAM:%s' - '%s'" % (pkg, useradd_param))
271 d.setVar('USERADD_PARAM_%s' % pkg, rewrite_useradd(useradd_param, True)) 273 d.setVar('USERADD_PARAM:%s' % pkg, rewrite_useradd(useradd_param, True))
272 #bb.warn("After: 'USERADD_PARAM_%s' - '%s'" % (pkg, d.getVar('USERADD_PARAM_%s' % pkg))) 274 #bb.warn("After: 'USERADD_PARAM:%s' - '%s'" % (pkg, d.getVar('USERADD_PARAM:%s' % pkg)))
273 275
274 groupadd_param = d.getVar('GROUPADD_PARAM_%s' % pkg) 276 groupadd_param = d.getVar('GROUPADD_PARAM:%s' % pkg)
275 if groupadd_param: 277 if groupadd_param:
276 #bb.warn("Before: 'GROUPADD_PARAM_%s' - '%s'" % (pkg, groupadd_param)) 278 #bb.warn("Before: 'GROUPADD_PARAM:%s' - '%s'" % (pkg, groupadd_param))
277 d.setVar('GROUPADD_PARAM_%s' % pkg, rewrite_groupadd(groupadd_param, True)) 279 d.setVar('GROUPADD_PARAM:%s' % pkg, rewrite_groupadd(groupadd_param, True))
278 #bb.warn("After: 'GROUPADD_PARAM_%s' - '%s'" % (pkg, d.getVar('GROUPADD_PARAM_%s' % pkg))) 280 #bb.warn("After: 'GROUPADD_PARAM:%s' - '%s'" % (pkg, d.getVar('GROUPADD_PARAM:%s' % pkg)))
279 281
280 # Load and process extra users and groups, rewriting only adduser/addgroup params 282 # Load and process extra users and groups, rewriting only adduser/addgroup params
281 pkg = d.getVar('PN') 283 pkg = d.getVar('PN')