On Tue, Dec 6, 2022 at 4:40 AM Joshua Watt <jpewhac...@gmail.com> wrote:
> I don't see this one in (or pending for) kirkstone yet? Oops, I thought I had done that. Sorry! I've got it now for both langdale and kirkstone. Steve > On Tue, Nov 15, 2022 at 3:56 PM Steve Sakoman <st...@sakoman.com> wrote: > > > > > > > > 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 (#174321): https://lists.openembedded.org/g/openembedded-core/message/174321 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] -=-=-=-=-=-=-=-=-=-=-=-