Message ID | 20240417071515.3582973-1-benedikt.niedermayr@siemens.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | image-account-extenstion: rebuild on varflag changes | expand |
On Wed, 2024-04-17 at 09:15 +0200, 'B. Niedermayr' via isar-users wrote: > From: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> > > When adding items (e.g. foo) to the USER or GROUP variables, the > buildsystem automatically creates new variables (USER_foo). > One can then set these variables, or more precise, the variable > flags (e.g. USER_foo[password]) to control differents aspects > of the user creation. > Isar does not trigger a rebuild when applying changes to these > variable flags since they are not recognized by the > tasks signature generation. > > Signed-off-by: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> > --- > meta/classes/image-account-extension.bbclass | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/image-account-extension.bbclass b/meta/classes/image-account- > extension.bbclass > index 3d4e1d1dd175..7cfd5a6b9de5 100644 > --- a/meta/classes/image-account-extension.bbclass > +++ b/meta/classes/image-account-extension.bbclass > @@ -8,6 +8,16 @@ > USERS ??= "" > GROUPS ??= "" > > +python() { > + for entry in (d.getVar("GROUPS") or "").split(): > + group_entry = "GROUP_{}".format(entry) > + d.appendVarFlag("image_postprocess_accounts", "vardeps", " {}".format(group_entry)) > + > + for entry in (d.getVar("USERS") or "").split(): > + user_entry = "USER_{}".format(entry) > + d.appendVarFlag("image_postprocess_accounts", "vardeps", " {}".format(user_entry)) > +} > + > def image_create_groups(d: "DataSmart") -> None: > """Creates the groups defined in the ``GROUPS`` bitbake variable. > > @@ -134,7 +144,7 @@ python image_postprocess_accounts() { > import os > if d.getVar("SOURCE_DATE_EPOCH") != None: > os.environ["SOURCE_DATE_EPOCH"] = d.getVar("SOURCE_DATE_EPOCH") > - > + > image_create_groups(d) > image_create_users(d) > } > -- > 2.34.1 > Sorry for tripple posting! Mails got stuck in the smpt server... regards, Benedikt
On 2024-04-17 08:01, 'Niedermayr, BENEDIKT' via isar-users wrote: > Sorry for tripple posting! > Mails got stuck in the smpt server... No problem. We moderate mails from new addresses to keep the list open (no subscription required) and avoid spam. With kind regards, Baurzhan
On Wed, 2024-04-17 at 09:15 +0200, 'B. Niedermayr' via isar-users wrote: > From: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> > > When adding items (e.g. foo) to the USER or GROUP variables, the > buildsystem automatically creates new variables (USER_foo). > One can then set these variables, or more precise, the variable > flags (e.g. USER_foo[password]) to control differents aspects > of the user creation. > Isar does not trigger a rebuild when applying changes to these > variable flags since they are not recognized by the > tasks signature generation. > > Signed-off-by: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> > --- > meta/classes/image-account-extension.bbclass | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/image-account-extension.bbclass > b/meta/classes/image-account-extension.bbclass > index 3d4e1d1dd175..7cfd5a6b9de5 100644 > --- a/meta/classes/image-account-extension.bbclass > +++ b/meta/classes/image-account-extension.bbclass > @@ -8,6 +8,16 @@ > USERS ??= "" > GROUPS ??= "" > > +python() { > + for entry in (d.getVar("GROUPS") or "").split(): > + group_entry = "GROUP_{}".format(entry) > + d.appendVarFlag("image_postprocess_accounts", "vardeps", " > {}".format(group_entry)) > + > + for entry in (d.getVar("USERS") or "").split(): > + user_entry = "USER_{}".format(entry) > + d.appendVarFlag("image_postprocess_accounts", "vardeps", " > {}".format(user_entry)) > +} > + > def image_create_groups(d: "DataSmart") -> None: > """Creates the groups defined in the ``GROUPS`` bitbake > variable. > Hi Benedikt, while fixing this please also add a dependency to the USERS, GROUPS and SDE variable as well. It looks like all that was missed in the initial implementation. Best regards, Felix > @@ -134,7 +144,7 @@ python image_postprocess_accounts() { > import os > if d.getVar("SOURCE_DATE_EPOCH") != None: > os.environ["SOURCE_DATE_EPOCH"] = > d.getVar("SOURCE_DATE_EPOCH") > - > + > image_create_groups(d) > image_create_users(d) > } > -- > 2.34.1 >
On Wed, 2024-04-17 at 21:27 +0000, Moessbauer, Felix (T CED OES-DE) wrote: > On Wed, 2024-04-17 at 09:15 +0200, 'B. Niedermayr' via isar-users > wrote: > > From: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> > > > > When adding items (e.g. foo) to the USER or GROUP variables, the > > buildsystem automatically creates new variables (USER_foo). > > One can then set these variables, or more precise, the variable > > flags (e.g. USER_foo[password]) to control differents aspects > > of the user creation. > > Isar does not trigger a rebuild when applying changes to these > > variable flags since they are not recognized by the > > tasks signature generation. > > > > Signed-off-by: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> > > --- > > meta/classes/image-account-extension.bbclass | 12 +++++++++++- > > 1 file changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/meta/classes/image-account-extension.bbclass > > b/meta/classes/image-account-extension.bbclass > > index 3d4e1d1dd175..7cfd5a6b9de5 100644 > > --- a/meta/classes/image-account-extension.bbclass > > +++ b/meta/classes/image-account-extension.bbclass > > @@ -8,6 +8,16 @@ > > USERS ??= "" > > GROUPS ??= "" > > > > +python() { > > + for entry in (d.getVar("GROUPS") or "").split(): > > + group_entry = "GROUP_{}".format(entry) > > + d.appendVarFlag("image_postprocess_accounts", "vardeps", " > > {}".format(group_entry)) > > + > > + for entry in (d.getVar("USERS") or "").split(): > > + user_entry = "USER_{}".format(entry) > > + d.appendVarFlag("image_postprocess_accounts", "vardeps", " > > {}".format(user_entry)) > > +} > > + > > def image_create_groups(d: "DataSmart") -> None: > > """Creates the groups defined in the ``GROUPS`` bitbake > > variable. > > > > Hi Benedikt, > > while fixing this please also add a dependency to the USERS, GROUPS and > SDE variable as well. It looks like all that was missed in the initial > implementation. > > Best regards, > Felix > > > @@ -134,7 +144,7 @@ python image_postprocess_accounts() { > > import os > > if d.getVar("SOURCE_DATE_EPOCH") != None: > > os.environ["SOURCE_DATE_EPOCH"] = > > d.getVar("SOURCE_DATE_EPOCH") > > - > > + > > image_create_groups(d) > > image_create_users(d) > > } > > -- > > 2.34.1 > > > > -- > Siemens AG, Technology > Linux Expert Center > > Hi Felix, yes makes sense. Thanks for the input. I'll send a v2. Regards, Benedikt
diff --git a/meta/classes/image-account-extension.bbclass b/meta/classes/image-account-extension.bbclass index 3d4e1d1dd175..7cfd5a6b9de5 100644 --- a/meta/classes/image-account-extension.bbclass +++ b/meta/classes/image-account-extension.bbclass @@ -8,6 +8,16 @@ USERS ??= "" GROUPS ??= "" +python() { + for entry in (d.getVar("GROUPS") or "").split(): + group_entry = "GROUP_{}".format(entry) + d.appendVarFlag("image_postprocess_accounts", "vardeps", " {}".format(group_entry)) + + for entry in (d.getVar("USERS") or "").split(): + user_entry = "USER_{}".format(entry) + d.appendVarFlag("image_postprocess_accounts", "vardeps", " {}".format(user_entry)) +} + def image_create_groups(d: "DataSmart") -> None: """Creates the groups defined in the ``GROUPS`` bitbake variable. @@ -134,7 +144,7 @@ python image_postprocess_accounts() { import os if d.getVar("SOURCE_DATE_EPOCH") != None: os.environ["SOURCE_DATE_EPOCH"] = d.getVar("SOURCE_DATE_EPOCH") - + image_create_groups(d) image_create_users(d) }