uboot: fix custom patch dir legacy handling
authorDanomi Manchego <danomimanchego123@gmail.com>
Tue, 20 Dec 2016 03:10:12 +0000 (22:10 -0500)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 20 Dec 2016 08:33:48 +0000 (09:33 +0100)
Commit 3e3fef39e71ed0426130b36aa00e4630ebb537ae added new and improved
patch handling, with BR2_TARGET_UBOOT_PATCH.  This was in addition to
the existing BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR option, that only
handled directories.

Later, commit 21b25d28fc7af3bb1b2c55e4a46e0d067ebc0081 moved the old
BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR to legacy options.  But on the way,
bad things happened:

* The original option was a string, while the one added to Config.in.legacy
is a bool.  This results in a warning from defconfigs that actually define
the old BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR (because a string is not a valid
value for a bool), but it does not result in the legacy option being
selected.  Consequently, BR2_LEGACY is not selected either.

* The advice at the top of Config.in.legacy to add a hidden WRAP option
to select BR2_LEGACY was not heeded.

* The advice at the top of Config.in.legacy to use the old string
option as the default for the new string option was not heeded.  In
this case, the variable was not just renamed, as the old option
supported directories only, while the new one supports files too.
But since the old option is a subset of the new option, it can still
be used to set a useful default.

So, this mod turns the legacy option back to a string, adds a hidden
bool WRAP option to set BR2_LEGACY when the string is non emoty, and
uses the legacy option to set the default for the new option.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Config.in.legacy
boot/uboot/Config.in

index 2811c7b76c00a1ba967fae871701b9625149e71c..c8039ba9b99522c163a52072b737559b2ad1c2fb 100644 (file)
@@ -567,12 +567,19 @@ config BR2_PACKAGE_QT5QUICK1
          from upstream starting from Qt 5.6.
 
 config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
-       bool "uboot custom patch dir removed"
-       select BR2_LEGACY
+       string "uboot custom patch dir has been removed"
        help
          The uboot custom patch directory option has been removed. Use
          the improved BR2_TARGET_UBOOT_PATCH option instead.
 
+config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR_WRAP
+       bool
+       default y if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != ""
+       select BR2_LEGACY
+
+# Note: BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR is still referenced from
+# boot/uboot/Config.in
+
 config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
        bool "xf86-input-void removed"
        select BR2_LEGACY
index 3b4bfac070e35b418b73da41ae06d7fe4541fa55..2a9f14a12128c8bd42b15c2ac6b36a2ffbf8e36f 100644 (file)
@@ -95,6 +95,7 @@ config BR2_TARGET_UBOOT_VERSION
 
 config BR2_TARGET_UBOOT_PATCH
        string "Custom U-Boot patches"
+       default BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != ""  # legacy
        help
          A space-separated list of patches to apply to U-Boot.
          Each patch can be described as an URL, a local file path,