diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2014-02-10 13:28:26 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-11 12:03:31 +0000 |
commit | f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d (patch) | |
tree | 6d6225ab863ab0dca2e87db7936a7467c6ca1038 /meta/classes/useradd-staticids.bbclass | |
parent | ae83db0fdcf0b807ffdfc901f4d1c463fffee82a (diff) | |
download | openembedded-core-f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d.tar.gz openembedded-core-f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d.tar.bz2 openembedded-core-f35bbba65e3e41f8dea1f9ff872d3a9fbd84bf6d.zip |
useradd-staticids: Adjust USERADD_ERROR_DYNAMIC condition and error message
The USERADD_ERROR_DYNAMIC needs to check that both users and groups that are
defined need to be represented as static ids, or an error should occur.
For the user check, we want to make sure the uid is a numeric value. (The gid
can be name, as the GROUPADD check will validate for a number there -- or
during install useradd will fail if that group is not defined.)
For the group check, we verify that the gid is specified and not left as a name.
Also two statements that can be uncommented for debugging were added so that
future development work on this code would be easier to do.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/useradd-staticids.bbclass')
-rw-r--r-- | meta/classes/useradd-staticids.bbclass | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass index 5897fed20d..3efe2a895a 100644 --- a/meta/classes/useradd-staticids.bbclass +++ b/meta/classes/useradd-staticids.bbclass @@ -134,8 +134,9 @@ def update_useradd_static_config(d): break # Should be an error if a specific option is set... - if d.getVar('USERADD_ERROR_DYNAMIC', True) == '1' and (not uaargs.uid or not uaargs.gid): - raise bb.build.FuncFailed("%s - %s: Username %s does not have a static uid/gid defined." % (d.getVar('PN', True), pkg, uaargs.LOGIN)) + if d.getVar('USERADD_ERROR_DYNAMIC', True) == '1' and not ((uaargs.uid and uaargs.uid.isdigit()) and uaargs.gid): + #bb.error("Skipping recipe %s, package %s which adds username %s does not have a static uid defined." % (d.getVar('PN', True), pkg, uaargs.LOGIN)) + raise bb.build.FuncFailed("%s - %s: Username %s does not have a static uid defined." % (d.getVar('PN', True), pkg, uaargs.LOGIN)) # Reconstruct the args... newparam = ['', ' --defaults'][uaargs.defaults] @@ -222,7 +223,8 @@ def update_useradd_static_config(d): gaargs.gid = field[2] break - if d.getVar('USERADD_ERROR_DYNAMIC', True) == '1' and not gaargs.gid: + if d.getVar('USERADD_ERROR_DYNAMIC', True) == '1' and not (gaargs.gid and gaargs.gid.isdigit()): + #bb.error("Skipping recipe %s, package %s which adds groupname %s does not have a static gid defined." % (d.getVar('PN', True), pkg, gaargs.GROUP)) raise bb.build.FuncFailed("%s - %s: Groupname %s does not have a static gid defined." % (d.getVar('PN', True), pkg, gaargs.GROUP)) # Reconstruct the args... |