On 11/28/25 19:27, Alexander Kanavin via lists.openembedded.org wrote: > From: Alexander Kanavin <[email protected]> > > This allows disabling classes of fragments without knowing their full names, > e.g. > instead of > > $ bitbake-config-build disable-fragment machine/qemuarm > > one can issue > > $ bitbake-config-build disable-fragment machine > > to match and disable everything that starts with 'machine'. > > Add an --exact option to preserve exact maching (e.g. when > theres some/feature and some/feature-with-foobar both enabled > and only the first needs to be disabled).
Why not add a --wildcard option instead, and keep the default behavior backwards compatible? > Signed-off-by: Alexander Kanavin <[email protected]> > --- > meta/lib/bbconfigbuild/configfragments.py | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/meta/lib/bbconfigbuild/configfragments.py > b/meta/lib/bbconfigbuild/configfragments.py > index de521f0c149..f5b4dfe1ec2 100644 > --- a/meta/lib/bbconfigbuild/configfragments.py > +++ b/meta/lib/bbconfigbuild/configfragments.py > @@ -161,16 +161,19 @@ class ConfigFragmentsPlugin(LayerPlugin): > def disable_helper(varname, origvalue, op, newlines): > enabled_fragments = origvalue.split() > for f in args.fragmentname: > - if f in enabled_fragments: > - enabled_fragments.remove(f) > - else: > - print("Fragment {} not currently enabled in > {}".format(f, args.confpath)) > + for e in enabled_fragments[:]: > + if (not args.exact and e.startswith(f)) or f==e: > + print("Removing fragment {} from {}".format(e, > args.confpath)) > + enabled_fragments.remove(e) > return " ".join(enabled_fragments), None, 0, True > > self.create_conf(args.confpath) > modified = bb.utils.edit_metadata_file(args.confpath, > ["OE_FRAGMENTS"], disable_helper) > - if modified: > - print("Fragment {} removed from {}.".format(", > ".join(args.fragmentname), args.confpath)) > + if not modified: > + if args.exact: > + print("Fragment names {} matched nothing in {}.".format(", > ".join(args.fragmentname), args.confpath)) > + else: > + print("Fragment prefixes {} matched nothing in > {}.".format(", ".join(args.fragmentname), args.confpath)) > > def do_show_fragment(self, args): > """ Show the content of a fragment """ > @@ -210,7 +213,8 @@ class ConfigFragmentsPlugin(LayerPlugin): > > parser_disable_fragment = self.add_command(sp, 'disable-fragment', > self.do_disable_fragment, parserecipes=False) > parser_disable_fragment.add_argument("--confpath", > default=default_confpath, help='Configuration file which contains a list of > enabled fragments (default is {}).'.format(default_confpath)) > - parser_disable_fragment.add_argument('fragmentname', help='The name > of the fragment', nargs='+') > + parser_disable_fragment.add_argument('--exact', action='store_true', > help='Match fragment names exactly') > + parser_disable_fragment.add_argument('fragmentname', help='The name > of the fragment, or a name prefix to match', nargs='+') > > parser_show_fragment = self.add_command(sp, 'show-fragment', > self.do_show_fragment, parserecipes=False) > parser_show_fragment.add_argument('fragmentname', help='The name of > the fragment') > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#226930): https://lists.openembedded.org/g/openembedded-core/message/226930 Mute This Topic: https://lists.openembedded.org/mt/116517046/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
