* [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h
@ 2020-05-11 21:47 Romain Naour
2020-05-11 21:47 ` [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h Romain Naour
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Romain Naour @ 2020-05-11 21:47 UTC (permalink / raw)
To: buildroot
As reported by Nicolas Carrier on the Buildroot mailing list [1],
there is a new build issue while building a program which interacts with
the u-boot environment. This program uses the headers of the ubootenv
library provided by uboot-tools.
This is an upstream change from uboot [2] adding "#include <env.h>" to
fw_env.h. Adding env.h require a board configuration to build.
But only fw_env.h header is installed in the staging directory by
uboot-tools package, but since it now include env.h the build is broken
because env.h is missing from the staging directory.
It's seems an upstream bug since env_set() is not used in fw_env tool.
Nicolas removed env.h from fw_env tool and fixed it's build issue.
This problem is present since uboot v2019.10, so the uboot version
present in Buildroot 2020.02 is affected.
It's probably not a problem for upstream uboot but it's a problem
for uboot-tools package that build uboot tools without a board
configuration for the target.
[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html
[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e
Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
...0004-tools-env-fw_env.h-remove-env.h.patch | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch
diff --git a/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch
new file mode 100644
index 0000000000..8175ae139f
--- /dev/null
+++ b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch
@@ -0,0 +1,51 @@
+From 664ef61e19d6261d8984493b5f22127ec2ad44fc Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Sun, 10 May 2020 23:15:32 +0200
+Subject: [PATCH] tools/env/fw_env.h: remove env.h
+
+As reported by Nicolas Carrier on the Buildroot mailing list [1],
+there is a new build issue while building a program which interacts with
+the u-boot environment. This program uses the headers of the ubootenv
+library provided by uboot-tools.
+
+This is an upstream change from uboot [2] adding "#include <env.h>" to
+fw_env.h. Adding env.h require a board configuration to build.
+
+But only fw_env.h header is installed in the staging directory by
+uboot-tools package, but since it now include env.h the build is broken
+because env.h is missing from the staging directory.
+
+It's seems an upstream bug since env_set() is not used in fw_env tool.
+
+Adding env.h is an error since it also include compiler.h (and others
+uboot internal includes).
+
+Nicolas removed env.h from fw_env tool and fixed it's build issue.
+
+This problem is present since uboot v2019.10, so the uboot version
+present in Buildroot 2020.02 is affected.
+
+[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html
+[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e
+
+Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com>
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ tools/env/fw_env.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
+index b60fbfc8f8..78c803c944 100644
+--- a/tools/env/fw_env.h
++++ b/tools/env/fw_env.h
+@@ -4,7 +4,6 @@
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ */
+
+-#include <env.h>
+ #include <stdint.h>
+
+ /*
+--
+2.25.4
+
--
2.25.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h 2020-05-11 21:47 [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour @ 2020-05-11 21:47 ` Romain Naour 2020-05-26 20:59 ` Yann E. MORIN 2020-05-25 21:17 ` [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour 2020-05-26 20:55 ` Yann E. MORIN 2 siblings, 1 reply; 7+ messages in thread From: Romain Naour @ 2020-05-11 21:47 UTC (permalink / raw) To: buildroot From: Nicolas Carrier <nicolas.carrier@orolia.com> Nicolas Carrier proposed a package to reproduce the uboot-tools issue he reported [1] with uboot 2020.01 packaged in the Buildroot 2020.02 release. Add this package to the Buildroot testsuite in order to ckeck in gitlab if fw_env.h doesn't contain any header that require building uboot with a board configuration for the target. [1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Nicolas Carrier <nicolas.carrier@orolia.com> --- .../tests/boot/br2-external/uboot-tools/Config.in | 1 + .../boot/br2-external/uboot-tools/external.desc | 1 + .../boot/br2-external/uboot-tools/external.mk | 1 + .../package/uboot-tools-test/Config.in | 6 ++++++ .../package/uboot-tools-test/uboot-env-test.c | 14 ++++++++++++++ .../package/uboot-tools-test/uboot-tools-test.mk | 14 ++++++++++++++ support/testing/tests/boot/test_uboot_tools.py | 15 +++++++++++++++ 7 files changed, 52 insertions(+) create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/Config.in create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.desc create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.mk create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk create mode 100644 support/testing/tests/boot/test_uboot_tools.py diff --git a/support/testing/tests/boot/br2-external/uboot-tools/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/Config.in new file mode 100644 index 0000000000..3cd7c06bb8 --- /dev/null +++ b/support/testing/tests/boot/br2-external/uboot-tools/Config.in @@ -0,0 +1 @@ +source "$BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH/package/uboot-tools-test/Config.in" diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.desc b/support/testing/tests/boot/br2-external/uboot-tools/external.desc new file mode 100644 index 0000000000..2f8477edaf --- /dev/null +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.desc @@ -0,0 +1 @@ +name: UBOOT_TOOLS_TEST diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.mk b/support/testing/tests/boot/br2-external/uboot-tools/external.mk new file mode 100644 index 0000000000..61cfd5878f --- /dev/null +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH)/package/*/*.mk)) diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in new file mode 100644 index 0000000000..1bdc09a731 --- /dev/null +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_UBOOT_TOOLS_TEST + bool "uboot-tools-test" + select BR2_PACKAGE_UBOOT_TOOLS + help + Test code for fw_env.h inclusion. + diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c new file mode 100644 index 0000000000..0bd7c9993f --- /dev/null +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c @@ -0,0 +1,14 @@ +/* + * Based on http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html + */ + +#include <stdlib.h> +#include <fw_env.h> +#include <stdio.h> + +int main(void) +{ + puts("Hello world!"); + + return EXIT_SUCCESS; +} diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk new file mode 100644 index 0000000000..93937aa879 --- /dev/null +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# uboot-tools-test +# +################################################################################ + +UBOOT_TOOLS_TEST_DEPENDENCIES = uboot-tools + +define UBOOT_TOOLS_TEST_BUILD_CMDS + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -lubootenv \ + $(UBOOT_TOOLS_TEST_PKGDIR)/uboot-env-test.c -o $(@D)/uboot-env-test +endef + +$(eval $(generic-package)) diff --git a/support/testing/tests/boot/test_uboot_tools.py b/support/testing/tests/boot/test_uboot_tools.py new file mode 100644 index 0000000000..55a5fba3c6 --- /dev/null +++ b/support/testing/tests/boot/test_uboot_tools.py @@ -0,0 +1,15 @@ + +import infra.basetest + + +class TestUbootToolsEnv(infra.basetest.BRTest): + br2_external = [infra.filepath("tests/boot/br2-external/uboot-tools")] + config = \ + """ + BR2_aarch64=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_PACKAGE_UBOOT_TOOLS_TEST=y + """ + + def test_run(self): + pass -- 2.25.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h 2020-05-11 21:47 ` [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h Romain Naour @ 2020-05-26 20:59 ` Yann E. MORIN 2020-05-26 21:19 ` Romain Naour 0 siblings, 1 reply; 7+ messages in thread From: Yann E. MORIN @ 2020-05-26 20:59 UTC (permalink / raw) To: buildroot Romain, Nicolas, On 2020-05-11 23:47 +0200, Romain Naour spake thusly: > From: Nicolas Carrier <nicolas.carrier@orolia.com> > > Nicolas Carrier proposed a package to reproduce the uboot-tools issue > he reported [1] with uboot 2020.01 packaged in the Buildroot 2020.02 > release. > > Add this package to the Buildroot testsuite in order to ckeck in gitlab > if fw_env.h doesn't contain any header that require building uboot > with a board configuration for the target. Thanks for this test. However, our runtime infra is there to test that the integration of a package in Buildroot is working as expected, not as a build-test or regression test-suite ofr the upstream packages. So I've marked that patch as rejected. Regards, Yann E. MORIN. > [1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > > Signed-off-by: Romain Naour <romain.naour@gmail.com> > Cc: Nicolas Carrier <nicolas.carrier@orolia.com> > --- > .../tests/boot/br2-external/uboot-tools/Config.in | 1 + > .../boot/br2-external/uboot-tools/external.desc | 1 + > .../boot/br2-external/uboot-tools/external.mk | 1 + > .../package/uboot-tools-test/Config.in | 6 ++++++ > .../package/uboot-tools-test/uboot-env-test.c | 14 ++++++++++++++ > .../package/uboot-tools-test/uboot-tools-test.mk | 14 ++++++++++++++ > support/testing/tests/boot/test_uboot_tools.py | 15 +++++++++++++++ > 7 files changed, 52 insertions(+) > create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/Config.in > create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.desc > create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.mk > create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in > create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c > create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk > create mode 100644 support/testing/tests/boot/test_uboot_tools.py > > diff --git a/support/testing/tests/boot/br2-external/uboot-tools/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/Config.in > new file mode 100644 > index 0000000000..3cd7c06bb8 > --- /dev/null > +++ b/support/testing/tests/boot/br2-external/uboot-tools/Config.in > @@ -0,0 +1 @@ > +source "$BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH/package/uboot-tools-test/Config.in" > diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.desc b/support/testing/tests/boot/br2-external/uboot-tools/external.desc > new file mode 100644 > index 0000000000..2f8477edaf > --- /dev/null > +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.desc > @@ -0,0 +1 @@ > +name: UBOOT_TOOLS_TEST > diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.mk b/support/testing/tests/boot/br2-external/uboot-tools/external.mk > new file mode 100644 > index 0000000000..61cfd5878f > --- /dev/null > +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.mk > @@ -0,0 +1 @@ > +include $(sort $(wildcard $(BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH)/package/*/*.mk)) > diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in > new file mode 100644 > index 0000000000..1bdc09a731 > --- /dev/null > +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in > @@ -0,0 +1,6 @@ > +config BR2_PACKAGE_UBOOT_TOOLS_TEST > + bool "uboot-tools-test" > + select BR2_PACKAGE_UBOOT_TOOLS > + help > + Test code for fw_env.h inclusion. > + > diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c > new file mode 100644 > index 0000000000..0bd7c9993f > --- /dev/null > +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c > @@ -0,0 +1,14 @@ > +/* > + * Based on http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > + */ > + > +#include <stdlib.h> > +#include <fw_env.h> > +#include <stdio.h> > + > +int main(void) > +{ > + puts("Hello world!"); > + > + return EXIT_SUCCESS; > +} > diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk > new file mode 100644 > index 0000000000..93937aa879 > --- /dev/null > +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk > @@ -0,0 +1,14 @@ > +################################################################################ > +# > +# uboot-tools-test > +# > +################################################################################ > + > +UBOOT_TOOLS_TEST_DEPENDENCIES = uboot-tools > + > +define UBOOT_TOOLS_TEST_BUILD_CMDS > + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -lubootenv \ > + $(UBOOT_TOOLS_TEST_PKGDIR)/uboot-env-test.c -o $(@D)/uboot-env-test > +endef > + > +$(eval $(generic-package)) > diff --git a/support/testing/tests/boot/test_uboot_tools.py b/support/testing/tests/boot/test_uboot_tools.py > new file mode 100644 > index 0000000000..55a5fba3c6 > --- /dev/null > +++ b/support/testing/tests/boot/test_uboot_tools.py > @@ -0,0 +1,15 @@ > + > +import infra.basetest > + > + > +class TestUbootToolsEnv(infra.basetest.BRTest): > + br2_external = [infra.filepath("tests/boot/br2-external/uboot-tools")] > + config = \ > + """ > + BR2_aarch64=y > + BR2_TOOLCHAIN_EXTERNAL=y > + BR2_PACKAGE_UBOOT_TOOLS_TEST=y > + """ > + > + def test_run(self): > + pass > -- > 2.25.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h 2020-05-26 20:59 ` Yann E. MORIN @ 2020-05-26 21:19 ` Romain Naour 2020-05-26 21:25 ` Yann E. MORIN 0 siblings, 1 reply; 7+ messages in thread From: Romain Naour @ 2020-05-26 21:19 UTC (permalink / raw) To: buildroot Hi Yann, Le 26/05/2020 ? 22:59, Yann E. MORIN a ?crit?: > Romain, Nicolas, > > On 2020-05-11 23:47 +0200, Romain Naour spake thusly: >> From: Nicolas Carrier <nicolas.carrier@orolia.com> >> >> Nicolas Carrier proposed a package to reproduce the uboot-tools issue >> he reported [1] with uboot 2020.01 packaged in the Buildroot 2020.02 >> release. >> >> Add this package to the Buildroot testsuite in order to ckeck in gitlab >> if fw_env.h doesn't contain any header that require building uboot >> with a board configuration for the target. > > Thanks for this test. > > However, our runtime infra is there to test that the integration of a > package in Buildroot is working as expected, not as a build-test or > regression test-suite ofr the upstream packages. Is this patch (or similar) useful for you as maintainer to review/test the issue fixed by the previous patch ? Maybe it's too much for this small one. Best regards, Romain > > So I've marked that patch as rejected. > > Regards, > Yann E. MORIN. > >> [1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html >> >> Signed-off-by: Romain Naour <romain.naour@gmail.com> >> Cc: Nicolas Carrier <nicolas.carrier@orolia.com> >> --- >> .../tests/boot/br2-external/uboot-tools/Config.in | 1 + >> .../boot/br2-external/uboot-tools/external.desc | 1 + >> .../boot/br2-external/uboot-tools/external.mk | 1 + >> .../package/uboot-tools-test/Config.in | 6 ++++++ >> .../package/uboot-tools-test/uboot-env-test.c | 14 ++++++++++++++ >> .../package/uboot-tools-test/uboot-tools-test.mk | 14 ++++++++++++++ >> support/testing/tests/boot/test_uboot_tools.py | 15 +++++++++++++++ >> 7 files changed, 52 insertions(+) >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/Config.in >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.desc >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.mk >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk >> create mode 100644 support/testing/tests/boot/test_uboot_tools.py >> >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/Config.in >> new file mode 100644 >> index 0000000000..3cd7c06bb8 >> --- /dev/null >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/Config.in >> @@ -0,0 +1 @@ >> +source "$BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH/package/uboot-tools-test/Config.in" >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.desc b/support/testing/tests/boot/br2-external/uboot-tools/external.desc >> new file mode 100644 >> index 0000000000..2f8477edaf >> --- /dev/null >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.desc >> @@ -0,0 +1 @@ >> +name: UBOOT_TOOLS_TEST >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.mk b/support/testing/tests/boot/br2-external/uboot-tools/external.mk >> new file mode 100644 >> index 0000000000..61cfd5878f >> --- /dev/null >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.mk >> @@ -0,0 +1 @@ >> +include $(sort $(wildcard $(BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH)/package/*/*.mk)) >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in >> new file mode 100644 >> index 0000000000..1bdc09a731 >> --- /dev/null >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in >> @@ -0,0 +1,6 @@ >> +config BR2_PACKAGE_UBOOT_TOOLS_TEST >> + bool "uboot-tools-test" >> + select BR2_PACKAGE_UBOOT_TOOLS >> + help >> + Test code for fw_env.h inclusion. >> + >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c >> new file mode 100644 >> index 0000000000..0bd7c9993f >> --- /dev/null >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c >> @@ -0,0 +1,14 @@ >> +/* >> + * Based on http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html >> + */ >> + >> +#include <stdlib.h> >> +#include <fw_env.h> >> +#include <stdio.h> >> + >> +int main(void) >> +{ >> + puts("Hello world!"); >> + >> + return EXIT_SUCCESS; >> +} >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk >> new file mode 100644 >> index 0000000000..93937aa879 >> --- /dev/null >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk >> @@ -0,0 +1,14 @@ >> +################################################################################ >> +# >> +# uboot-tools-test >> +# >> +################################################################################ >> + >> +UBOOT_TOOLS_TEST_DEPENDENCIES = uboot-tools >> + >> +define UBOOT_TOOLS_TEST_BUILD_CMDS >> + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -lubootenv \ >> + $(UBOOT_TOOLS_TEST_PKGDIR)/uboot-env-test.c -o $(@D)/uboot-env-test >> +endef >> + >> +$(eval $(generic-package)) >> diff --git a/support/testing/tests/boot/test_uboot_tools.py b/support/testing/tests/boot/test_uboot_tools.py >> new file mode 100644 >> index 0000000000..55a5fba3c6 >> --- /dev/null >> +++ b/support/testing/tests/boot/test_uboot_tools.py >> @@ -0,0 +1,15 @@ >> + >> +import infra.basetest >> + >> + >> +class TestUbootToolsEnv(infra.basetest.BRTest): >> + br2_external = [infra.filepath("tests/boot/br2-external/uboot-tools")] >> + config = \ >> + """ >> + BR2_aarch64=y >> + BR2_TOOLCHAIN_EXTERNAL=y >> + BR2_PACKAGE_UBOOT_TOOLS_TEST=y >> + """ >> + >> + def test_run(self): >> + pass >> -- >> 2.25.4 >> >> _______________________________________________ >> buildroot mailing list >> buildroot at busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h 2020-05-26 21:19 ` Romain Naour @ 2020-05-26 21:25 ` Yann E. MORIN 0 siblings, 0 replies; 7+ messages in thread From: Yann E. MORIN @ 2020-05-26 21:25 UTC (permalink / raw) To: buildroot Romain, All, On 2020-05-26 23:19 +0200, Romain Naour spake thusly: > Le 26/05/2020 ? 22:59, Yann E. MORIN a ?crit?: > > Romain, Nicolas, > > > > On 2020-05-11 23:47 +0200, Romain Naour spake thusly: > >> From: Nicolas Carrier <nicolas.carrier@orolia.com> > >> > >> Nicolas Carrier proposed a package to reproduce the uboot-tools issue > >> he reported [1] with uboot 2020.01 packaged in the Buildroot 2020.02 > >> release. > >> > >> Add this package to the Buildroot testsuite in order to ckeck in gitlab > >> if fw_env.h doesn't contain any header that require building uboot > >> with a board configuration for the target. > > > > Thanks for this test. > > > > However, our runtime infra is there to test that the integration of a > > package in Buildroot is working as expected, not as a build-test or > > regression test-suite ofr the upstream packages. > > Is this patch (or similar) useful for you as maintainer to review/test the issue > fixed by the previous patch ? No it is not. A test-case that there is a failure without a known fix is interesting to investiogate, but when a fix is known, I won't bother with the test-case, unless the fix smells fishy... What was important for me was that you pointed at an upstream commit which accepted your patch. > Maybe it's too much for this small one. Yes. Note that having a test-cae to prove a point is important, but essentially for upstream. Thanks! :-) Regards, Yann E. MORIN. > Best regards, > Romain > > > > > So I've marked that patch as rejected. > > > > Regards, > > Yann E. MORIN. > > > >> [1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > >> > >> Signed-off-by: Romain Naour <romain.naour@gmail.com> > >> Cc: Nicolas Carrier <nicolas.carrier@orolia.com> > >> --- > >> .../tests/boot/br2-external/uboot-tools/Config.in | 1 + > >> .../boot/br2-external/uboot-tools/external.desc | 1 + > >> .../boot/br2-external/uboot-tools/external.mk | 1 + > >> .../package/uboot-tools-test/Config.in | 6 ++++++ > >> .../package/uboot-tools-test/uboot-env-test.c | 14 ++++++++++++++ > >> .../package/uboot-tools-test/uboot-tools-test.mk | 14 ++++++++++++++ > >> support/testing/tests/boot/test_uboot_tools.py | 15 +++++++++++++++ > >> 7 files changed, 52 insertions(+) > >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/Config.in > >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.desc > >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/external.mk > >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in > >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c > >> create mode 100644 support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk > >> create mode 100644 support/testing/tests/boot/test_uboot_tools.py > >> > >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/Config.in > >> new file mode 100644 > >> index 0000000000..3cd7c06bb8 > >> --- /dev/null > >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/Config.in > >> @@ -0,0 +1 @@ > >> +source "$BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH/package/uboot-tools-test/Config.in" > >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.desc b/support/testing/tests/boot/br2-external/uboot-tools/external.desc > >> new file mode 100644 > >> index 0000000000..2f8477edaf > >> --- /dev/null > >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.desc > >> @@ -0,0 +1 @@ > >> +name: UBOOT_TOOLS_TEST > >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/external.mk b/support/testing/tests/boot/br2-external/uboot-tools/external.mk > >> new file mode 100644 > >> index 0000000000..61cfd5878f > >> --- /dev/null > >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/external.mk > >> @@ -0,0 +1 @@ > >> +include $(sort $(wildcard $(BR2_EXTERNAL_UBOOT_TOOLS_TEST_PATH)/package/*/*.mk)) > >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in > >> new file mode 100644 > >> index 0000000000..1bdc09a731 > >> --- /dev/null > >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/Config.in > >> @@ -0,0 +1,6 @@ > >> +config BR2_PACKAGE_UBOOT_TOOLS_TEST > >> + bool "uboot-tools-test" > >> + select BR2_PACKAGE_UBOOT_TOOLS > >> + help > >> + Test code for fw_env.h inclusion. > >> + > >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c > >> new file mode 100644 > >> index 0000000000..0bd7c9993f > >> --- /dev/null > >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-env-test.c > >> @@ -0,0 +1,14 @@ > >> +/* > >> + * Based on http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > >> + */ > >> + > >> +#include <stdlib.h> > >> +#include <fw_env.h> > >> +#include <stdio.h> > >> + > >> +int main(void) > >> +{ > >> + puts("Hello world!"); > >> + > >> + return EXIT_SUCCESS; > >> +} > >> diff --git a/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk > >> new file mode 100644 > >> index 0000000000..93937aa879 > >> --- /dev/null > >> +++ b/support/testing/tests/boot/br2-external/uboot-tools/package/uboot-tools-test/uboot-tools-test.mk > >> @@ -0,0 +1,14 @@ > >> +################################################################################ > >> +# > >> +# uboot-tools-test > >> +# > >> +################################################################################ > >> + > >> +UBOOT_TOOLS_TEST_DEPENDENCIES = uboot-tools > >> + > >> +define UBOOT_TOOLS_TEST_BUILD_CMDS > >> + $(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -lubootenv \ > >> + $(UBOOT_TOOLS_TEST_PKGDIR)/uboot-env-test.c -o $(@D)/uboot-env-test > >> +endef > >> + > >> +$(eval $(generic-package)) > >> diff --git a/support/testing/tests/boot/test_uboot_tools.py b/support/testing/tests/boot/test_uboot_tools.py > >> new file mode 100644 > >> index 0000000000..55a5fba3c6 > >> --- /dev/null > >> +++ b/support/testing/tests/boot/test_uboot_tools.py > >> @@ -0,0 +1,15 @@ > >> + > >> +import infra.basetest > >> + > >> + > >> +class TestUbootToolsEnv(infra.basetest.BRTest): > >> + br2_external = [infra.filepath("tests/boot/br2-external/uboot-tools")] > >> + config = \ > >> + """ > >> + BR2_aarch64=y > >> + BR2_TOOLCHAIN_EXTERNAL=y > >> + BR2_PACKAGE_UBOOT_TOOLS_TEST=y > >> + """ > >> + > >> + def test_run(self): > >> + pass > >> -- > >> 2.25.4 > >> > >> _______________________________________________ > >> buildroot mailing list > >> buildroot at busybox.net > >> http://lists.busybox.net/mailman/listinfo/buildroot > > > -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h 2020-05-11 21:47 [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour 2020-05-11 21:47 ` [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h Romain Naour @ 2020-05-25 21:17 ` Romain Naour 2020-05-26 20:55 ` Yann E. MORIN 2 siblings, 0 replies; 7+ messages in thread From: Romain Naour @ 2020-05-25 21:17 UTC (permalink / raw) To: buildroot Hi, Le 11/05/2020 ? 23:47, Romain Naour a ?crit?: > As reported by Nicolas Carrier on the Buildroot mailing list [1], > there is a new build issue while building a program which interacts with > the u-boot environment. This program uses the headers of the ubootenv > library provided by uboot-tools. > > This is an upstream change from uboot [2] adding "#include <env.h>" to > fw_env.h. Adding env.h require a board configuration to build. > > But only fw_env.h header is installed in the staging directory by > uboot-tools package, but since it now include env.h the build is broken > because env.h is missing from the staging directory. > > It's seems an upstream bug since env_set() is not used in fw_env tool. > Nicolas removed env.h from fw_env tool and fixed it's build issue. > > This problem is present since uboot v2019.10, so the uboot version > present in Buildroot 2020.02 is affected. > > It's probably not a problem for upstream uboot but it's a problem > for uboot-tools package that build uboot tools without a board > configuration for the target. > > [1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > [2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e > > Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com> > Signed-off-by: Romain Naour <romain.naour@gmail.com> The patch is now upstream: https://gitlab.denx.de/u-boot/u-boot/-/commit/2aca8804d8d5f84d2d661e76e8d232c5c12445b5 Best regards, Romain > --- > ...0004-tools-env-fw_env.h-remove-env.h.patch | 51 +++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch > > diff --git a/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch > new file mode 100644 > index 0000000000..8175ae139f > --- /dev/null > +++ b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch > @@ -0,0 +1,51 @@ > +From 664ef61e19d6261d8984493b5f22127ec2ad44fc Mon Sep 17 00:00:00 2001 > +From: Romain Naour <romain.naour@gmail.com> > +Date: Sun, 10 May 2020 23:15:32 +0200 > +Subject: [PATCH] tools/env/fw_env.h: remove env.h > + > +As reported by Nicolas Carrier on the Buildroot mailing list [1], > +there is a new build issue while building a program which interacts with > +the u-boot environment. This program uses the headers of the ubootenv > +library provided by uboot-tools. > + > +This is an upstream change from uboot [2] adding "#include <env.h>" to > +fw_env.h. Adding env.h require a board configuration to build. > + > +But only fw_env.h header is installed in the staging directory by > +uboot-tools package, but since it now include env.h the build is broken > +because env.h is missing from the staging directory. > + > +It's seems an upstream bug since env_set() is not used in fw_env tool. > + > +Adding env.h is an error since it also include compiler.h (and others > +uboot internal includes). > + > +Nicolas removed env.h from fw_env tool and fixed it's build issue. > + > +This problem is present since uboot v2019.10, so the uboot version > +present in Buildroot 2020.02 is affected. > + > +[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > +[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e > + > +Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com> > +Signed-off-by: Romain Naour <romain.naour@gmail.com> > +--- > + tools/env/fw_env.h | 1 - > + 1 file changed, 1 deletion(-) > + > +diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h > +index b60fbfc8f8..78c803c944 100644 > +--- a/tools/env/fw_env.h > ++++ b/tools/env/fw_env.h > +@@ -4,7 +4,6 @@ > + * Wolfgang Denk, DENX Software Engineering, wd at denx.de. > + */ > + > +-#include <env.h> > + #include <stdint.h> > + > + /* > +-- > +2.25.4 > + > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h 2020-05-11 21:47 [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour 2020-05-11 21:47 ` [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h Romain Naour 2020-05-25 21:17 ` [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour @ 2020-05-26 20:55 ` Yann E. MORIN 2 siblings, 0 replies; 7+ messages in thread From: Yann E. MORIN @ 2020-05-26 20:55 UTC (permalink / raw) To: buildroot Romain, All, On 2020-05-11 23:47 +0200, Romain Naour spake thusly: > As reported by Nicolas Carrier on the Buildroot mailing list [1], > there is a new build issue while building a program which interacts with > the u-boot environment. This program uses the headers of the ubootenv > library provided by uboot-tools. > > This is an upstream change from uboot [2] adding "#include <env.h>" to > fw_env.h. Adding env.h require a board configuration to build. > > But only fw_env.h header is installed in the staging directory by > uboot-tools package, but since it now include env.h the build is broken > because env.h is missing from the staging directory. > > It's seems an upstream bug since env_set() is not used in fw_env tool. > Nicolas removed env.h from fw_env tool and fixed it's build issue. > > This problem is present since uboot v2019.10, so the uboot version > present in Buildroot 2020.02 is affected. > > It's probably not a problem for upstream uboot but it's a problem > for uboot-tools package that build uboot tools without a board > configuration for the target. > > [1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > [2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e > > Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com> > Signed-off-by: Romain Naour <romain.naour@gmail.com> Applied to master, thanks. I've just added the URL to the upstream commit. Regards, Yann E. MORIN. > --- > ...0004-tools-env-fw_env.h-remove-env.h.patch | 51 +++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch > > diff --git a/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch > new file mode 100644 > index 0000000000..8175ae139f > --- /dev/null > +++ b/package/uboot-tools/0004-tools-env-fw_env.h-remove-env.h.patch > @@ -0,0 +1,51 @@ > +From 664ef61e19d6261d8984493b5f22127ec2ad44fc Mon Sep 17 00:00:00 2001 > +From: Romain Naour <romain.naour@gmail.com> > +Date: Sun, 10 May 2020 23:15:32 +0200 > +Subject: [PATCH] tools/env/fw_env.h: remove env.h > + > +As reported by Nicolas Carrier on the Buildroot mailing list [1], > +there is a new build issue while building a program which interacts with > +the u-boot environment. This program uses the headers of the ubootenv > +library provided by uboot-tools. > + > +This is an upstream change from uboot [2] adding "#include <env.h>" to > +fw_env.h. Adding env.h require a board configuration to build. > + > +But only fw_env.h header is installed in the staging directory by > +uboot-tools package, but since it now include env.h the build is broken > +because env.h is missing from the staging directory. > + > +It's seems an upstream bug since env_set() is not used in fw_env tool. > + > +Adding env.h is an error since it also include compiler.h (and others > +uboot internal includes). > + > +Nicolas removed env.h from fw_env tool and fixed it's build issue. > + > +This problem is present since uboot v2019.10, so the uboot version > +present in Buildroot 2020.02 is affected. > + > +[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html > +[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e > + > +Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com> > +Signed-off-by: Romain Naour <romain.naour@gmail.com> > +--- > + tools/env/fw_env.h | 1 - > + 1 file changed, 1 deletion(-) > + > +diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h > +index b60fbfc8f8..78c803c944 100644 > +--- a/tools/env/fw_env.h > ++++ b/tools/env/fw_env.h > +@@ -4,7 +4,6 @@ > + * Wolfgang Denk, DENX Software Engineering, wd at denx.de. > + */ > + > +-#include <env.h> > + #include <stdint.h> > + > + /* > +-- > +2.25.4 > + > -- > 2.25.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-05-26 21:25 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-05-11 21:47 [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour 2020-05-11 21:47 ` [Buildroot] [PATCH 2/2] support/testing: test_uboot_tools: Add a test building a binary that include fw_env.h Romain Naour 2020-05-26 20:59 ` Yann E. MORIN 2020-05-26 21:19 ` Romain Naour 2020-05-26 21:25 ` Yann E. MORIN 2020-05-25 21:17 ` [Buildroot] [PATCH 1/2] package/uboot-tools: tools/env/fw_env.h: remove env.h Romain Naour 2020-05-26 20:55 ` Yann E. MORIN
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox