diff mbox series

[v2,2/2] package/mfgtools: drop package

Message ID 20200109191020.1282319-2-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
As suggested in [1] the package mfgtools is dropped.

NXP did replaced the old mfgtools with the version number 0.2
enterily with the uuu (Universal Update Utility) which is somehow
named mfgtools 3.0 although the version scheme for the uuu tool is
1.xx.yyy.

As the old mfgtools scripts are not compatible with the new uuu
tool and as imx-uuu goes hand-in-hand with imx-uuc, which we ship
for the target, the mfgtools package is dropped.

Users should switch to use imx-uuu instead.

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

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
v2:
 * add missing link to patchwork
---
 Config.in.legacy                |  7 ++++
 DEVELOPERS                      |  1 -
 package/Config.in.host          |  1 -
 package/mfgtools/Config.in.host | 10 -----
 package/mfgtools/mfgtools.hash  |  4 --
 package/mfgtools/mfgtools.mk    | 34 ----------------
 package/mfgtools/readme.txt     | 69 ---------------------------------
 7 files changed, 7 insertions(+), 119 deletions(-)
 delete mode 100644 package/mfgtools/Config.in.host
 delete mode 100644 package/mfgtools/mfgtools.hash
 delete mode 100644 package/mfgtools/mfgtools.mk
 delete mode 100644 package/mfgtools/readme.txt

Comments

Gary Bisson Feb. 10, 2020, 4:26 p.m. UTC | #1
Hi Jorge,

On Thu, Jan 09, 2020 at 08:10:20PM +0100, Jörg Krause wrote:
> As suggested in [1] the package mfgtools is dropped.
> 
> NXP did replaced the old mfgtools with the version number 0.2
> enterily with the uuu (Universal Update Utility) which is somehow
> named mfgtools 3.0 although the version scheme for the uuu tool is
> 1.xx.yyy.
> 
> As the old mfgtools scripts are not compatible with the new uuu
> tool and as imx-uuu goes hand-in-hand with imx-uuc, which we ship
> for the target, the mfgtools package is dropped.

I know I'm the one who pushed for that commit to happen but now want to
mitigate the claim above.

True uuu depends on imx-uuc and mfgtools (1st of its name) too. BUT by
looking at imx-uuc, the two use cases are separated into 2 different
files:
- uu.c: daemon that uses utp protocol to communicate with host
- ufb.c: daemon that uses fastboot protocol to communicate with host

So I think it should be safe to have both host clients co-existing for
now. Maybe uu.c will be removed at some point in the future but I guess
NXP will leave it there for a while.

Regards,
Gary
Jörg Krause April 13, 2020, 8:24 p.m. UTC | #2
Hi Gary,

On Mon, 2020-02-10 at 17:26 +0100, Gary Bisson wrote:
> Hi Jorge,
> 
> On Thu, Jan 09, 2020 at 08:10:20PM +0100, Jörg Krause wrote:
> > As suggested in [1] the package mfgtools is dropped.
> > 
> > NXP did replaced the old mfgtools with the version number 0.2
> > enterily with the uuu (Universal Update Utility) which is somehow
> > named mfgtools 3.0 although the version scheme for the uuu tool is
> > 1.xx.yyy.
> > 
> > As the old mfgtools scripts are not compatible with the new uuu
> > tool and as imx-uuu goes hand-in-hand with imx-uuc, which we ship
> > for the target, the mfgtools package is dropped.
> 
> I know I'm the one who pushed for that commit to happen but now want to
> mitigate the claim above.

Thanks for your feedback and sorry for my late reply.

> True uuu depends on imx-uuc and mfgtools (1st of its name) too. BUT by
> looking at imx-uuc, the two use cases are separated into 2 different
> files:
> - uu.c: daemon that uses utp protocol to communicate with host
> - ufb.c: daemon that uses fastboot protocol to communicate with host

In fact, I am using mfgtools without imx-uuc, but with U-Boot.

> So I think it should be safe to have both host clients co-existing for
> now. Maybe uu.c will be removed at some point in the future but I guess
> NXP will leave it there for a while.

So, lets just update mfgtools to latest version (1.3.154), right?

Best regards
Jörg Krause
Gary Bisson April 14, 2020, 6:46 a.m. UTC | #3
Hi Jorg,

On Mon, Apr 13, 2020 at 10:24:06PM +0200, Jörg Krause wrote:
> Hi Gary,
> 
> On Mon, 2020-02-10 at 17:26 +0100, Gary Bisson wrote:
> > Hi Jorge,
> > 
> > On Thu, Jan 09, 2020 at 08:10:20PM +0100, Jörg Krause wrote:
> > > As suggested in [1] the package mfgtools is dropped.
> > > 
> > > NXP did replaced the old mfgtools with the version number 0.2
> > > enterily with the uuu (Universal Update Utility) which is somehow
> > > named mfgtools 3.0 although the version scheme for the uuu tool is
> > > 1.xx.yyy.
> > > 
> > > As the old mfgtools scripts are not compatible with the new uuu
> > > tool and as imx-uuu goes hand-in-hand with imx-uuc, which we ship
> > > for the target, the mfgtools package is dropped.
> > 
> > I know I'm the one who pushed for that commit to happen but now want to
> > mitigate the claim above.
> 
> Thanks for your feedback and sorry for my late reply.
> 
> > True uuu depends on imx-uuc and mfgtools (1st of its name) too. BUT by
> > looking at imx-uuc, the two use cases are separated into 2 different
> > files:
> > - uu.c: daemon that uses utp protocol to communicate with host
> > - ufb.c: daemon that uses fastboot protocol to communicate with host
> 
> In fact, I am using mfgtools without imx-uuc, but with U-Boot.
> 
> > So I think it should be safe to have both host clients co-existing for
> > now. Maybe uu.c will be removed at some point in the future but I guess
> > NXP will leave it there for a while.
> 
> So, lets just update mfgtools to latest version (1.3.154), right?

No, mfgtools 1.x.y really is 'uuu', not mfgtools any more.

So since 'mfgtools' doesn't have any more build issues, I'd say we keep
it as-is for people that use it. So the idea is _not_ to drop it.

Then just have your uuu addition patch, so basically both tools
co-exist in Buildroot (as they serve different purposes).

Regards,
Gary
Jörg Krause April 14, 2020, 7:47 a.m. UTC | #4
Hi Gary,

On Tue, 2020-04-14 at 08:46 +0200, Gary Bisson wrote:
> Hi Jorg,
> 
> On Mon, Apr 13, 2020 at 10:24:06PM +0200, Jörg Krause wrote:
> > Hi Gary,
> > 
> > On Mon, 2020-02-10 at 17:26 +0100, Gary Bisson wrote:
> > > Hi Jorge,
> > > 
> > > On Thu, Jan 09, 2020 at 08:10:20PM +0100, Jörg Krause wrote:
> > > > As suggested in [1] the package mfgtools is dropped.
> > > > 
> > > > NXP did replaced the old mfgtools with the version number 0.2
> > > > enterily with the uuu (Universal Update Utility) which is somehow
> > > > named mfgtools 3.0 although the version scheme for the uuu tool is
> > > > 1.xx.yyy.
> > > > 
> > > > As the old mfgtools scripts are not compatible with the new uuu
> > > > tool and as imx-uuu goes hand-in-hand with imx-uuc, which we ship
> > > > for the target, the mfgtools package is dropped.
> > > 
> > > I know I'm the one who pushed for that commit to happen but now want to
> > > mitigate the claim above.
> > 
> > Thanks for your feedback and sorry for my late reply.
> > 
> > > True uuu depends on imx-uuc and mfgtools (1st of its name) too. BUT by
> > > looking at imx-uuc, the two use cases are separated into 2 different
> > > files:
> > > - uu.c: daemon that uses utp protocol to communicate with host
> > > - ufb.c: daemon that uses fastboot protocol to communicate with host
> > 
> > In fact, I am using mfgtools without imx-uuc, but with U-Boot.
> > 
> > > So I think it should be safe to have both host clients co-existing for
> > > now. Maybe uu.c will be removed at some point in the future but I guess
> > > NXP will leave it there for a while.
> > 
> > So, lets just update mfgtools to latest version (1.3.154), right?
> 
> No, mfgtools 1.x.y really is 'uuu', not mfgtools any more.

It is very confusing, how NXP deals with this. From my understanding,
mfgtools is the top level name for the image deploying tools.

In mfgtools 2 there was a seperate Windows and Linux build of the
'MfgToolLib', the linux command line utility was 'mfgtoolcli'. The
linux branch ended with v0.02, the windows branch with 0.06 -> 2.8.0.

Both branches are abandoned and replaced by libuuu and the command line utility uuu.
This new library and tool are introduced of an evolving mfgtools 3.0.

So, indeed there are two different tools, the old and abandoned
mfgtools 2 and the new mfgtools 3 (a.k.a uuu).

Note, that for the mfgtools 2 the tag v0.02 was only labeld as "Pre-
release" on Github.

> So since 'mfgtools' doesn't have any more build issues, I'd say we keep
> it as-is for people that use it. So the idea is _not_ to drop it.
> 
> Then just have your uuu addition patch, so basically both tools
> co-exist in Buildroot (as they serve different purposes).

If we really want to keep the mfgtools 2 package, we have to decide how
to name the new package:

a) imx-uuu
b) mfgtools3
c) mfgtools_uuu
d) something else

I'm voting for b) mfgtools3, as the github project name is still
'mfgtools' and the project is described as "uuu (Universal Update
Utility), mfgtools 3.0".

Best regards
Jörg Krause
Gary Bisson April 14, 2020, 8:14 a.m. UTC | #5
Hi Jorg,

On Tue, Apr 14, 2020 at 09:47:48AM +0200, Jörg Krause wrote:
> Hi Gary,
> 
> On Tue, 2020-04-14 at 08:46 +0200, Gary Bisson wrote:
> > Hi Jorg,
> > 
> > On Mon, Apr 13, 2020 at 10:24:06PM +0200, Jörg Krause wrote:
> > > Hi Gary,
> > > 
> > > On Mon, 2020-02-10 at 17:26 +0100, Gary Bisson wrote:
> > > > Hi Jorge,
> > > > 
> > > > On Thu, Jan 09, 2020 at 08:10:20PM +0100, Jörg Krause wrote:
> > > > > As suggested in [1] the package mfgtools is dropped.
> > > > > 
> > > > > NXP did replaced the old mfgtools with the version number 0.2
> > > > > enterily with the uuu (Universal Update Utility) which is somehow
> > > > > named mfgtools 3.0 although the version scheme for the uuu tool is
> > > > > 1.xx.yyy.
> > > > > 
> > > > > As the old mfgtools scripts are not compatible with the new uuu
> > > > > tool and as imx-uuu goes hand-in-hand with imx-uuc, which we ship
> > > > > for the target, the mfgtools package is dropped.
> > > > 
> > > > I know I'm the one who pushed for that commit to happen but now want to
> > > > mitigate the claim above.
> > > 
> > > Thanks for your feedback and sorry for my late reply.
> > > 
> > > > True uuu depends on imx-uuc and mfgtools (1st of its name) too. BUT by
> > > > looking at imx-uuc, the two use cases are separated into 2 different
> > > > files:
> > > > - uu.c: daemon that uses utp protocol to communicate with host
> > > > - ufb.c: daemon that uses fastboot protocol to communicate with host
> > > 
> > > In fact, I am using mfgtools without imx-uuc, but with U-Boot.
> > > 
> > > > So I think it should be safe to have both host clients co-existing for
> > > > now. Maybe uu.c will be removed at some point in the future but I guess
> > > > NXP will leave it there for a while.
> > > 
> > > So, lets just update mfgtools to latest version (1.3.154), right?
> > 
> > No, mfgtools 1.x.y really is 'uuu', not mfgtools any more.
> 
> It is very confusing, how NXP deals with this. From my understanding,
> mfgtools is the top level name for the image deploying tools.

It is confusing yes. And NXP doesn't really deal with it, they just
said "here's a new tool, let's forget about the old one".

> In mfgtools 2 there was a seperate Windows and Linux build of the
> 'MfgToolLib', the linux command line utility was 'mfgtoolcli'. The
> linux branch ended with v0.02, the windows branch with 0.06 -> 2.8.0.

Yes the versioning is also confusing. Buildroot automated email keeps
reminding me that mfgtools isn't at its latest release whereas it is,
new 'versions' are just for a different tool really.

> Both branches are abandoned and replaced by libuuu and the command line utility uuu.
> This new library and tool are introduced of an evolving mfgtools 3.0.
> 
> So, indeed there are two different tools, the old and abandoned
> mfgtools 2 and the new mfgtools 3 (a.k.a uuu).
> 
> Note, that for the mfgtools 2 the tag v0.02 was only labeld as "Pre-
> release" on Github.

Yes, but Yann's thoughts were that since it was in Buildroot for a long
time, people might have scripts relying on mfgtools, and therefore might
be useful to keep it around [1].

Then at the time I made the point about imx-uuc which wasn't valid. Now
that the build is fixed, I agree that we should keep mfgtools as-is.

> > So since 'mfgtools' doesn't have any more build issues, I'd say we keep
> > it as-is for people that use it. So the idea is _not_ to drop it.
> > 
> > Then just have your uuu addition patch, so basically both tools
> > co-exist in Buildroot (as they serve different purposes).
> 
> If we really want to keep the mfgtools 2 package, we have to decide how
> to name the new package:
> 
> a) imx-uuu
> b) mfgtools3
> c) mfgtools_uuu
> d) something else
> 
> I'm voting for b) mfgtools3, as the github project name is still
> 'mfgtools' and the project is described as "uuu (Universal Update
> Utility), mfgtools 3.0".

I'd personnaly prefer a name with uuu in it as mfgtools is only
mentioned for legacy reasons from NXP. But then in every doc they only
say uuu [2]. So from a user perspective, I'd look for 'uuu' in
menuconfig.

I wish NXP would have switched to another repository...

Regards,
Gary

[1] http://lists.busybox.net/pipermail/buildroot/2019-June/252440.html
[2] https://github.com/NXPmicro/mfgtools/releases/download/uuu_1.3.154/UUU.pdf
diff mbox series

Patch

diff --git a/Config.in.legacy b/Config.in.legacy
index 1801ec06da..e355b0c2c8 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@  endif
 
 comment "Legacy options removed in 2020.02"
 
+config BR2_PACKAGE_HOST_MFGTOOLS
+	bool "host mfgtools was removed"
+	select BR2_LEGACY
+	help
+	  mfgtools is not maintained anymore. Switch to imx-uuc
+	  instead.
+
 config BR2_PACKAGE_WIREGUARD
 	bool "wireguard package renamed"
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
diff --git a/DEVELOPERS b/DEVELOPERS
index e0125bad72..3df819cce4 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -967,7 +967,6 @@  F:	configs/nitrogen*
 F:	package/freescale-imx/
 F:	package/gstreamer1/gst1-imx/
 F:	package/libimxvpuapi/
-F:	package/mfgtools/
 F:	package/sshpass/
 F:	package/x11r7/xdriver_xf86-video-imx-viv/
 
diff --git a/package/Config.in.host b/package/Config.in.host
index de0cdbae49..687cd59002 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -41,7 +41,6 @@  menu "Host utilities"
 	source "package/lpc3250loader/Config.in.host"
 	source "package/lttng-babeltrace/Config.in.host"
 	source "package/mender-artifact/Config.in.host"
-	source "package/mfgtools/Config.in.host"
 	source "package/mkpasswd/Config.in.host"
 	source "package/mtd/Config.in.host"
 	source "package/mtools/Config.in.host"
diff --git a/package/mfgtools/Config.in.host b/package/mfgtools/Config.in.host
deleted file mode 100644
index 6f2f3a3268..0000000000
--- a/package/mfgtools/Config.in.host
+++ /dev/null
@@ -1,10 +0,0 @@ 
-config BR2_PACKAGE_HOST_MFGTOOLS
-	bool "host mfgtools"
-	depends on BR2_arm
-	help
-	  This package contains the Freescale manufacturing tool.
-	  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/codeauroraforum/mfgtools
diff --git a/package/mfgtools/mfgtools.hash b/package/mfgtools/mfgtools.hash
deleted file mode 100644
index 0b215f5295..0000000000
--- a/package/mfgtools/mfgtools.hash
+++ /dev/null
@@ -1,4 +0,0 @@ 
-# locally computed
-sha256  055d71227d18883d6e8bc9e854c076015f9a7749820a94272e19071bf0b25c89  mfgtools-0.02.tar.gz
-sha256  2655559a6bb1179eae514f5c7166f4ede4f2453efa9cf4dc3c045cab5d57dede  LICENSE
-sha256  0963b6e5086bf454265b0f57821a02b681d1211e40ad74c310231cb4d94815c9  README.txt
diff --git a/package/mfgtools/mfgtools.mk b/package/mfgtools/mfgtools.mk
deleted file mode 100644
index 48ce5dda28..0000000000
--- a/package/mfgtools/mfgtools.mk
+++ /dev/null
@@ -1,34 +0,0 @@ 
-################################################################################
-#
-# mfgtools
-#
-################################################################################
-
-MFGTOOLS_VERSION = 0.02
-MFGTOOLS_SITE = $(call github,codeauroraforum,mfgtools,v$(MFGTOOLS_VERSION))
-MFGTOOLS_SUBDIR = MfgToolLib
-MFGTOOLS_LICENSE = BSD-3-Clause or CPOL
-MFGTOOLS_LICENSE_FILES = LICENSE README.txt
-HOST_MFGTOOLS_DEPENDENCIES = host-libusb
-
-HOST_MFGTOOLS_CFLAGS = \
-	$(HOST_CFLAGS) $(HOST_LDFLAGS) -std=c++11 -lpthread \
-	-L$(@D)/MfgToolLib -lMfgToolLib -I$(@D)/MfgToolLib \
-	-lusb-1.0 -I$(HOST_DIR)/include/libusb-1.0 \
-	-fpermissive -Wno-write-strings
-
-define HOST_MFGTOOLS_CLI_BUILD
-	$(HOST_CONFIGURE_OPTS) $(MAKE) CC="$(HOSTCXX)" \
-		CFLAGS="$(HOST_MFGTOOLS_CFLAGS)" -C $(@D)/TestPrgm
-endef
-
-HOST_MFGTOOLS_POST_BUILD_HOOKS += HOST_MFGTOOLS_CLI_BUILD
-
-define HOST_MFGTOOLS_INSTALL_CMDS
-	$(INSTALL) -D -m 755 $(@D)/MfgToolLib/libMfgToolLib.so \
-		$(HOST_DIR)/lib/libMfgToolLib.so
-	$(INSTALL) -D -m 755 $(@D)/TestPrgm/mfgtoolcli \
-		$(HOST_DIR)/bin/mfgtoolcli
-endef
-
-$(eval $(host-cmake-package))
diff --git a/package/mfgtools/readme.txt b/package/mfgtools/readme.txt
deleted file mode 100644
index 320e6ec493..0000000000
--- a/package/mfgtools/readme.txt
+++ /dev/null
@@ -1,69 +0,0 @@ 
-MfgTools Howto
-==============
-
-1. Build your mfgtool image
-
-Make sure to enable the following Buildroot options:
-
-BR2_PACKAGE_FREESCALE_IMX=y
-BR2_PACKAGE_IMX_UUC=y
-BR2_TARGET_ROOTFS_CPIO=y
-BR2_TARGET_ROOTFS_CPIO_GZIP=y
-BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
-
-Also modify your kernel configuration to have:
-
-CONFIG_USB_GADGET=y
-CONFIG_USB_MASS_STORAGE=y
-CONFIG_FSL_UTP=y
-CONFIG_MMC_BLOCK_MINORS=16
-
-2. Go into the output and create the necessary folders
-
-$ cd output
-$ mkdir -p "Profiles/Linux/OS Firmware/firmware"
-
-3. Create your XML update script named ucl2.xml
-
-You can find a sample XML at:
-
-$ wget https://storage.googleapis.com/boundarydevices.com/ucl2.xml \
-  -O Profiles/Linux/OS\ Firmware/ucl2.xml
-
-4. Copy the U-Boot, Kernel and initramfs images to the appropriate
-folder
-
-$ cp images/u-boot.imx images/zImage images/imx6q-sabrelite.dtb \
-  images/rootfs.cpio.uboot Profiles/Linux/OS\ Firmware/firmware/
-
-5. Copy the prebuilt binaries to be flashed
-
-Depending on your ucl2.xml file, the sample doesn't flash anything.
-
-6. Run the MfgTools client:
-
-$ ./host/bin/mfgtoolcli -l mmc -s uboot_defconfig=imx \
-  -s dtbname=imx6q-sabrelite.dtb -s initramfs=rootfs.cpio.uboot \
-  -s mmc=1 -p 1
-
-For more information about the tools options, please read the
-"Manufacturing Tool V2 Quick Start Guide.docx" documentation contained
-in every mfgtools package from NXP website[1].
-
-Note: All the above commands require your Linux host user to have
-permissions to access the USB devices. Please make sure to have udev
-rules that allow the user to communicate with the BootROM IDs
-(Freescale USB recovery) as well as the one used for the UTP Linux
-image (0x066F:0x37FF).  Using 'sudo' in front of the mfgtoolcli
-command would also grant you the necessary permission but it is *not*
-recommended.
-
-Also, if your U-Boot environment doesn't include mfgtools bootargs,
-make sure to set the following:
-
-setenv bootargs "console=${console},${baudrate} g_mass_storage.stall=0 \
-	g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F \
-	g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=\"\" \
-	g_mass_storage.file=/fat"
-
-[1] http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i.mx-6-series-software-and-development-tool-resources:IMX6_SW