On Thu, Jul 8, 2021 at 12:43 AM Christopher Clark
<[email protected]> wrote:
>
> From: Christopher Clark <[email protected]>
>
> This device tree tooling is being added as a prequisite for enabling
> qemuboot to run Xen system images with device trees generated for Qemu.
>
> lopper: a tool for performing operations on device tree files.
> A new recipe inspired by the original from meta-xilinx-bsp.
>
> python-dtc: a python library for the Device Tree compiler.
> This is a prerequisite for lopper. Imported from meta-xilinx-bsp with an
> updated SRCREV and DESCRIPTION for the latest release, version 1.6.1.
>
> Signed-off-by: Christopher Clark <[email protected]>
> ---
>  recipes-kernel/dtc/python3-dtc_1.6.1.bb | 26 ++++++++++++++
>  recipes-kernel/lopper/lopper.bb         | 45 +++++++++++++++++++++++++
>  2 files changed, 71 insertions(+)
>  create mode 100644 recipes-kernel/dtc/python3-dtc_1.6.1.bb
>  create mode 100644 recipes-kernel/lopper/lopper.bb
>
> diff --git a/recipes-kernel/dtc/python3-dtc_1.6.1.bb 
> b/recipes-kernel/dtc/python3-dtc_1.6.1.bb
> new file mode 100644
> index 0000000..5374029
> --- /dev/null
> +++ b/recipes-kernel/dtc/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 = "GPLv2 | BSD"
> +
> +DEPENDS = "flex-native bison-native swig-native libyaml dtc"
> +
> +SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git"
> +
> +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
> +
> +LIC_FILES_CHKSUM = 
> "file://libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
> +
> +SRCREV = "ecaeb97fec013973360e94888a7de645f084345c"
> +
> +S = "${WORKDIR}/git/pylibfdt"
> +
> +inherit distutils3
> +
> +do_configure_prepend() {

Sorry for being so slow on the review of this, I was deep into getting
the umoci backend to work for OCI image creation and am just getting
to reviews now!

> +    make -C "${S}/.." version_gen.h

Two minor thoughts on the line above:

 - did you try oe_runmake ? versus the bare 'make' call ? I always
forget to do that myself.
 - the ${S}/.. concerned me at first, until I took a close look at
${S}. Could we use "${WORKDIR}/git/" instead ? That doesn't make it
look like we are scribbling outside of ${S}.

> +    mv "${S}/../version_gen.h" "${S}/"
> +}
> +
> +BBCLASSEXTEND = "native nativesdk"
> diff --git a/recipes-kernel/lopper/lopper.bb b/recipes-kernel/lopper/lopper.bb
> new file mode 100644
> index 0000000..274d5b9
> --- /dev/null
> +++ b/recipes-kernel/lopper/lopper.bb
> @@ -0,0 +1,45 @@
> +SUMMARY = "Device Tree Lopper"
> +DESCRIPTION = "Tool for manipulation of system device tree files"
> +LICENSE = "BSD-3-Clause"
> +SECTION = "bootloader"
> +
> +SRC_URI = "git://github.com/devicetree-org/lopper.git"
> +SRCREV = "0c23e51d585608ab04009ccf3499f168e2f4d478"
> +S = "${WORKDIR}/git"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8e5f5f691f01c9fdfa7a7f2d535be619"
> +
> +RDEPENDS_${PN} = " \
> +    python3-core \
> +    python3-dtc \
> +    python3-humanfriendly \
> +    "
> +
> +do_install() {
> +    install -d "${D}/${bindir}"
> +    install -d "${D}/${datadir}/${BPN}"
> +
> +    install -m 0644 "${S}/README" "${D}/${datadir}/${BPN}"
> +    install -m 0644 "${S}/README-architecture.txt" "${D}/${datadir}/${BPN}"
> +    install -m 0644 "${S}/README.pydoc" "${D}/${datadir}/${BPN}"
> +    install -m 0644 "${S}/LICENSE.md" "${D}/${datadir}/${BPN}"
> +
> +    install -d "${D}/${datadir}/${BPN}/assists"
> +    install -m 0644 "${S}/assists/"* "${D}/${datadir}/${BPN}/assists/"
> +
> +    install -d "${D}/${datadir}/${BPN}/lops"
> +    install -m 0644 "${S}/lops/"* "${D}/${datadir}/${BPN}/lops/"
> +
> +    install -d "${D}/${datadir}/${BPN}/device-trees"
> +    install -m 0644 "${S}/device-trees/"* 
> "${D}/${datadir}/${BPN}/device-trees/"
> +
> +    install -m 0755 "${S}/"lopper*.py "${D}/${datadir}/${BPN}/"
> +
> +    datadir_relpath=${@os.path.relpath(d.getVar('datadir'), 
> d.getVar('bindir'))}
> +    ln -s "${datadir_relpath}/${BPN}/lopper.py" "${D}/${bindir}/"

This looks good to me. I'm working on getting lopper into a pypi
format, but I'll take care of updating this recipe once that work is
complete.

Bruce

> +}
> +
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.25.1
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6649): 
https://lists.yoctoproject.org/g/meta-virtualization/message/6649
Mute This Topic: https://lists.yoctoproject.org/mt/84061640/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to