diff mbox series

[v2,1/2] package/imx-uuu: new host package

Message ID 20200109191020.1282319-1-joerg.krause@embedded.rocks
State Superseded
Headers show
Series [v2,1/2] package/imx-uuu: new host package | expand

Commit Message

Jörg Krause Jan. 9, 2020, 7:10 p.m. UTC
NXP deprecated the old mfgtools code. It has been replaced by the
Universal Update Utility (uuu), also called mfgtools v3.0 although
the releases are named v1.x.yy, which is quite confusing.

This new tool actually resides in the same repository in the master
branch whereas the old one is now in a 'linux' branch.

The new tool uuu is a completely different tool than the old mfgtools.
This also means, that existing mfgtools scripts will not work with the
uuu tool.

Therefore, it has been decided to create a new package imx-uuu [1].

Note, that uuu uses git to define a version string `GIT_VERSION`.
It does so even when building from a source tarball (automatically
generated by github). The problem is, that git provides the version
information of Buildroot and mfgtools uses this version information to
do a runtime check to detect outdated command list scripts.

To fix this, we overwrite gen_ver.sh with something that simply prints a
define for `GIT_VERSION` with the uuu version string (preceeded by
"lib", as done in the original gen_ver.sh).

[1] http://patchwork.ozlabs.org/patch/1112411/

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
v2:
 * fix version string generation (missing 'uuu_')
---
 DEVELOPERS                     |  1 +
 package/Config.in.host         |  1 +
 package/imx-uuu/Config.in.host | 12 ++++++++++++
 package/imx-uuu/imx-uuu.hash   |  3 +++
 package/imx-uuu/imx-uuu.mk     | 24 ++++++++++++++++++++++++
 5 files changed, 41 insertions(+)
 create mode 100644 package/imx-uuu/Config.in.host
 create mode 100644 package/imx-uuu/imx-uuu.hash
 create mode 100644 package/imx-uuu/imx-uuu.mk
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 80843dd1a1..e0125bad72 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1306,6 +1306,7 @@  F:	package/augeas/
 F:	package/bluez-alsa/
 F:	package/caps/
 F:	package/freescale-imx/imx-alsa-plugins/
+F:	package/imx-uuu/
 F:	package/libopusenc/
 F:	package/libupnpp/
 F:	package/luv/
diff --git a/package/Config.in.host b/package/Config.in.host
index 62e860d7c3..de0cdbae49 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -33,6 +33,7 @@  menu "Host utilities"
 	source "package/imagemagick/Config.in.host"
 	source "package/imx-mkimage/Config.in.host"
 	source "package/imx-usb-loader/Config.in.host"
+	source "package/imx-uuu/Config.in.host"
 	source "package/jq/Config.in.host"
 	source "package/jsmin/Config.in.host"
 	source "package/libp11/Config.in.host"
diff --git a/package/imx-uuu/Config.in.host b/package/imx-uuu/Config.in.host
new file mode 100644
index 0000000000..6121d5435f
--- /dev/null
+++ b/package/imx-uuu/Config.in.host
@@ -0,0 +1,12 @@ 
+config BR2_PACKAGE_HOST_IMX_UUU
+	bool "host imx-uuu"
+	depends on BR2_arm
+	help
+	  Freescale/NXP i.MX Chip image deploy tools (formerly
+	  mfgtools).
+
+	  It is designed to program firmware to i.MX boards during
+	  production. The communication is done over USB using the
+	  Freescale UTP protocol.
+
+	  https://github.com/NXPmicro/mfgtools
diff --git a/package/imx-uuu/imx-uuu.hash b/package/imx-uuu/imx-uuu.hash
new file mode 100644
index 0000000000..eaf951b91a
--- /dev/null
+++ b/package/imx-uuu/imx-uuu.hash
@@ -0,0 +1,3 @@ 
+# locally computed
+sha256  0377bb26e4eab20e32f2daaecaa9394048ab4443f5b517acde6c27e2dc5310d5  imx-uuu-1.3.102.tar.gz
+sha256  cc8d47f7b9260f6669ecd41c24554c552f17581d81ee8fc602c6d23edb8bf495  LICENSE
diff --git a/package/imx-uuu/imx-uuu.mk b/package/imx-uuu/imx-uuu.mk
new file mode 100644
index 0000000000..8183b6f76c
--- /dev/null
+++ b/package/imx-uuu/imx-uuu.mk
@@ -0,0 +1,24 @@ 
+################################################################################
+#
+# imx-uuu
+#
+################################################################################
+
+IMX_UUU_VERSION = 1.3.102
+IMX_UUU_SITE = $(call github,NXPmicro,mfgtools,uuu_$(IMX_UUU_VERSION))
+IMX_UUU_LICENSE = BSD-3-Clause
+IMX_UUU_LICENSE_FILES = LICENSE
+HOST_IMX_UUU_DEPENDENCIES = host-libusb host-libzip host-zlib
+
+# Version string generation is broken in uuu as it relies on git, even when
+# building from a source tarball. The version string is used by uuu to do a
+# runtime check to detect outdated command list scripts. We overwrite
+# gen_ver.sh with something that simply prints a define for GIT_VERSION with
+# the uuu version (preceeded by "libuuu_", as done in the original gen_ver.sh).
+define HOST_IMX_UUU_OVERWRITE_GEN_VER_SH
+	echo '#!/bin/sh' > $(@D)/libuuu/gen_ver.sh
+	echo 'echo "#define GIT_VERSION \"libuuu_$(IMX_UUU_VERSION)\"" > $$1' >> $(@D)/libuuu/gen_ver.sh
+endef
+HOST_IMX_UUU_POST_PATCH_HOOKS += HOST_IMX_UUU_OVERWRITE_GEN_VER_SH
+
+$(eval $(host-cmake-package))