From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Trevor Gamblin <tgamblin@baylibre.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][PATCH 2/3] python3-dtc: add from meta-virtualization
Date: Fri, 21 Jul 2023 16:15:55 +0200 [thread overview]
Message-ID: <202307211415555bb24012@mail.local> (raw)
In-Reply-To: <20230717164124.1026028-2-tgamblin@baylibre.com>
The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file.
python3-dtc (/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/recipes-devtools/python/python3-dtc_1.6.1.bb)
;)
On 17/07/2023 12:41:23-0400, Trevor Gamblin wrote:
> This provides pylibfdt, which is a runtime dependency for the dtschema
> module that we already carry in oe-core.
>
> Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
> ---
> ...erlay-make-overlay_get_target-public.patch | 132 ++++++++++++++++++
> .../python/python3-dtc_1.6.1.bb | 26 ++++
> 2 files changed, 158 insertions(+)
> create mode 100644 meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
> create mode 100644 meta/recipes-devtools/python/python3-dtc_1.6.1.bb
>
> diff --git a/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch b/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
> new file mode 100644
> index 0000000000..a2df482e3a
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch
> @@ -0,0 +1,132 @@
> +From 4d4703e0199fb3556c37694e4d951785abca22fd Mon Sep 17 00:00:00 2001
> +From: Bruce Ashfield <bruce.ashfield@gmail.com>
> +Date: Wed, 19 Jan 2022 12:46:42 -0500
> +Subject: [PATCH] Revert "libfdt: overlay: make overlay_get_target() public"
> +
> +This reverts commit 45f3d1a095dd3440578d5c6313eba555a791f3fb.
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +
> +---
> + libfdt/fdt_overlay.c | 29 ++++++++++++++++++++++-------
> + libfdt/libfdt.h | 18 ------------------
> + libfdt/version.lds | 1 -
> + 3 files changed, 22 insertions(+), 26 deletions(-)
> +
> +diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
> +index 5c0c398..d217e79 100644
> +--- a/libfdt/fdt_overlay.c
> ++++ b/libfdt/fdt_overlay.c
> +@@ -40,22 +40,37 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
> + return fdt32_to_cpu(*val);
> + }
> +
> +-int fdt_overlay_target_offset(const void *fdt, const void *fdto,
> +- int fragment_offset, char const **pathp)
> ++/**
> ++ * overlay_get_target - retrieves the offset of a fragment's target
> ++ * @fdt: Base device tree blob
> ++ * @fdto: Device tree overlay blob
> ++ * @fragment: node offset of the fragment in the overlay
> ++ * @pathp: pointer which receives the path of the target (or NULL)
> ++ *
> ++ * overlay_get_target() retrieves the target offset in the base
> ++ * device tree of a fragment, no matter how the actual targeting is
> ++ * done (through a phandle or a path)
> ++ *
> ++ * returns:
> ++ * the targeted node offset in the base device tree
> ++ * Negative error code on error
> ++ */
> ++static int overlay_get_target(const void *fdt, const void *fdto,
> ++ int fragment, char const **pathp)
> + {
> + uint32_t phandle;
> + const char *path = NULL;
> + int path_len = 0, ret;
> +
> + /* Try first to do a phandle based lookup */
> +- phandle = overlay_get_target_phandle(fdto, fragment_offset);
> ++ phandle = overlay_get_target_phandle(fdto, fragment);
> + if (phandle == (uint32_t)-1)
> + return -FDT_ERR_BADPHANDLE;
> +
> + /* no phandle, try path */
> + if (!phandle) {
> + /* And then a path based lookup */
> +- path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
> ++ path = fdt_getprop(fdto, fragment, "target-path", &path_len);
> + if (path)
> + ret = fdt_path_offset(fdt, path);
> + else
> +@@ -621,7 +636,7 @@ static int overlay_merge(void *fdt, void *fdto)
> + if (overlay < 0)
> + return overlay;
> +
> +- target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
> ++ target = overlay_get_target(fdt, fdto, fragment, NULL);
> + if (target < 0)
> + return target;
> +
> +@@ -764,7 +779,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
> + return -FDT_ERR_BADOVERLAY;
> +
> + /* get the target of the fragment */
> +- ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
> ++ ret = overlay_get_target(fdt, fdto, fragment, &target_path);
> + if (ret < 0)
> + return ret;
> + target = ret;
> +@@ -786,7 +801,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
> +
> + if (!target_path) {
> + /* again in case setprop_placeholder changed it */
> +- ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
> ++ ret = overlay_get_target(fdt, fdto, fragment, &target_path);
> + if (ret < 0)
> + return ret;
> + target = ret;
> +diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h
> +index a7f432c..7f117e8 100644
> +--- a/libfdt/libfdt.h
> ++++ b/libfdt/libfdt.h
> +@@ -2116,24 +2116,6 @@ int fdt_del_node(void *fdt, int nodeoffset);
> + */
> + int fdt_overlay_apply(void *fdt, void *fdto);
> +
> +-/**
> +- * fdt_overlay_target_offset - retrieves the offset of a fragment's target
> +- * @fdt: Base device tree blob
> +- * @fdto: Device tree overlay blob
> +- * @fragment_offset: node offset of the fragment in the overlay
> +- * @pathp: pointer which receives the path of the target (or NULL)
> +- *
> +- * fdt_overlay_target_offset() retrieves the target offset in the base
> +- * device tree of a fragment, no matter how the actual targeting is
> +- * done (through a phandle or a path)
> +- *
> +- * returns:
> +- * the targeted node offset in the base device tree
> +- * Negative error code on error
> +- */
> +-int fdt_overlay_target_offset(const void *fdt, const void *fdto,
> +- int fragment_offset, char const **pathp);
> +-
> + /**********************************************************************/
> + /* Debugging / informational functions */
> + /**********************************************************************/
> +diff --git a/libfdt/version.lds b/libfdt/version.lds
> +index cbce5d4..7ab85f1 100644
> +--- a/libfdt/version.lds
> ++++ b/libfdt/version.lds
> +@@ -77,7 +77,6 @@ LIBFDT_1.2 {
> + fdt_appendprop_addrrange;
> + fdt_setprop_inplace_namelen_partial;
> + fdt_create_with_flags;
> +- fdt_overlay_target_offset;
> + local:
> + *;
> + };
> +--
> +2.19.1
> +
> diff --git a/meta/recipes-devtools/python/python3-dtc_1.6.1.bb b/meta/recipes-devtools/python/python3-dtc_1.6.1.bb
> new file mode 100644
> index 0000000000..a868bd0109
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-dtc_1.6.1.bb
> @@ -0,0 +1,26 @@
> +SUMMARY = "Python Library for the Device Tree Compiler"
> +HOMEPAGE = "https://devicetree.org/"
> +DESCRIPTION = "A python library for the Device Tree Compiler, a tool used to manipulate Device Tree files which contain a data structure for describing hardware."
> +SECTION = "bootloader"
> +LICENSE = "GPL-2.0-only | BSD-2-Clause"
> +
> +DEPENDS = "flex-native bison-native swig-native python3-setuptools-scm-native libyaml dtc"
> +
> +SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=master \
> + file://0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch \
> + "
> +
> +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
> +
> +LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
> +
> +SRCREV = "c001fc01a43e7a06447c06ea3d50bd60641322b8"
> +
> +PV = "1.6.1+git${SRCPV}"
> +S = "${WORKDIR}/git"
> +
> +PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl"
> +
> +inherit setuptools3 pkgconfig
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.41.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184477): https://lists.openembedded.org/g/openembedded-core/message/184477
> Mute This Topic: https://lists.openembedded.org/mt/100198619/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2023-07-21 14:16 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-17 16:41 [OE-core][RESEND][PATCH 1/3] python3-dtschema: upgrade 2023.4 -> 2023.6.1 Trevor Gamblin
2023-07-17 16:41 ` [OE-core][PATCH 2/3] python3-dtc: add from meta-virtualization Trevor Gamblin
2023-07-21 14:15 ` Alexandre Belloni [this message]
2023-07-21 14:26 ` Trevor Gamblin
2023-07-17 16:41 ` [OE-core][PATCH 3/3] python3-dtschema: add python3-dtc to RDEPENDS Trevor Gamblin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202307211415555bb24012@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=tgamblin@baylibre.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox