[OE-core] [v2 PATCH 2/2] useradd.bbclass: Add ability to select a static uid/gid automatically

Mark Hatle mark.hatle at windriver.com
Wed Feb 5 18:14:57 UTC 2014


On 2/5/14, 12:01 PM, Saul Wold wrote:
> On 02/04/2014 03:39 PM, Mark Hatle wrote:
>> [YOCTO #5436]
>>
>> Automatic selection of static uid/gid is needed for a dynamically generated
>> passwd and group file to have a deterministic outcome.
>>
>> When a package is installed and instructs the system to add a new user or
>> group, unless it selects a static uid/gid value, the next available uid/gid
>> will be used.  The order in which packages are installed is dynamically
>> computed, and may change from one installation to the next.  This results
>> in a non-deterministic set of uid/gid values.
>>
>> Enabling USERADD_REWRITE_PARAMS, and providing a preconfigured passwd/group
>> file will allow the continued dynamic generation of the passwd/group file
>> on the target, but ensure a deterministic outcome.  (Dynamic generation is
>> desired so that user and groups that have no corresponding functionality
>> are not present within the final system image.)
>>
>> The rewrite params function will override each of the fields in the
>> useradd and groupadd calls with the values specified.  Note, the password
>> field is ignored as is the member groups field in the group file.  If the
>> field is empty, the value will not be overridden.  (Note, there is no way
>> to 'blank' a field, as this would only generally affect the 'comment' field
>> and there really is no reason to blank it.)
>>
>> Enabling USERADD_ERROR_DYNAMIC will cause packages without static uid/gid
>> to generate an error and be skipped for the purpose of building.  This is
>> used to prevent non-deterministic behavior.
>>
>> USERADD_UID_TABLES and USERADD_GID_TABLES may be used to specify the name
>> of the passwd and group files.  By default they are assumed to be
>> 'files/passwd' and 'files/group'.  Layers are searched in BBPATH order.
>>
>> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
>> ---
>>    meta/classes/useradd.bbclass         | 258 +++++++++++++++++++++++++++++++++++
>>    meta/conf/local.conf.sample.extended |  24 ++++
>>    2 files changed, 282 insertions(+)
>>
>
> This need to be split to 2 patches one for oe-core and the
> local.conf.sample.extended for poky.
>

This patch is specific to oe-core, and was NOT generated to apply to poky.

This includes the changes to the local.conf.sample.extended (located in 
meta/conf on oe-core).

http://git.openembedded.org/openembedded-core/tree/meta/conf/local.conf.sample.extended

Once this goes into oe-core, I can work on a patch for meta-yocto if desired, 
likely the hunk will just apply there as well.

--Mark




More information about the Openembedded-core mailing list