On Tue, Nov 15, 2022, 9:42 AM Joshua Watt <jpewhac...@gmail.com> wrote:

> Steve,
>
> Please backport this to kirkstone and langdale.
>
> Thanks!
>

Ok, will do!

Steve



> On Fri, Nov 11, 2022 at 8:55 AM Joshua Watt <jpewhac...@gmail.com> wrote:
> >
> > Adds argument parsing to the conversion script so that the fields that
> > the script uses to do conversions can be customized on the command line.
> > The intention is to allows easier customization without having to fork
> > the script, and allow automated checking on 3rd party layers via CI
> > without false positives
> >
> > Signed-off-by: Joshua Watt <jpewhac...@gmail.com>
> > ---
> >  scripts/contrib/convert-overrides.py | 103 +++++++++++++++------------
> >  1 file changed, 57 insertions(+), 46 deletions(-)
> >
> > diff --git a/scripts/contrib/convert-overrides.py
> b/scripts/contrib/convert-overrides.py
> > index 4d41a4c4759..1939757f1bc 100755
> > --- a/scripts/contrib/convert-overrides.py
> > +++ b/scripts/contrib/convert-overrides.py
> > @@ -22,50 +22,62 @@ import sys
> >  import tempfile
> >  import shutil
> >  import mimetypes
> > +import argparse
> >
> > -if len(sys.argv) < 2:
> > -    print("Please specify a directory to run the conversion script
> against.")
> > -    sys.exit(1)
> > +parser = argparse.ArgumentParser(description="Convert override syntax")
> > +parser.add_argument("--override", "-o", action="append", default=[],
> help="Add additional strings to consider as an override (e.g. custom
> machines/distros")
> > +parser.add_argument("--skip", "-s", action="append", default=[],
> help="Add additional string to skip and not consider an override")
> > +parser.add_argument("--skip-ext", "-e", action="append", default=[],
> help="Additional file suffixes to skip when processing (e.g. '.foo')")
> > +parser.add_argument("--package-vars", action="append", default=[],
> help="Additional variables to treat as package variables")
> > +parser.add_argument("--image-vars", action="append", default=[],
> help="Additional variables to treat as image variables")
> > +parser.add_argument("--short-override", action="append", default=[],
> help="Additional strings to treat as short overrides")
> > +parser.add_argument("path", nargs="+", help="Paths to convert")
> > +
> > +args = parser.parse_args()
> >
> >  # List of strings to treat as overrides
> > -vars = ["append", "prepend", "remove"]
> > -vars = vars + ["qemuarm", "qemux86", "qemumips", "qemuppc",
> "qemuriscv", "qemuall"]
> > -vars = vars + ["genericx86", "edgerouter", "beaglebone-yocto"]
> > -vars = vars + ["armeb", "arm", "armv5", "armv6", "armv4", "powerpc64",
> "aarch64", "riscv32", "riscv64", "x86", "mips64", "powerpc"]
> > -vars = vars + ["mipsarch", "x86-x32", "mips16e", "microblaze",
> "e5500-64b", "mipsisa32", "mipsisa64"]
> > -vars = vars + ["class-native", "class-target", "class-cross-canadian",
> "class-cross", "class-devupstream"]
> > -vars = vars + ["tune-",  "pn-", "forcevariable"]
> > -vars = vars + ["libc-musl", "libc-glibc",
> "libc-newlib","libc-baremetal"]
> > -vars = vars + ["task-configure", "task-compile", "task-install",
> "task-clean", "task-image-qa", "task-rm_work", "task-image-complete",
> "task-populate-sdk"]
> > -vars = vars + ["toolchain-clang", "mydistro", "nios2", "sdkmingw32",
> "overrideone", "overridetwo"]
> > -vars = vars + ["linux-gnux32", "linux-muslx32", "linux-gnun32",
> "mingw32", "poky", "darwin", "linuxstdbase"]
> > -vars = vars + ["linux-gnueabi", "eabi"]
> > -vars = vars + ["virtclass-multilib", "virtclass-mcextend"]
> > +vars = args.override
> > +vars += ["append", "prepend", "remove"]
> > +vars += ["qemuarm", "qemux86", "qemumips", "qemuppc", "qemuriscv",
> "qemuall"]
> > +vars += ["genericx86", "edgerouter", "beaglebone-yocto"]
> > +vars += ["armeb", "arm", "armv5", "armv6", "armv4", "powerpc64",
> "aarch64", "riscv32", "riscv64", "x86", "mips64", "powerpc"]
> > +vars += ["mipsarch", "x86-x32", "mips16e", "microblaze", "e5500-64b",
> "mipsisa32", "mipsisa64"]
> > +vars += ["class-native", "class-target", "class-cross-canadian",
> "class-cross", "class-devupstream"]
> > +vars += ["tune-",  "pn-", "forcevariable"]
> > +vars += ["libc-musl", "libc-glibc", "libc-newlib","libc-baremetal"]
> > +vars += ["task-configure", "task-compile", "task-install",
> "task-clean", "task-image-qa", "task-rm_work", "task-image-complete",
> "task-populate-sdk"]
> > +vars += ["toolchain-clang", "mydistro", "nios2", "sdkmingw32",
> "overrideone", "overridetwo"]
> > +vars += ["linux-gnux32", "linux-muslx32", "linux-gnun32", "mingw32",
> "poky", "darwin", "linuxstdbase"]
> > +vars += ["linux-gnueabi", "eabi"]
> > +vars += ["virtclass-multilib", "virtclass-mcextend"]
> >
> >  # List of strings to treat as overrides but only with whitespace
> following or another override (more restricted matching).
> >  # Handles issues with arc matching arch.
> > -shortvars = ["arc", "mips", "mipsel", "sh4"]
> > +shortvars = ["arc", "mips", "mipsel", "sh4"] + args.short_override
> >
> >  # Variables which take packagenames as an override
> >  packagevars = ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY",
> "DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY",
> >                "pkg_postrm", "pkg_postinst_ontarget", "pkg_postinst",
> "INITSCRIPT_NAME", "INITSCRIPT_PARAMS", "DEBIAN_NOAUTONAME", "ALTERNATIVE",
> >                "PKGE", "PKGV", "PKGR", "USERADD_PARAM",
> "GROUPADD_PARAM", "CONFFILES", "SYSTEMD_SERVICE", "LICENSE", "SECTION",
> "pkg_preinst",
> >                "pkg_prerm", "RREPLACES", "GROUPMEMS_PARAM",
> "SYSTEMD_AUTO_ENABLE", "SKIP_FILEDEPS", "PRIVATE_LIBS",
> "PACKAGE_ADD_METADATA",
> > -              "INSANE_SKIP", "DEBIANNAME", "SYSTEMD_SERVICE_ESCAPED"]
> > +              "INSANE_SKIP", "DEBIANNAME", "SYSTEMD_SERVICE_ESCAPED"] +
> args.package_vars
> >
> >  # Expressions to skip if encountered, these are not overrides
> > -skips = ["parser_append", "recipe_to_append", "extra_append",
> "to_remove", "show_appends", "applied_appends", "file_appends",
> "handle_remove"]
> > -skips = skips + ["expanded_removes", "color_remove", "test_remove",
> "empty_remove", "toaster_prepend", "num_removed", "licfiles_append",
> "_write_append"]
> > -skips = skips + ["no_report_remove", "test_prepend", "test_append",
> "multiple_append", "test_remove", "shallow_remove", "do_remove_layer",
> "first_append"]
> > -skips = skips + ["parser_remove", "to_append", "no_remove",
> "bblayers_add_remove", "bblayers_remove", "apply_append", "is_x86",
> "base_dep_prepend"]
> > -skips = skips + ["autotools_dep_prepend", "go_map_arm",
> "alt_remove_links", "systemd_append_file", "file_append",
> "process_file_darwin"]
> > -skips = skips + ["run_loaddata_poky", "determine_if_poky_env",
> "do_populate_poky_src", "libc_cv_include_x86_isa_level", "test_rpm_remove",
> "do_install_armmultilib"]
> > -skips = skips + ["get_appends_for_files", "test_doubleref_remove",
> "test_bitbakelayers_add_remove", "elf32_x86_64", "colour_remove",
> "revmap_remove"]
> > -skips = skips + ["test_rpm_remove", "test_bitbakelayers_add_remove",
> "recipe_append_file", "log_data_removed", "recipe_append",
> "systemd_machine_unit_append"]
> > -skips = skips + ["recipetool_append", "changetype_remove",
> "try_appendfile_wc", "test_qemux86_directdisk", "test_layer_appends",
> "tgz_removed"]
> > -
> > -imagevars = ["IMAGE_CMD", "EXTRA_IMAGECMD", "IMAGE_TYPEDEP",
> "CONVERSION_CMD", "COMPRESS_CMD"]
> > -packagevars = packagevars + imagevars
> > +skips = args.skip
> > +skips += ["parser_append", "recipe_to_append", "extra_append",
> "to_remove", "show_appends", "applied_appends", "file_appends",
> "handle_remove"]
> > +skips += ["expanded_removes", "color_remove", "test_remove",
> "empty_remove", "toaster_prepend", "num_removed", "licfiles_append",
> "_write_append"]
> > +skips += ["no_report_remove", "test_prepend", "test_append",
> "multiple_append", "test_remove", "shallow_remove", "do_remove_layer",
> "first_append"]
> > +skips += ["parser_remove", "to_append", "no_remove",
> "bblayers_add_remove", "bblayers_remove", "apply_append", "is_x86",
> "base_dep_prepend"]
> > +skips += ["autotools_dep_prepend", "go_map_arm", "alt_remove_links",
> "systemd_append_file", "file_append", "process_file_darwin"]
> > +skips += ["run_loaddata_poky", "determine_if_poky_env",
> "do_populate_poky_src", "libc_cv_include_x86_isa_level", "test_rpm_remove",
> "do_install_armmultilib"]
> > +skips += ["get_appends_for_files", "test_doubleref_remove",
> "test_bitbakelayers_add_remove", "elf32_x86_64", "colour_remove",
> "revmap_remove"]
> > +skips += ["test_rpm_remove", "test_bitbakelayers_add_remove",
> "recipe_append_file", "log_data_removed", "recipe_append",
> "systemd_machine_unit_append"]
> > +skips += ["recipetool_append", "changetype_remove",
> "try_appendfile_wc", "test_qemux86_directdisk", "test_layer_appends",
> "tgz_removed"]
> > +
> > +imagevars = ["IMAGE_CMD", "EXTRA_IMAGECMD", "IMAGE_TYPEDEP",
> "CONVERSION_CMD", "COMPRESS_CMD"] + args.image_vars
> > +packagevars += imagevars
> > +
> > +skip_ext = [".html", ".patch", ".m4", ".diff"] + args.skip_ext
> >
> >  vars_re = {}
> >  for exp in vars:
> > @@ -124,21 +136,20 @@ def processfile(fn):
> >  ourname = os.path.basename(sys.argv[0])
> >  ourversion = "0.9.3"
> >
> > -if os.path.isfile(sys.argv[1]):
> > -    processfile(sys.argv[1])
> > -    sys.exit(0)
> > -
> > -for targetdir in sys.argv[1:]:
> > -    print("processing directory '%s'" % targetdir)
> > -    for root, dirs, files in os.walk(targetdir):
> > -        for name in files:
> > -            if name == ourname:
> > -                continue
> > -            fn = os.path.join(root, name)
> > -            if os.path.islink(fn):
> > -                continue
> > -            if "/.git/" in fn or fn.endswith(".html") or
> fn.endswith(".patch") or fn.endswith(".m4") or fn.endswith(".diff"):
> > -                continue
> > -            processfile(fn)
> > +for p in args.path:
> > +    if os.path.isfile(p):
> > +        processfile(p)
> > +    else:
> > +        print("processing directory '%s'" % p)
> > +        for root, dirs, files in os.walk(p):
> > +            for name in files:
> > +                if name == ourname:
> > +                    continue
> > +                fn = os.path.join(root, name)
> > +                if os.path.islink(fn):
> > +                    continue
> > +                if "/.git/" in fn or any(fn.endswith(ext) for ext in
> skip_ext):
> > +                    continue
> > +                processfile(fn)
> >
> >  print("All files processed with version %s" % ourversion)
> > --
> > 2.33.0
> >
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#173357): 
https://lists.openembedded.org/g/openembedded-core/message/173357
Mute This Topic: https://lists.openembedded.org/mt/94960013/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to