Message ID | 20250211155958.RFC.16.a23c043b-97fa-49d9-a050-be7ae8efbe51@changeid |
---|---|
State | New |
Headers | show |
Series | Add vendor support for go, npm and rust | expand |
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Stefan Herbrechtsmeier via lists.openembedded.org > Sent: den 11 februari 2025 16:00 > To: openembedded-core@lists.openembedded.org > Cc: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > Subject: [OE-core] [RFC PATCH 16/30] classes: add vendor class I suggest using "vendor.bbclass: Add bbclass" as subject instead. And similar for the other commits that add new classes or updates existing ones. Using the actual file name as prefix makes it easier to see what is actually added/modified. //Peter > > From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > > Add a common vendor class with a prototype for the do_vendor_resolve > task and common dump and load SRC_URI_FILES function. > > Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > --- > > meta/classes-recipe/vendor.bbclass | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > create mode 100644 meta/classes-recipe/vendor.bbclass > > diff --git a/meta/classes-recipe/vendor.bbclass b/meta/classes- > recipe/vendor.bbclass > new file mode 100644 > index 0000000000..a99c9a3121 > --- /dev/null > +++ b/meta/classes-recipe/vendor.bbclass > @@ -0,0 +1,28 @@ > +# Copyright (C) 2025 Weidmueller Interface GmbH & Co. KG > +# Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > +# > +# SPDX-License-Identifier: MIT > +# > + > +VENDOR_DIR = "${WORKDIR}/vendor" > + > +inherit early > + > +def vendor_dump_uris(filepath, uris, d): > + import oe.vendor > + with open(filepath, "w") as f: > + oe.vendor.dump(f, uris) > + > +def vendor_load_uris(filepath, d): > + import oe.vendor > + with open(filepath, "r") as f: > + return oe.vendor.load(f) > + > + > +python vendor_do_vendor_resolve() { > + vendor_dump_uris([], d) > +} > +addtask vendor_resolve after do_patch_early before do_fetch > +do_vendor_resolve[cleandirs] += "${VENDOR_DIR}" > + > +EXPORT_FUNCTIONS do_vendor_resolve > -- > 2.39.5
diff --git a/meta/classes-recipe/vendor.bbclass b/meta/classes-recipe/vendor.bbclass new file mode 100644 index 0000000000..a99c9a3121 --- /dev/null +++ b/meta/classes-recipe/vendor.bbclass @@ -0,0 +1,28 @@ +# Copyright (C) 2025 Weidmueller Interface GmbH & Co. KG +# Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> +# +# SPDX-License-Identifier: MIT +# + +VENDOR_DIR = "${WORKDIR}/vendor" + +inherit early + +def vendor_dump_uris(filepath, uris, d): + import oe.vendor + with open(filepath, "w") as f: + oe.vendor.dump(f, uris) + +def vendor_load_uris(filepath, d): + import oe.vendor + with open(filepath, "r") as f: + return oe.vendor.load(f) + + +python vendor_do_vendor_resolve() { + vendor_dump_uris([], d) +} +addtask vendor_resolve after do_patch_early before do_fetch +do_vendor_resolve[cleandirs] += "${VENDOR_DIR}" + +EXPORT_FUNCTIONS do_vendor_resolve