google-usb-network: Allow unspecific product

This will allow us to trivially configure dynamic USB network
information with providing any hardcoded config.

Change-Id: I1e5a46e9c7eeaffcf66170c047bd18114cac98f6
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/meta-google/recipes-google/networking/google-usb-network_git.bb b/meta-google/recipes-google/networking/google-usb-network_git.bb
index e1d768f..95c2844 100644
--- a/meta-google/recipes-google/networking/google-usb-network_git.bb
+++ b/meta-google/recipes-google/networking/google-usb-network_git.bb
@@ -14,9 +14,6 @@
 DEPENDS += "systemd"
 RDEPENDS:${PN} += "bash"
 
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = "usb_network.service"
-
 BMC_USB_ECM_PRODUCT_ID ??= ""
 BMC_USB_ECM_PRODUCT_NAME ??= "${MACHINE} BMC"
 BMC_USB_ECM_HOST_MAC ??= "invalid"
@@ -28,8 +25,11 @@
 SRC_URI += "file://usb_network.service.m4"
 SRC_URI += "file://usb_network.sh"
 
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "${@"usb_network.service" if d.getVar(BMC_USB_ECM_PRODUCT_ID) else ""}"
+
 do_compile:append() {
-    test "X${BMC_USB_ECM_PRODUCT_ID}" != "X" || bberror "Please define BMC_USB_ECM_PRODUCT_ID"
+  if [ -n "${BMC_USB_ECM_PRODUCT_ID}" ]; then
     test "X${BMC_USB_ECM_PRODUCT_NAME}" != "X" || bberror "Please define BMC_USB_ECM_PRODUCT_NAME"
     test "X${BMC_USB_ECM_BIND_DEV}" != "X" || bberror "Please define BMC_USB_ECM_BIND_DEV"
 
@@ -43,12 +43,15 @@
         -DM_BMC_USB_BIND_DEV="${BMC_USB_ECM_BIND_DEV}" \
         -DM_SCRIPT_INSTALL_DIR="${bindir}" \
         ${WORKDIR}/usb_network.service.m4 > ${WORKDIR}/usb_network.service
+  fi
 }
 
 do_install:append() {
   install -d ${D}/${bindir}
   install -m 0755 ${WORKDIR}/usb_network.sh ${D}/${bindir}
 
-  install -d ${D}${systemd_system_unitdir}
-  install -m 0644 ${WORKDIR}/usb_network.service ${D}${systemd_system_unitdir}
+  if [ -n "${BMC_USB_ECM_PRODUCT_ID}" ]; then
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/usb_network.service ${D}${systemd_system_unitdir}
+  fi
 }