* Re: [ptxdist] [EXT] Re: [PATCH] libfdt: New package.
@ 2024-01-04 12:51 Denis OSTERLAND-HEIM
2024-01-05 7:46 ` Michael Olbrich
0 siblings, 1 reply; 4+ messages in thread
From: Denis OSTERLAND-HEIM @ 2024-01-04 12:51 UTC (permalink / raw)
To: ptxdist
[-- Attachment #1: Type: text/plain, Size: 6171 bytes --]
Hi,
great work.
There is also rules/host-dtc.make which maybe can be simplified.
-----Original Message-----
From: ptxdist <ptxdist-bounces@pengutronix.de> On Behalf Of Ladislav Michl
Sent: Thursday, January 4, 2024 12:16 PM
To: ptxdist@pengutronix.de
Subject: [EXT] Re: [ptxdist] [PATCH] libfdt: New package.
[EXTERNAL EMAIL]
Hi Christian!
On Thu, Jan 04, 2024 at 10:26:42AM +0100, Christian Melki wrote:
> Hi Ladis,
>
> On 1/4/24 10:12 AM, Ladislav Michl wrote:
> > Hi,
> >
> > On Wed, Jan 03, 2024 at 08:23:52PM +0100, Christian Melki wrote:
> > > Add the device-tree-compiler source as libfdt.
> > > I guess the package could have been named dtc as a target variant
> > > with libfdt, but I don't know of any uses of the dtc on target
> > > environments.
> >
> > Appended my version created about two years ago... Those DTC tools
> > were used to patch devicetree during on field board upgrade when
> > moving from ancient kernel. Flash repartioning was part of that
> > upgrade as well as use of RAUC. Basically all userspace was moved to
> > ramdisk, detached from flash, new image was prepared and flashed at
> > once - single point of failure, board was dead when this failed, but
> > as far as I know, it never happened. So yes, dtc on target
> > environment is very usefull :)
> >
>
> Oh. Didn't know you already had a version.
>
> I would probably have written my own tool using libfdt, integrated
> into something else. :) But that isn't saying there is no need for
> anyone.
>
> > > So the only use I can think of is libfdt. I think the name is more
> > > accurate towards usage, but it isn't as symmetrical as the typical
> > > host-* and normal variants.
> >
> > In case you reconsider, I'll merge your and my variant (I didn't
> > bother with licenses as it was part of local BSP).
>
> I'll gladly reconsider. It's perfectly fine if there are usecases.
> Please go ahead and do a merge if you like.
> But keep binaries as optional. I prefer it that way.
>
> Either way, libfdt needs to happen on target because of qemu afaict.
Yes. I expect qemu select DTC once someone (hint, hint) updates qemu :)
Here's updated version, please give it a try.
-- >8 --
Subject: [PATCH] dtc: new package
From: Ladislav Michl <ladis@linux-mips.org>
Please note this package is not as symmetrical as the typical
host-* and normal variants. Here the latest version is usually needed.
This work is prepping for qemu 8.2.0+, as it requires libfdt as a separate
library. It has stopped providing one internally.
Signed-off-by: Christian Melki <christian.melki@t2data.com>
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
rules/dtc.in | 36 +++++++++++++++++++++++
rules/dtc.make | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 116 insertions(+)
create mode 100644 rules/dtc.in
create mode 100644 rules/dtc.make
diff --git a/rules/dtc.in b/rules/dtc.in new file mode 100644 index
000000000..2edb6f925
--- /dev/null
+++ b/rules/dtc.in
@@ -0,0 +1,36 @@
+## SECTION=system_libraries
+menuconfig DTC
+ tristate
+ prompt "dtc "
+ help
+ Device Tree Compiler (dtc) toolchain. While dtc itself is
+ occasionally needed for device tree manipulaton on the
+ target, libfdt may be required.
+
+if DTC
+
+config DTC_DTC
+ bool
+ prompt "dtc"
+
+config DTC_DTDIFF
+ bool
+ prompt "dtdiff"
+
+config DTC_FDTDUMP
+ bool
+ prompt "fdtdump"
+
+config DTC_FDTGET
+ bool
+ prompt "fdtget"
+
+config DTC_FDTOVERLAY
+ bool
+ prompt "fdtoverlay"
+
+config DTC_FDTPUT
+ bool
+ prompt "fdtput"
+
+endif
diff --git a/rules/dtc.make b/rules/dtc.make new file mode 100644 index
000000000..d0e6a7617
--- /dev/null
+++ b/rules/dtc.make
@@ -0,0 +1,80 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2022 Ladislav Michl <ladis@linux-mips.org> # Copyright
+(C) 2023 Christian Melki <christian.melki@t2data.com> # # For further
+information about the PTXdist project and license conditions # see the
+README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_DTC) += dtc
+
+#
+# Paths and names
+#
+DTC_VERSION := 1.7.0
+DTC_MD5 := 58f007905843f6ed6cecf820eeada0ef
+DTC := dtc-v$(DTC_VERSION)
+DTC_SUFFIX := tar.gz
+DTC_URL :=
https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/$(DTC).$(DTC_SUFFI
X)
+DTC_SOURCE := $(SRCDIR)/$(DTC).$(DTC_SUFFIX)
+DTC_DIR := $(BUILDDIR)/$(DTC)
+DTC_LICENSE := BSD-2-Clause OR GPL-2.0
+DTC_LICENSE_FILES := \
+ file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e \
+ file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927
+
+#
+-----------------------------------------------------------------------
+-----
+# Prepare
+#
+-----------------------------------------------------------------------
+-----
+
+DTC_CONF_TOOL := NO
+DTC_MAKE_OPT := \
+ PREFIX=/usr \
+ NO_PYTHON=1 \
+ NO_VALGRIND=1 \
+ NO_YAML=1 \
+ $(CROSS_ENV_CC)
+
+DTC_INSTALL_OPT := \
+ $(DTC_MAKE_OPT) \
+ install-bin \
+ install-includes \
+ install-lib
+
+#
+-----------------------------------------------------------------------
+-----
+# Target-Install
+#
+-----------------------------------------------------------------------
+-----
+
+DTC_BIN-y :=
DTC_BIN- is not defined
AFAIK it is okay to append to a not yet defined symbol
I would suggest to either define both or none.
Regards Denis
+DTC_BIN-$(PTXCONF_DTC_DTC) += dtc
+DTC_BIN-$(PTXCONF_DTC_DTDIFF) += dtdiff
+DTC_BIN-$(PTXCONF_DTC_FDTDUMP) += fdtdump
+DTC_BIN-$(PTXCONF_DTC_FDTGET) += fdtget
+DTC_BIN-$(PTXCONF_DTC_FDTOVERLAY) += fdtoverlay
+DTC_BIN-$(PTXCONF_DTC_FDTPUT) += fdtput
+
+$(STATEDIR)/dtc.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, dtc)
+ @$(call install_fixup, dtc,PRIORITY,optional)
+ @$(call install_fixup, dtc,SECTION,base)
+ @$(call install_fixup, dtc,AUTHOR,"Ladislav Michl
<ladis@linux-mips.org>")
+ @$(call install_fixup, dtc,DESCRIPTION,missing)
+
+ @$(call install_lib, dtc, 0, 0, 0644, libfdt-$(DTC_VERSION))
+
+ @$(foreach tool, $(DTC_BIN-y), \
+ $(call install_copy, dtc, 0, 0, 0755, -, \
+ /usr/bin/$(tool));)
+
+ @$(call install_finish, dtc)
+
+ @$(call touch)
+
+# vim: syntax=make
--
2.39.2
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3908 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [EXT] Re: [PATCH] libfdt: New package.
2024-01-04 12:51 [ptxdist] [EXT] Re: [PATCH] libfdt: New package Denis OSTERLAND-HEIM
@ 2024-01-05 7:46 ` Michael Olbrich
2024-01-05 8:53 ` Christian Melki
0 siblings, 1 reply; 4+ messages in thread
From: Michael Olbrich @ 2024-01-05 7:46 UTC (permalink / raw)
To: Denis OSTERLAND-HEIM; +Cc: ptxdist
On Thu, Jan 04, 2024 at 01:51:12PM +0100, Denis OSTERLAND-HEIM wrote:
> Hi,
>
> great work.
> There is also rules/host-dtc.make which maybe can be simplified.
>
> -----Original Message-----
> From: ptxdist <ptxdist-bounces@pengutronix.de> On Behalf Of Ladislav Michl
> Sent: Thursday, January 4, 2024 12:16 PM
> To: ptxdist@pengutronix.de
> Subject: [EXT] Re: [ptxdist] [PATCH] libfdt: New package.
>
> [EXTERNAL EMAIL]
>
>
> Hi Christian!
>
> On Thu, Jan 04, 2024 at 10:26:42AM +0100, Christian Melki wrote:
> > Hi Ladis,
> >
> > On 1/4/24 10:12 AM, Ladislav Michl wrote:
> > > Hi,
> > >
> > > On Wed, Jan 03, 2024 at 08:23:52PM +0100, Christian Melki wrote:
> > > > Add the device-tree-compiler source as libfdt.
> > > > I guess the package could have been named dtc as a target variant
> > > > with libfdt, but I don't know of any uses of the dtc on target
> > > > environments.
> > >
> > > Appended my version created about two years ago... Those DTC tools
> > > were used to patch devicetree during on field board upgrade when
> > > moving from ancient kernel. Flash repartioning was part of that
> > > upgrade as well as use of RAUC. Basically all userspace was moved to
> > > ramdisk, detached from flash, new image was prepared and flashed at
> > > once - single point of failure, board was dead when this failed, but
> > > as far as I know, it never happened. So yes, dtc on target
> > > environment is very usefull :)
> > >
> >
> > Oh. Didn't know you already had a version.
> >
> > I would probably have written my own tool using libfdt, integrated
> > into something else. :) But that isn't saying there is no need for
> > anyone.
> >
> > > > So the only use I can think of is libfdt. I think the name is more
> > > > accurate towards usage, but it isn't as symmetrical as the typical
> > > > host-* and normal variants.
> > >
> > > In case you reconsider, I'll merge your and my variant (I didn't
> > > bother with licenses as it was part of local BSP).
> >
> > I'll gladly reconsider. It's perfectly fine if there are usecases.
> > Please go ahead and do a merge if you like.
> > But keep binaries as optional. I prefer it that way.
> >
> > Either way, libfdt needs to happen on target because of qemu afaict.
>
> Yes. I expect qemu select DTC once someone (hint, hint) updates qemu :)
> Here's updated version, please give it a try.
>
> -- >8 --
>
> Subject: [PATCH] dtc: new package
>
> From: Ladislav Michl <ladis@linux-mips.org>
>
> Please note this package is not as symmetrical as the typical
> host-* and normal variants. Here the latest version is usually needed.
Right. It may be time to remove the special version handling in host-dtc
but that's a different discussion.
> This work is prepping for qemu 8.2.0+, as it requires libfdt as a separate
> library. It has stopped providing one internally.
>
> Signed-off-by: Christian Melki <christian.melki@t2data.com>
> Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
> ---
> rules/dtc.in | 36 +++++++++++++++++++++++
> rules/dtc.make | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 116 insertions(+)
> create mode 100644 rules/dtc.in
> create mode 100644 rules/dtc.make
>
> diff --git a/rules/dtc.in b/rules/dtc.in new file mode 100644 index
> 000000000..2edb6f925
> --- /dev/null
> +++ b/rules/dtc.in
> @@ -0,0 +1,36 @@
> +## SECTION=system_libraries
> +menuconfig DTC
> + tristate
> + prompt "dtc "
> + help
> + Device Tree Compiler (dtc) toolchain. While dtc itself is
> + occasionally needed for device tree manipulaton on the
> + target, libfdt may be required.
> +
> +if DTC
> +
> +config DTC_DTC
> + bool
> + prompt "dtc"
> +
> +config DTC_DTDIFF
> + bool
> + prompt "dtdiff"
> +
> +config DTC_FDTDUMP
> + bool
> + prompt "fdtdump"
> +
> +config DTC_FDTGET
> + bool
> + prompt "fdtget"
> +
> +config DTC_FDTOVERLAY
> + bool
> + prompt "fdtoverlay"
> +
> +config DTC_FDTPUT
> + bool
> + prompt "fdtput"
> +
> +endif
> diff --git a/rules/dtc.make b/rules/dtc.make new file mode 100644 index
> 000000000..d0e6a7617
> --- /dev/null
> +++ b/rules/dtc.make
> @@ -0,0 +1,80 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2022 Ladislav Michl <ladis@linux-mips.org> # Copyright
> +(C) 2023 Christian Melki <christian.melki@t2data.com> # # For further
> +information about the PTXdist project and license conditions # see the
> +README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_DTC) += dtc
> +
> +#
> +# Paths and names
> +#
> +DTC_VERSION := 1.7.0
> +DTC_MD5 := 58f007905843f6ed6cecf820eeada0ef
> +DTC := dtc-v$(DTC_VERSION)
> +DTC_SUFFIX := tar.gz
> +DTC_URL :=
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/$(DTC).$(DTC_SUFFI
> X)
> +DTC_SOURCE := $(SRCDIR)/$(DTC).$(DTC_SUFFIX)
> +DTC_DIR := $(BUILDDIR)/$(DTC)
> +DTC_LICENSE := BSD-2-Clause OR GPL-2.0
> +DTC_LICENSE_FILES := \
> + file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e \
> + file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> + file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927
> +
> +#
> +-----------------------------------------------------------------------
> +-----
> +# Prepare
> +#
> +-----------------------------------------------------------------------
> +-----
> +
> +DTC_CONF_TOOL := NO
> +DTC_MAKE_OPT := \
> + PREFIX=/usr \
> + NO_PYTHON=1 \
> + NO_VALGRIND=1 \
> + NO_YAML=1 \
> + $(CROSS_ENV_CC)
> +
> +DTC_INSTALL_OPT := \
> + $(DTC_MAKE_OPT) \
> + install-bin \
> + install-includes \
> + install-lib
> +
> +#
> +-----------------------------------------------------------------------
> +-----
> +# Target-Install
> +#
> +-----------------------------------------------------------------------
> +-----
> +
> +DTC_BIN-y :=
> DTC_BIN- is not defined
>
> AFAIK it is okay to append to a not yet defined symbol
>
> I would suggest to either define both or none.
Agreed.
> Regards Denis
> +DTC_BIN-$(PTXCONF_DTC_DTC) += dtc
> +DTC_BIN-$(PTXCONF_DTC_DTDIFF) += dtdiff
> +DTC_BIN-$(PTXCONF_DTC_FDTDUMP) += fdtdump
> +DTC_BIN-$(PTXCONF_DTC_FDTGET) += fdtget
> +DTC_BIN-$(PTXCONF_DTC_FDTOVERLAY) += fdtoverlay
> +DTC_BIN-$(PTXCONF_DTC_FDTPUT) += fdtput
> +
> +$(STATEDIR)/dtc.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, dtc)
> + @$(call install_fixup, dtc,PRIORITY,optional)
> + @$(call install_fixup, dtc,SECTION,base)
> + @$(call install_fixup, dtc,AUTHOR,"Ladislav Michl
> <ladis@linux-mips.org>")
> + @$(call install_fixup, dtc,DESCRIPTION,missing)
> +
> + @$(call install_lib, dtc, 0, 0, 0644, libfdt-$(DTC_VERSION))
> +
> + @$(foreach tool, $(DTC_BIN-y), \
> + $(call install_copy, dtc, 0, 0, 0755, -, \
> + /usr/bin/$(tool));)
/usr/bin/$(tool))$(ptx/nl))
Michael
> +
> + @$(call install_finish, dtc)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 2.39.2
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [EXT] Re: [PATCH] libfdt: New package.
2024-01-05 7:46 ` Michael Olbrich
@ 2024-01-05 8:53 ` Christian Melki
2024-01-05 9:01 ` Michael Olbrich
0 siblings, 1 reply; 4+ messages in thread
From: Christian Melki @ 2024-01-05 8:53 UTC (permalink / raw)
To: Michael Olbrich; +Cc: oss-lists, ptxdist
On 1/5/24 8:46 AM, Michael Olbrich wrote:
> On Thu, Jan 04, 2024 at 01:51:12PM +0100, Denis OSTERLAND-HEIM wrote:
>> Hi,
>>
>> great work.
>> There is also rules/host-dtc.make which maybe can be simplified.
>>
>> -----Original Message-----
>> From: ptxdist <ptxdist-bounces@pengutronix.de> On Behalf Of Ladislav Michl
>> Sent: Thursday, January 4, 2024 12:16 PM
>> To: ptxdist@pengutronix.de
>> Subject: [EXT] Re: [ptxdist] [PATCH] libfdt: New package.
>>
>> [EXTERNAL EMAIL]
>>
>>
>> Hi Christian!
>>
>> On Thu, Jan 04, 2024 at 10:26:42AM +0100, Christian Melki wrote:
>>> Hi Ladis,
>>>
>>> On 1/4/24 10:12 AM, Ladislav Michl wrote:
>>>> Hi,
>>>>
>>>> On Wed, Jan 03, 2024 at 08:23:52PM +0100, Christian Melki wrote:
>>>>> Add the device-tree-compiler source as libfdt.
>>>>> I guess the package could have been named dtc as a target variant
>>>>> with libfdt, but I don't know of any uses of the dtc on target
>>>>> environments.
>>>>
>>>> Appended my version created about two years ago... Those DTC tools
>>>> were used to patch devicetree during on field board upgrade when
>>>> moving from ancient kernel. Flash repartioning was part of that
>>>> upgrade as well as use of RAUC. Basically all userspace was moved to
>>>> ramdisk, detached from flash, new image was prepared and flashed at
>>>> once - single point of failure, board was dead when this failed, but
>>>> as far as I know, it never happened. So yes, dtc on target
>>>> environment is very usefull :)
>>>>
>>>
>>> Oh. Didn't know you already had a version.
>>>
>>> I would probably have written my own tool using libfdt, integrated
>>> into something else. :) But that isn't saying there is no need for
>>> anyone.
>>>
>>>>> So the only use I can think of is libfdt. I think the name is more
>>>>> accurate towards usage, but it isn't as symmetrical as the typical
>>>>> host-* and normal variants.
>>>>
>>>> In case you reconsider, I'll merge your and my variant (I didn't
>>>> bother with licenses as it was part of local BSP).
>>>
>>> I'll gladly reconsider. It's perfectly fine if there are usecases.
>>> Please go ahead and do a merge if you like.
>>> But keep binaries as optional. I prefer it that way.
>>>
>>> Either way, libfdt needs to happen on target because of qemu afaict.
>>
>> Yes. I expect qemu select DTC once someone (hint, hint) updates qemu :)
>> Here's updated version, please give it a try.
>>
>> -- >8 --
>>
>> Subject: [PATCH] dtc: new package
>>
>> From: Ladislav Michl <ladis@linux-mips.org>
>>
>> Please note this package is not as symmetrical as the typical
>> host-* and normal variants. Here the latest version is usually needed.
>
> Right. It may be time to remove the special version handling in host-dtc
> but that's a different discussion.
>
>> This work is prepping for qemu 8.2.0+, as it requires libfdt as a separate
>> library. It has stopped providing one internally.
>>
>> Signed-off-by: Christian Melki <christian.melki@t2data.com>
>> Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
>> ---
>> rules/dtc.in | 36 +++++++++++++++++++++++
>> rules/dtc.make | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 116 insertions(+)
>> create mode 100644 rules/dtc.in
>> create mode 100644 rules/dtc.make
>>
>> diff --git a/rules/dtc.in b/rules/dtc.in new file mode 100644 index
>> 000000000..2edb6f925
>> --- /dev/null
>> +++ b/rules/dtc.in
>> @@ -0,0 +1,36 @@
>> +## SECTION=system_libraries
>> +menuconfig DTC
>> + tristate
>> + prompt "dtc "
>> + help
>> + Device Tree Compiler (dtc) toolchain. While dtc itself is
>> + occasionally needed for device tree manipulaton on the
>> + target, libfdt may be required.
>> +
>> +if DTC
>> +
>> +config DTC_DTC
>> + bool
>> + prompt "dtc"
>> +
>> +config DTC_DTDIFF
>> + bool
>> + prompt "dtdiff"
>> +
>> +config DTC_FDTDUMP
>> + bool
>> + prompt "fdtdump"
>> +
>> +config DTC_FDTGET
>> + bool
>> + prompt "fdtget"
>> +
>> +config DTC_FDTOVERLAY
>> + bool
>> + prompt "fdtoverlay"
>> +
>> +config DTC_FDTPUT
>> + bool
>> + prompt "fdtput"
>> +
>> +endif
>> diff --git a/rules/dtc.make b/rules/dtc.make new file mode 100644 index
>> 000000000..d0e6a7617
>> --- /dev/null
>> +++ b/rules/dtc.make
>> @@ -0,0 +1,80 @@
>> +# -*-makefile-*-
>> +#
>> +# Copyright (C) 2022 Ladislav Michl <ladis@linux-mips.org> # Copyright
>> +(C) 2023 Christian Melki <christian.melki@t2data.com> # # For further
>> +information about the PTXdist project and license conditions # see the
>> +README file.
>> +#
>> +
>> +#
>> +# We provide this package
>> +#
>> +PACKAGES-$(PTXCONF_DTC) += dtc
>> +
>> +#
>> +# Paths and names
>> +#
>> +DTC_VERSION := 1.7.0
>> +DTC_MD5 := 58f007905843f6ed6cecf820eeada0ef
>> +DTC := dtc-v$(DTC_VERSION)
>> +DTC_SUFFIX := tar.gz
>> +DTC_URL :=
>> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/$(DTC).$(DTC_SUFFI
>> X)
>> +DTC_SOURCE := $(SRCDIR)/$(DTC).$(DTC_SUFFIX)
>> +DTC_DIR := $(BUILDDIR)/$(DTC)
>> +DTC_LICENSE := BSD-2-Clause OR GPL-2.0
>> +DTC_LICENSE_FILES := \
>> + file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e \
>> + file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>> + file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927
>> +
>> +#
>> +-----------------------------------------------------------------------
>> +-----
>> +# Prepare
>> +#
>> +-----------------------------------------------------------------------
>> +-----
>> +
>> +DTC_CONF_TOOL := NO
>> +DTC_MAKE_OPT := \
>> + PREFIX=/usr \
>> + NO_PYTHON=1 \
>> + NO_VALGRIND=1 \
>> + NO_YAML=1 \
>> + $(CROSS_ENV_CC)
Is it fine to do like this or should it be split into MAKE_ENV
with $(CROSS_ENV) and MAKE_OPT be free from CROSS things?
>> +
>> +DTC_INSTALL_OPT := \
>> + $(DTC_MAKE_OPT) \
>> + install-bin \
>> + install-includes \
>> + install-lib
>> +
>> +#
>> +-----------------------------------------------------------------------
>> +-----
>> +# Target-Install
>> +#
>> +-----------------------------------------------------------------------
>> +-----
>> +
>> +DTC_BIN-y :=
>> DTC_BIN- is not defined
>>
>> AFAIK it is okay to append to a not yet defined symbol
>>
>> I would suggest to either define both or none.
>
> Agreed.
>
>> Regards Denis
>> +DTC_BIN-$(PTXCONF_DTC_DTC) += dtc
>> +DTC_BIN-$(PTXCONF_DTC_DTDIFF) += dtdiff
>> +DTC_BIN-$(PTXCONF_DTC_FDTDUMP) += fdtdump
>> +DTC_BIN-$(PTXCONF_DTC_FDTGET) += fdtget
>> +DTC_BIN-$(PTXCONF_DTC_FDTOVERLAY) += fdtoverlay
>> +DTC_BIN-$(PTXCONF_DTC_FDTPUT) += fdtput
>> +
>> +$(STATEDIR)/dtc.targetinstall:
>> + @$(call targetinfo)
>> +
>> + @$(call install_init, dtc)
>> + @$(call install_fixup, dtc,PRIORITY,optional)
>> + @$(call install_fixup, dtc,SECTION,base)
>> + @$(call install_fixup, dtc,AUTHOR,"Ladislav Michl
>> <ladis@linux-mips.org>")
>> + @$(call install_fixup, dtc,DESCRIPTION,missing)
>> +
>> + @$(call install_lib, dtc, 0, 0, 0644, libfdt-$(DTC_VERSION))
>> +
>> + @$(foreach tool, $(DTC_BIN-y), \
>> + $(call install_copy, dtc, 0, 0, 0755, -, \
>> + /usr/bin/$(tool));)
>
> /usr/bin/$(tool))$(ptx/nl))
>
> Michael
>
>> +
>> + @$(call install_finish, dtc)
>> +
>> + @$(call touch)
>> +
>> +# vim: syntax=make
>> --
>> 2.39.2
>>
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [EXT] Re: [PATCH] libfdt: New package.
2024-01-05 8:53 ` Christian Melki
@ 2024-01-05 9:01 ` Michael Olbrich
0 siblings, 0 replies; 4+ messages in thread
From: Michael Olbrich @ 2024-01-05 9:01 UTC (permalink / raw)
To: Christian Melki; +Cc: oss-lists, ptxdist
On Fri, Jan 05, 2024 at 09:53:31AM +0100, Christian Melki wrote:
> On 1/5/24 8:46 AM, Michael Olbrich wrote:
> > On Thu, Jan 04, 2024 at 01:51:12PM +0100, Denis OSTERLAND-HEIM wrote:
> > > Hi,
> > >
> > > great work.
> > > There is also rules/host-dtc.make which maybe can be simplified.
> > >
> > > -----Original Message-----
> > > From: ptxdist <ptxdist-bounces@pengutronix.de> On Behalf Of Ladislav Michl
> > > Sent: Thursday, January 4, 2024 12:16 PM
> > > To: ptxdist@pengutronix.de
> > > Subject: [EXT] Re: [ptxdist] [PATCH] libfdt: New package.
> > >
> > > [EXTERNAL EMAIL]
> > >
> > > Hi Christian!
> > >
> > > On Thu, Jan 04, 2024 at 10:26:42AM +0100, Christian Melki wrote:
> > > > Hi Ladis,
> > > >
> > > > On 1/4/24 10:12 AM, Ladislav Michl wrote:
> > > > > Hi,
> > > > >
> > > > > On Wed, Jan 03, 2024 at 08:23:52PM +0100, Christian Melki wrote:
> > > > > > Add the device-tree-compiler source as libfdt.
> > > > > > I guess the package could have been named dtc as a target variant
> > > > > > with libfdt, but I don't know of any uses of the dtc on target
> > > > > > environments.
> > > > >
> > > > > Appended my version created about two years ago... Those DTC tools
> > > > > were used to patch devicetree during on field board upgrade when
> > > > > moving from ancient kernel. Flash repartioning was part of that
> > > > > upgrade as well as use of RAUC. Basically all userspace was moved to
> > > > > ramdisk, detached from flash, new image was prepared and flashed at
> > > > > once - single point of failure, board was dead when this failed, but
> > > > > as far as I know, it never happened. So yes, dtc on target
> > > > > environment is very usefull :)
> > > > >
> > > >
> > > > Oh. Didn't know you already had a version.
> > > >
> > > > I would probably have written my own tool using libfdt, integrated
> > > > into something else. :) But that isn't saying there is no need for
> > > > anyone.
> > > >
> > > > > > So the only use I can think of is libfdt. I think the name is more
> > > > > > accurate towards usage, but it isn't as symmetrical as the typical
> > > > > > host-* and normal variants.
> > > > >
> > > > > In case you reconsider, I'll merge your and my variant (I didn't
> > > > > bother with licenses as it was part of local BSP).
> > > >
> > > > I'll gladly reconsider. It's perfectly fine if there are usecases.
> > > > Please go ahead and do a merge if you like.
> > > > But keep binaries as optional. I prefer it that way.
> > > >
> > > > Either way, libfdt needs to happen on target because of qemu afaict.
> > >
> > > Yes. I expect qemu select DTC once someone (hint, hint) updates qemu :)
> > > Here's updated version, please give it a try.
> > >
> > > -- >8 --
> > >
> > > Subject: [PATCH] dtc: new package
> > >
> > > From: Ladislav Michl <ladis@linux-mips.org>
> > >
> > > Please note this package is not as symmetrical as the typical
> > > host-* and normal variants. Here the latest version is usually needed.
> >
> > Right. It may be time to remove the special version handling in host-dtc
> > but that's a different discussion.
> >
> > > This work is prepping for qemu 8.2.0+, as it requires libfdt as a separate
> > > library. It has stopped providing one internally.
> > >
> > > Signed-off-by: Christian Melki <christian.melki@t2data.com>
> > > Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
> > > ---
> > > rules/dtc.in | 36 +++++++++++++++++++++++
> > > rules/dtc.make | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++
> > > 2 files changed, 116 insertions(+)
> > > create mode 100644 rules/dtc.in
> > > create mode 100644 rules/dtc.make
> > >
> > > diff --git a/rules/dtc.in b/rules/dtc.in new file mode 100644 index
> > > 000000000..2edb6f925
> > > --- /dev/null
> > > +++ b/rules/dtc.in
> > > @@ -0,0 +1,36 @@
> > > +## SECTION=system_libraries
> > > +menuconfig DTC
> > > + tristate
> > > + prompt "dtc "
> > > + help
> > > + Device Tree Compiler (dtc) toolchain. While dtc itself is
> > > + occasionally needed for device tree manipulaton on the
> > > + target, libfdt may be required.
> > > +
> > > +if DTC
> > > +
> > > +config DTC_DTC
> > > + bool
> > > + prompt "dtc"
> > > +
> > > +config DTC_DTDIFF
> > > + bool
> > > + prompt "dtdiff"
> > > +
> > > +config DTC_FDTDUMP
> > > + bool
> > > + prompt "fdtdump"
> > > +
> > > +config DTC_FDTGET
> > > + bool
> > > + prompt "fdtget"
> > > +
> > > +config DTC_FDTOVERLAY
> > > + bool
> > > + prompt "fdtoverlay"
> > > +
> > > +config DTC_FDTPUT
> > > + bool
> > > + prompt "fdtput"
> > > +
> > > +endif
> > > diff --git a/rules/dtc.make b/rules/dtc.make new file mode 100644 index
> > > 000000000..d0e6a7617
> > > --- /dev/null
> > > +++ b/rules/dtc.make
> > > @@ -0,0 +1,80 @@
> > > +# -*-makefile-*-
> > > +#
> > > +# Copyright (C) 2022 Ladislav Michl <ladis@linux-mips.org> # Copyright
> > > +(C) 2023 Christian Melki <christian.melki@t2data.com> # # For further
> > > +information about the PTXdist project and license conditions # see the
> > > +README file.
> > > +#
> > > +
> > > +#
> > > +# We provide this package
> > > +#
> > > +PACKAGES-$(PTXCONF_DTC) += dtc
> > > +
> > > +#
> > > +# Paths and names
> > > +#
> > > +DTC_VERSION := 1.7.0
> > > +DTC_MD5 := 58f007905843f6ed6cecf820eeada0ef
> > > +DTC := dtc-v$(DTC_VERSION)
> > > +DTC_SUFFIX := tar.gz
> > > +DTC_URL :=
> > > https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/$(DTC).$(DTC_SUFFI
> > > X)
> > > +DTC_SOURCE := $(SRCDIR)/$(DTC).$(DTC_SUFFIX)
> > > +DTC_DIR := $(BUILDDIR)/$(DTC)
> > > +DTC_LICENSE := BSD-2-Clause OR GPL-2.0
> > > +DTC_LICENSE_FILES := \
> > > + file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e \
> > > + file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> > > + file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927
> > > +
> > > +#
> > > +-----------------------------------------------------------------------
> > > +-----
> > > +# Prepare
> > > +#
> > > +-----------------------------------------------------------------------
> > > +-----
> > > +
> > > +DTC_CONF_TOOL := NO
> > > +DTC_MAKE_OPT := \
> > > + PREFIX=/usr \
> > > + NO_PYTHON=1 \
> > > + NO_VALGRIND=1 \
> > > + NO_YAML=1 \
> > > + $(CROSS_ENV_CC)
>
> Is it fine to do like this or should it be split into MAKE_ENV
> with $(CROSS_ENV) and MAKE_OPT be free from CROSS things?
If the Makefile does not overwrite CC then you should just set
DTC_MAKE_ENV to $(CROSS_ENV). Only set stuff like this on _MAKE_OPT if you
explicitly need to overwrite definitions in the Makefile.
Michael
> > > +
> > > +DTC_INSTALL_OPT := \
> > > + $(DTC_MAKE_OPT) \
> > > + install-bin \
> > > + install-includes \
> > > + install-lib
> > > +
> > > +#
> > > +-----------------------------------------------------------------------
> > > +-----
> > > +# Target-Install
> > > +#
> > > +-----------------------------------------------------------------------
> > > +-----
> > > +
> > > +DTC_BIN-y :=
> > > DTC_BIN- is not defined
> > >
> > > AFAIK it is okay to append to a not yet defined symbol
> > >
> > > I would suggest to either define both or none.
> >
> > Agreed.
> >
> > > Regards Denis
> > > +DTC_BIN-$(PTXCONF_DTC_DTC) += dtc
> > > +DTC_BIN-$(PTXCONF_DTC_DTDIFF) += dtdiff
> > > +DTC_BIN-$(PTXCONF_DTC_FDTDUMP) += fdtdump
> > > +DTC_BIN-$(PTXCONF_DTC_FDTGET) += fdtget
> > > +DTC_BIN-$(PTXCONF_DTC_FDTOVERLAY) += fdtoverlay
> > > +DTC_BIN-$(PTXCONF_DTC_FDTPUT) += fdtput
> > > +
> > > +$(STATEDIR)/dtc.targetinstall:
> > > + @$(call targetinfo)
> > > +
> > > + @$(call install_init, dtc)
> > > + @$(call install_fixup, dtc,PRIORITY,optional)
> > > + @$(call install_fixup, dtc,SECTION,base)
> > > + @$(call install_fixup, dtc,AUTHOR,"Ladislav Michl
> > > <ladis@linux-mips.org>")
> > > + @$(call install_fixup, dtc,DESCRIPTION,missing)
> > > +
> > > + @$(call install_lib, dtc, 0, 0, 0644, libfdt-$(DTC_VERSION))
> > > +
> > > + @$(foreach tool, $(DTC_BIN-y), \
> > > + $(call install_copy, dtc, 0, 0, 0755, -, \
> > > + /usr/bin/$(tool));)
> >
> > /usr/bin/$(tool))$(ptx/nl))
> >
> > Michael
> >
> > > +
> > > + @$(call install_finish, dtc)
> > > +
> > > + @$(call touch)
> > > +
> > > +# vim: syntax=make
> > > --
> > > 2.39.2
> > >
> >
> >
> >
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-05 9:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-04 12:51 [ptxdist] [EXT] Re: [PATCH] libfdt: New package Denis OSTERLAND-HEIM
2024-01-05 7:46 ` Michael Olbrich
2024-01-05 8:53 ` Christian Melki
2024-01-05 9:01 ` Michael Olbrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox