summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* scripts/oe-go-mod-autogen: allow repository mappingBruce Ashfield2024-07-151-3/+62
| | | | | | | | | I cases of failure to lookup a go.mod -> src repository allow a mapping to be specified as part of the tool. This allows us to avoid manually modifying .cache files and keep a generation running. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen: fix src_uri generationBruce Ashfield2024-07-111-5/+15
| | | | | | | | | The template code for writing SRC_URI entries contained commented lines with "%s", but those are picked up as replacement markers. As such, we failed to write a SRC_URI at all Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* scripts: adjust to syhead go source locationBruce Ashfield2024-06-041-1/+4
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen: clarify need to update main SRCREVBruce Ashfield2023-11-061-5/+11
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen: add extra information to duplicate module pathsBruce Ashfield2023-11-062-1/+34
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen: add README and extended --help informationBruce Ashfield2023-09-152-3/+178
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen: add -v alias for -dBruce Ashfield2023-09-151-0/+7
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod: enhance help messageBruce Ashfield2023-09-151-2/+18
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen: whitespace cleanup, license and copyrightBruce Ashfield2023-09-151-17/+37
| | | | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* oe-go-mod-autogen.py: add script to help adding/upgrading go mod recipesChen Qi2023-09-151-0/+663
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | oe-go-mod-autogen.py is a helper script for go mod recipes. It follows Bruce's initiative about how to deal with go mod recipes in OE. Example: cmd: <path_to>/meta-virtualization/scripts/oe-go-mod-autogen.py \ --repo https://github.com/docker/compose --rev v2.20.3 output: src_uri.inc, relocation.inc, modules.txt Copy these three generated files to replace the original ones, then we only need update PV and SRCREV, and docker-compose is upgraded. Below are some technical details. * get module's repo from module name This script checks the following two URLs to determine the module's repo. 1. https://<module_name_tweaked>?=go-get=1 2. https://pkg.go.dev/<module_name_tweaked> The module_name_tweaked is derived from module_name, with the last components removed one by one. Let me use two examples to explain this. For module_name sigs.k8s.io/json, the sigs.k8s.io/json is first used as module_name_tweaked for searching. And we can correctly get the repo URL, so the search stops. For module_name github.com/k3s-io/etcd/api/v3, the following ones are used as module_name_tweaked: github.com/k3s-io/etcd/api/v3 github.com/k3s-io/etcd/api github.com/k3s-io/etcd And when searching 'github.com/k3s-io/etcd', we get the repo URL, so the search stops. * determine the srcdir:destdir mapping in 'vendor' creation To correctly form the 'vendor' directory, the mapping is critical. This script makes use of tag matching and path matching to determine the subpath in the repo for the module. * avoid subpath being overriden by parent path We need to avoid subpath being overriden by parent path. This is needed for both SRC_URI ordering in src_uri.inc and the sites mapping ordering in relocation.inc. This script simply uses the length as the ordering key, simply for the reason that if a path is a subpath of another path, it must be longer. * the .git suffix is removed to sync with each other Unlike normal recipes, go mod recipe usually have many SRC_URIs. This script remove the '.git' suffix from repo URL so that the repo URLs are in sync with each. * basic directory hierarchy and caching mechanism <cwd>/repos: hold the repos downloaded and checked <cwd>/wget-contents: hold the contents to determine the module's repo <cwd>/wget-contents/<module_name>.repo_url.cache: the repo value cache This is to avoid unnecessary URL fetching and repo cloning. * the ERROR_OUT_ON_FETCH_AND_CHECKOUT_FAILURE switch in script The script must get the correct repo_url, fullsrc_rev and subpath for each required module in go.mod to correctly generate the src_uri.inc and relocation.inc files. If this process fails for any required module, this script stop immediately, as I deliberately set ERROR_OUT_ON_FETCH_AND_CHECKOUT_FAILURE to True in this script. The purpose is to encourage people to report problems to meta-virt so that we can improve this script according to these feedbacks. But this variable can set to False, then the script only records the failed modules in self.modules_unhandled with reasons added, people can modify the generated src_uri.inc and relocation.inc to manually handle these unhandled modules if they are urgent to add/upgrade some go mod recipes. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* wic: add support for bootable pcbios partition with Xen hypervisorChristopher Clark2020-02-271-0/+212
New bootimg-biosxen wic plugin to populate a boot partition for launching Xen and dom0. Includes example kickstart wks files to generate disk images to boot into Xen from PC BIOS. eg: wic create directdisk-xen -e xen-image-minimal and write the resulting image file to a disk for boot. Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>