[OE-core] [PATCH 0/5] Improvements for useradd-staticids.bbclass

Mark Hatle mark.hatle at windriver.com
Wed Nov 4 00:33:33 UTC 2015


I looked over this series (I have not tried it, but) everything looks ok to me.
 I did make one comment on a minor hunk -- but otherwise I don't see any issues.

The python style police might have some further comments.

Acked-by: Mark Hatle <mark.hatle at windriver.com>


On 11/3/15 6:06 PM, Peter Kjellerstedt wrote:
> This series of patches aims to improve useradd-staticids.bbclass.
> 
> We are currently using useradd-staticids.bbclass to make sure all
> users and groups have well defined IDs. So far we have had the
> definitions of the users both in the recipes and in the passwd file
> used by useradd-staticids.bbclass. Since we have a huge number of
> recipes that create users, having to duplicate the definitions all
> over the place has turned out to be a burden we should be able to
> avoid.
> 
> So the current plan for us is to have one passwd file per layer with
> the definitions of all users that layer needs. These definitions do
> not include the static IDs for the users. Instead the static IDs for
> the users are specified in a distro specific passwd-static file. There
> is also a distro specific group-static file for the group IDs. With
> that in place it should be enough to define a user as:
> 
> USERADD_PARAM_${PN} = "--system foobar"
> 
> in a recipe and let useradd-staticids.bbclass handle the specifics for
> how that user should be defined.
> 
> The above worked fine for all users that had a primary group with the
> same name as the user. However, it turned out that for users that
> wanted some other primary group, specifying it in the passwd file was
> not enough. We still had to add --gid <some group> in the recipe where
> <some group> had to match what was specified in the passwd file. This
> was less than optimal, and somewhat defeated the setup.
> 
> It also turned out that for users with a primary group that does not
> match the user name, useradd-staticids.bbclass would still add the
> creation of a group with the same name as the user (when it parsed the
> passwd-static file) and the add another creation of the correct group
> (when it parsed the passwd file).
> 
> So after spending quite a lot of time on trying to decode how
> rewrite_useradd() calculated the --gid option, I came up with this
> series of changes that should correct the problems described above and
> make the code easier to understand while (hopefully) maintaining
> compatibility with the old code.
> 
> I fully understand that this is very late for Jethro and do not really
> expect it to make it into 2.0.0, but if at all possible I hope it can
> make it since that would make my life much easier. :)
> 
> //Peter
> 
> The following changes since commit fc45deac89ef63ca1c44e763c38ced7dfd72cbe1:
> 
>   build-appliance-image: Update to jethro head revision (2015-11-03 14:03:03 +0000)
> 
> are available in the git repository at:
> 
>   git://git.yoctoproject.org/poky-contrib pkj/useradd_improvements
>   http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/useradd_improvements
> 
> Peter Kjellerstedt (5):
>   useradd-staticids.bbclass: Treat mutually exclusive options as such
>   useradd-staticids.bbclass: Make --no-user-group have effect
>   useradd-staticids.bbclass: Simplify some logic
>   useradd-staticids.bbclass: Simplify the logic for when to add groups
>   useradd-staticids.bbclass: Read passwd/group files before parsing
> 
>  meta/classes/useradd-staticids.bbclass | 192 ++++++++++++++++++---------------
>  1 file changed, 103 insertions(+), 89 deletions(-)
> 




More information about the Openembedded-core mailing list