phosphor-led-manager: automatically deduce use-{json,yaml}

New systems should be using the 'use-json' model by default, but it
currently requires a bbappend in order to enable it.  Automatically
detect based on the PREFERRED_PROVIDER of virtual/...-config-native if
the intended use is JSON or YAML.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ie674d1b901395b4fd41838b6e978ca1ff00b0277
diff --git a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index 8001095..b3bfaa4 100644
--- a/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-ibm/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -8,7 +8,7 @@
 # Use the JSON configuration file at runtime than the static led.yaml
 # Also, enable Lamp Test and OperationalStatus monitor feature for
 # p10bmc systems
-PACKAGECONFIG:append:p10bmc = " use-json use-lamp-test monitor-operational-status"
+PACKAGECONFIG:append:p10bmc = " use-lamp-test monitor-operational-status"
 
 # Install the lamp test override file for p10bmc
 SRC_URI:append:p10bmc = " file://lamp-test-led-overrides.json"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index f4021e9..d4bd011 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -2,7 +2,7 @@
 
 SRC_URI += "file://led-group-config.json"
 
-PACKAGECONFIG:append = " use-json use-lamp-test"
+PACKAGECONFIG:append = " use-lamp-test"
 
 do_install:append() {
         install -m 0644 ${WORKDIR}/led-group-config.json ${D}${datadir}/phosphor-led-manager/
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
index 90fd49ec..c481aa5 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb
@@ -8,8 +8,15 @@
 inherit meson pkgconfig python3native
 inherit obmc-phosphor-dbus-service obmc-phosphor-systemd
 
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[use-json] = "-Duse-json=enabled, -Duse-json=disabled"
+PACKAGECONFIG ??= "\
+    ${@oe.utils.conditional( \
+        'PREFERRED_PROVIDER_virtual/${PN}-config-native', \
+        'phosphor-led-manager-config-example-native', \
+        'use-json', 'use-yaml', d)} \
+"
+
+PACKAGECONFIG[use-json] = "-Duse-json=enabled,,,,,use-yaml"
+PACKAGECONFIG[use-yaml] = "-Duse-json=disabled,,virtual/${PN}-config-native,,,use-json"
 PACKAGECONFIG[use-lamp-test] = "-Duse-lamp-test=enabled, -Duse-lamp-test=disabled"
 PACKAGECONFIG[monitor-operational-status] = "-Dmonitor-operational-status=enabled, \
                                              -Dmonitor-operational-status=disabled"
@@ -26,8 +33,6 @@
 DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native"
 DEPENDS += "systemd"
 
-DEPENDS += "virtual/${PN}-config-native"
-
 RDEPENDS:${PN} += "bash"
 
 S = "${WORKDIR}/git"
diff --git a/meta-quanta/meta-s6q/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-quanta/meta-s6q/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
index b329b84..7e0aee5 100644
--- a/meta-quanta/meta-s6q/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
+++ b/meta-quanta/meta-s6q/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -2,7 +2,7 @@
 
 SRC_URI:append:s6q = " file://led-group-config.json"
 
-PACKAGECONFIG:append:s6q = " use-json use-lamp-test"
+PACKAGECONFIG:append:s6q = " use-lamp-test"
 
 do_install:append:s6q() {
         install -m 0644 ${WORKDIR}/led-group-config.json ${D}${datadir}/phosphor-led-manager/