* [PATCH 2/4] common: print buildsystem version in barebox banner
2020-09-23 10:34 [PATCH 1/4] Makefile: add buildsystem version variable Steffen Trumtrar
@ 2020-09-23 10:34 ` Steffen Trumtrar
2020-09-23 10:34 ` [PATCH 3/4] common: globalvar: add variable for buildsystem_version_string Steffen Trumtrar
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Steffen Trumtrar @ 2020-09-23 10:34 UTC (permalink / raw)
To: Barebox List
When the barebox banner is enabled and printed during startup, also show
information about the buildsystem version: the exact state of the
barebox binary and its config.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
common/version.c | 6 ++++++
include/common.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/common/version.c b/common/version.c
index 8b1fd4dbe756..54cec5335d9c 100644
--- a/common/version.c
+++ b/common/version.c
@@ -10,11 +10,17 @@ const char release_string[] =
"barebox-" UTS_RELEASE;
EXPORT_SYMBOL(release_string);
+const char buildsystem_version_string[] =
+ BUILDSYSTEM_VERSION;
+EXPORT_SYMBOL(buildsystem_version_string);
+
#ifdef CONFIG_BANNER
void barebox_banner (void)
{
printf("\n\n");
pr_info("%s", version_string);
+ if (strlen(buildsystem_version_string) > 0)
+ pr_info("Buildsystem version: %s", buildsystem_version_string);
printf("\n\n");
pr_info("Board: %s\n", barebox_get_model());
}
diff --git a/include/common.h b/include/common.h
index ceb0b358bd44..693f5bf97029 100644
--- a/include/common.h
+++ b/include/common.h
@@ -124,6 +124,7 @@ int memcpy_parse_options(int argc, char *argv[], int *sourcefd,
extern const char version_string[];
extern const char release_string[];
+extern const char buildsystem_version_string[];
#ifdef CONFIG_BANNER
void barebox_banner(void);
#else
--
2.28.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 3/4] common: globalvar: add variable for buildsystem_version_string
2020-09-23 10:34 [PATCH 1/4] Makefile: add buildsystem version variable Steffen Trumtrar
2020-09-23 10:34 ` [PATCH 2/4] common: print buildsystem version in barebox banner Steffen Trumtrar
@ 2020-09-23 10:34 ` Steffen Trumtrar
2020-09-23 10:34 ` [PATCH 4/4] imd: add buildsystem version to metadata Steffen Trumtrar
2020-09-25 14:35 ` [PATCH 1/4] Makefile: add buildsystem version variable Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Steffen Trumtrar @ 2020-09-23 10:34 UTC (permalink / raw)
To: Barebox List
Now that the buildsystem version is available, make it accessible as a
global variable for runtime usage. If the buildsystem version is not
present (i.e. empty), don't add the variable at all.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
common/globalvar.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/globalvar.c b/common/globalvar.c
index 98a028a68aa7..e38ad0c2c668 100644
--- a/common/globalvar.c
+++ b/common/globalvar.c
@@ -595,6 +595,9 @@ static int globalvar_init(void)
globalvar_add_simple("version", UTS_RELEASE);
+ if (strlen(buildsystem_version_string) > 0)
+ globalvar_add_simple("buildsystem.version", buildsystem_version_string);
+
return 0;
}
pure_initcall(globalvar_init);
--
2.28.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 4/4] imd: add buildsystem version to metadata
2020-09-23 10:34 [PATCH 1/4] Makefile: add buildsystem version variable Steffen Trumtrar
2020-09-23 10:34 ` [PATCH 2/4] common: print buildsystem version in barebox banner Steffen Trumtrar
2020-09-23 10:34 ` [PATCH 3/4] common: globalvar: add variable for buildsystem_version_string Steffen Trumtrar
@ 2020-09-23 10:34 ` Steffen Trumtrar
2020-09-25 14:35 ` [PATCH 1/4] Makefile: add buildsystem version variable Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Steffen Trumtrar @ 2020-09-23 10:34 UTC (permalink / raw)
To: Barebox List
To have information about the exact state of a barebox binary from
userspace, add the buildsystem version to the IMD.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
common/imd-barebox.c | 1 +
common/imd.c | 3 +++
include/image-metadata.h | 1 +
3 files changed, 5 insertions(+)
diff --git a/common/imd-barebox.c b/common/imd-barebox.c
index e5cdfd1aed34..06731d0600cf 100644
--- a/common/imd-barebox.c
+++ b/common/imd-barebox.c
@@ -23,4 +23,5 @@ __BAREBOX_IMD_SECTION(.barebox_imd_end) = {
BAREBOX_IMD_TAG_STRING(imd_build_tag, IMD_TYPE_BUILD, UTS_VERSION, 1);
BAREBOX_IMD_TAG_STRING(imd_release_tag, IMD_TYPE_RELEASE, UTS_RELEASE, 1);
+BAREBOX_IMD_TAG_STRING(imd_buildsystem_version_tag, IMD_TYPE_BUILDSYSTEM, BUILDSYSTEM_VERSION, 1);
BAREBOX_IMD_CRC(imd_crc32, 0x0, 1);
diff --git a/common/imd.c b/common/imd.c
index 96496514a54a..6970edaf96f1 100644
--- a/common/imd.c
+++ b/common/imd.c
@@ -168,6 +168,9 @@ static struct imd_type_names imd_types[] = {
}, {
.type = IMD_TYPE_CRC32,
.name = "crc32",
+ }, {
+ .type = IMD_TYPE_BUILDSYSTEM,
+ .name = "buildsystem version",
},
};
diff --git a/include/image-metadata.h b/include/image-metadata.h
index 42ddf2fab02a..a9cb9cfe8f16 100644
--- a/include/image-metadata.h
+++ b/include/image-metadata.h
@@ -26,6 +26,7 @@
#define IMD_TYPE_MODEL 0x640c8004 /* The board name this image is for */
#define IMD_TYPE_OF_COMPATIBLE 0x640c8005 /* the device tree compatible string */
#define IMD_TYPE_PARAMETER 0x640c8006 /* A generic parameter. Use key=value as data */
+#define IMD_TYPE_BUILDSYSTEM 0x640c8007 /* The buildsystem version barebox was built with */
#define IMD_TYPE_CRC32 0x640c1007 /* the checksum of the barebox images */
#define IMD_TYPE_END 0x640c7fff
#define IMD_TYPE_INVALID 0xffffffff
--
2.28.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/4] Makefile: add buildsystem version variable
2020-09-23 10:34 [PATCH 1/4] Makefile: add buildsystem version variable Steffen Trumtrar
` (2 preceding siblings ...)
2020-09-23 10:34 ` [PATCH 4/4] imd: add buildsystem version to metadata Steffen Trumtrar
@ 2020-09-25 14:35 ` Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2020-09-25 14:35 UTC (permalink / raw)
To: Steffen Trumtrar; +Cc: Barebox List
On Wed, Sep 23, 2020 at 12:34:15PM +0200, Steffen Trumtrar wrote:
> Introduce a new variable to store a buildsystem version information.
> The exact information that is stored here (git commit, git tag,...) is
> defined by the buildsystem.
> It is intended to have the possibility to get information about the
> exact barebox binary, environment and configuration.
>
> The variable is utilized the same as KERNELVERSION for linux:
>
> make BUILDSYSTEM_VERSION=$COMMITISH
>
> Via scripts/mkcompile_h this information is injected into the barebox
> codebase.
>
> Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> ---
> Makefile | 3 ++-
> scripts/mkcompile_h | 3 +++
> 2 files changed, 5 insertions(+), 1 deletion(-)
Applied, thanks
Sascha
--
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 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread