From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH V3 3/3] usersettings.bbclass: add a new bbclass
Date: Thu, 11 Jul 2013 10:02:41 -0500 [thread overview]
Message-ID: <51DEC911.7010500@windriver.com> (raw)
In-Reply-To: <f54b840a6d0b07950b01024e511292f8e4483fad.1373540849.git.Qi.Chen@windriver.com>
On 7/11/13 6:11 AM, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> This class is dedicated to image level user/group configuration.
> It inherits userbase.bbclass.
>
> Users need to inherit this class in their layers or local.conf to
> make the setting of USER_GROUP_SETTINGS effective.
>
> For detailed configuration format of USER_GROUP_SETTINGS, please
> refer to local.conf.sample.extended.
>
> [YOCTO #4074]
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
> meta/classes/usersettings.bbclass | 48 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 meta/classes/usersettings.bbclass
>
> diff --git a/meta/classes/usersettings.bbclass b/meta/classes/usersettings.bbclass
> new file mode 100644
> index 0000000..e5a5156
> --- /dev/null
> +++ b/meta/classes/usersettings.bbclass
> @@ -0,0 +1,48 @@
> +# This bbclass is mainly used for image level user/group configuration.
> +# Inherit this class if you want to make USER_GROUP_SETTINGS effective.
> +inherit userbase
One request, in the comment above, please put some examples of the using the new
functionality. It's not completely clear to me looking at this what may be
expected of the user.
--Mark
> +
> +IMAGE_INSTALL_append += "${@['', 'base-passwd shadow'][bool(d.getVar('USER_GROUP_SETTINGS', True))]}"
> +
> +# Image level user / group settings
> +ROOTFS_POSTPROCESS_COMMAND_append = " set_user_group;"
> +
> +# Image level user / group settings
> +set_user_group () {
> + user_group_settings="${USER_GROUP_SETTINGS}"
> + export PSEUDO="${FAKEROOTENV} ${STAGING_DIR_NATIVE}${bindir}/pseudo"
> + setting=`echo $user_group_settings | cut -d ';' -f1`
> + remaining=`echo $user_group_settings | cut -d ';' -f2-`
> + while test "x$setting" != "x"; do
> + action=`echo $setting | cut -d ',' -f1`
> + opts=`echo $setting | cut -d ',' -f2`
> + # Different from useradd.bbclass, there's no file locking issue here, as
> + # this setting is actually a serial process. So we only retry once.
> + case $action in
> + useradd)
> + perform_useradd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" 1
> + ;;
> + groupadd)
> + perform_groupadd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" 1
> + ;;
> + userdel)
> + perform_userdel "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" 1
> + ;;
> + groupdel)
> + perform_groupdel "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" 1
> + ;;
> + usermod)
> + perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" 1
> + ;;
> + groupmod)
> + perform_groupmod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} $opts" 1
> + ;;
> + *)
> + bbfatal "Incorrect setting for USER_GROUP_SETTINGS"
> + ;;
> + esac
> + # iterate to the next setting
> + setting=`echo $remaining | cut -d ';' -f1`
> + remaining=`echo $remaining | cut -d ';' -f2-`
> + done
> +}
>
next prev parent reply other threads:[~2013-07-11 15:02 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-11 11:11 [PATCH V3 0/3] Add a method for image level user/group configuration Qi.Chen
2013-07-11 11:11 ` [PATCH V3 1/3] userbase.bbclass: add a new bbclass Qi.Chen
2013-07-11 11:11 ` [PATCH V3 2/3] useradd.bbclass: code refactor Qi.Chen
2013-07-11 11:11 ` [PATCH V3 3/3] usersettings.bbclass: add a new bbclass Qi.Chen
2013-07-11 12:58 ` Paul Eggleton
2013-07-11 13:07 ` Paul Eggleton
2013-07-11 15:02 ` Mark Hatle [this message]
2013-07-11 12:49 ` [PATCH V3 0/3] Add a method for image level user/group configuration Paul Eggleton
2013-07-11 16:00 ` Saul Wold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51DEC911.7010500@windriver.com \
--to=mark.hatle@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox