summaryrefslogtreecommitdiff
path: root/meta-google/recipes-google/networking/google-usb-network_git.bb
blob: ec51eaa5bb95c718cd8eeee66597c1d730b24c97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
SUMMARY = "Google USB ECM Gadget Configuration Script"
DESCRIPTION = "Google USB ECM Gadget Configuration Script"
PR = "r1"
PV = "0.2"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"

FILESEXTRAPATHS_prepend = "${THISDIR}/${PN}:"

inherit systemd

DEPENDS += "m4-native"
DEPENDS += "systemd"
RDEPENDS_${PN} += "bash"

SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "usb_network.service"

BMC_IP_ADDR ??= "169.254.95.118/16"
BMC_USB_ECM_PRODUCT_ID ??= ""
BMC_USB_ECM_PRODUCT_NAME ??= "${MACHINE} BMC"
BMC_USB_ECM_HOST_MAC ??= "invalid"
BMC_USB_ECM_DEV_MAC ??= "invalid"
BMC_USB_ECM_BIND_DEV ??= ""
BMC_USB_CONFIG_PRIORITY ??= ""
BMC_USB_CONFIG_FILENAME ??= "${BMC_USB_CONFIG_PRIORITY}-bmc-usb0.network"

SRC_URI += "file://00-bmc-usb0.network.m4"
SRC_URI += "file://usb_network.service.m4"
SRC_URI += "file://usb_network.sh"

FILES_${PN} = "${bindir}/usb_network.sh"
FILES_${PN}_append = " ${systemd_unitdir}/network/${BMC_USB_CONFIG_FILENAME}"

do_compile() {
    test "X${BMC_IP_ADDR}" != "X" || bberror "Please define BMC_IP_ADDR"
    m4 -DM_BMC_IP_ADDR=${BMC_IP_ADDR} ${WORKDIR}/00-bmc-usb0.network.m4 > ${S}/00-bmc-usb0.network

    test "X${BMC_USB_ECM_PRODUCT_ID}" != "X" || bberror "Please define BMC_USB_ECM_PRODUCT_ID"
    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"

    m4 \
        -DM_BMC_USB_ECM_PRODUCT_ID="${BMC_USB_ECM_PRODUCT_ID}" \
        -DM_BMC_USB_ECM_PRODUCT_NAME="${BMC_USB_ECM_PRODUCT_NAME}" \
        -DM_BMC_USB_ECM_HOST_MAC="${BMC_USB_ECM_HOST_MAC}" \
        -DM_BMC_USB_ECM_DEV_MAC="${BMC_USB_ECM_DEV_MAC}" \
        -DM_BMC_USB_ECM_BIND_DEV="${BMC_USB_ECM_BIND_DEV}" \
        -DM_SCRIPT_INSTALL_DIR="${bindir}" \
        ${WORKDIR}/usb_network.service.m4 > ${S}/usb_network.service
}

do_install() {
  install -d ${D}/${bindir}
  install -m 0755 ${WORKDIR}/usb_network.sh ${D}/${bindir}

  install -d ${D}${systemd_system_unitdir}
  install -m 0644 ${S}/usb_network.service ${D}${systemd_system_unitdir}

  install -d ${D}${systemd_unitdir}/network
  install -m 0644 ${S}/00-bmc-usb0.network \
      ${D}${systemd_unitdir}/network/${BMC_USB_CONFIG_FILENAME}
}