summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Tanous <ed.tanous@intel.com>2019-08-02 02:10:54 +0300
committerGitHub <noreply@github.com>2019-08-02 02:10:54 +0300
commit25ad46338e5990f081ef280429a5fc8ada5735be (patch)
tree4c0e3cb32dc80f80460bdbf82ff6d401d4ff194f
parent43a183cc0926da36e3a218efa02ab4838ace316f (diff)
parentd0f63ef62c76c932a2003eaa42c0b250065ae06f (diff)
downloadopenbmc-25ad46338e5990f081ef280429a5fc8ada5735be.tar.xz
Merge pull request #14 from Intel-BMC/update4
Update4
-rw-r--r--meta-aspeed/conf/bblayers.conf.sample7
-rw-r--r--meta-aspeed/conf/layer.conf2
-rw-r--r--meta-aspeed/conf/local.conf.sample5
-rw-r--r--meta-aspeed/conf/machine/evb-ast2500.conf4
-rw-r--r--meta-aspeed/conf/machine/evb-ast2600.conf4
-rw-r--r--meta-aspeed/conf/machine/include/aspeed.inc5
-rw-r--r--meta-aspeed/conf/machine/include/ast2600.inc7
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb8
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc18
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb36
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk/aspeed-g6/defconfig292
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk_git.bb8
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig67
-rw-r--r--[-rwxr-xr-x]meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig87
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb6
-rwxr-xr-xmeta-facebook/meta-tiogapass/recipes-fbtp/ipmi/fb-ipmi-oem_git.bb2
-rw-r--r--meta-facebook/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb1
-rw-r--r--meta-facebook/meta-tiogapass/recipes-phosphor/fans/phosphor-pid-control_%.bbappend3
-rw-r--r--meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json18
-rw-r--r--meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend8
-rw-r--r--meta-ibm/meta-palmetto/conf/machine/palmetto.conf1
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map-native.bb24
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map/config.yaml220
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bbappend1
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native/extra-properties.yaml73
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend6
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend6
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bbappend1
-rwxr-xr-xmeta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native/config.yaml1082
-rw-r--r--[-rwxr-xr-x]meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config/led.yaml0
-rw-r--r--meta-ibm/meta-romulus/conf/machine/romulus.conf6
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml234
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend1
-rwxr-xr-xmeta-ibm/meta-romulus/recipes-phosphor/ipmi/files/sel-config.yaml340
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend5
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend6
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend7
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties-native.bb20
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory-native.bb19
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-inventory-native.bb19
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-map-native.bb24
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-sel-native.bb19
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory-native.bb20
-rw-r--r--[-rwxr-xr-x]meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config/led.yaml0
-rw-r--r--meta-ibm/meta-witherspoon/README.md14
-rw-r--r--meta-ibm/meta-witherspoon/conf/local.conf.sample2
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/swift.conf2
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/witherspoon-128.conf2
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf3
-rw-r--r--meta-ibm/meta-witherspoon/recipes-core/systemd/systemd_%.bbappend14
-rw-r--r--meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch22
-rw-r--r--meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed_%.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb10
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/obmc-op-control-power_%/ibm-ac-server/obmc/power_control (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/obmc-op-control-power_%/obmc/power_control)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb26
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/swift/power-workarounds.sh (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/power-workarounds.sh)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/swift/power-workarounds@.service (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/power-workarounds@.service)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds.sh (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/witherspoon/power-workarounds.sh)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds@.service (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/witherspoon/power-workarounds@.service)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ir35221-unbind-bind.sh)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb82
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-inventory-sensors.yaml18
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-occ-sensors.yaml44
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-sensors-mrw.yaml339
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-bmc.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native/bmc-fru-config.yaml)20
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-not-sent-by-host.yaml21
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-hwmon-sensors.yaml484
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-bmc.yaml120
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-not-sent-by-host.yaml54
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-hwmon-sensors.yaml546
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/ibm-ac-server/obmc-console.conf (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/obmc-console.conf)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/events/witherspoon-events-policy-native.bb)7
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy/config.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/events/witherspoon-events-policy/config.yaml)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy-native.bb)10
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/air-cooled.yaml274
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/fan-errors.yaml671
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/water-cooled.yaml274
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/air-cooled.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/air-cooled.yaml)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/fan-errors.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/fan-errors.yaml)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/water-cooled.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/water-cooled.yaml)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bbappend4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-policy-native.bb)8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy/power-supply-policy.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-policy/power-supply-policy.yaml)6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy-native.bb)8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy/thermal-policy.yaml)6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml838
-rw-r--r--[-rwxr-xr-x]meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/witherspoon/fans.yaml0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/swift/monitor.yaml36
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/swift/config.yaml62
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend12
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-monitor-config/monitor.yaml2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-presence-config/config.yaml2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/flash/openpower-software-manager_%.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager_%.bbappend12
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/host/p9-host-start.bbappend7
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/images/obmc-phosphor-image.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json164
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend5
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/dcmi_sensors.json (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/dev_id.json (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/power_reading.json (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/power_reading.json)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native/fru-config-not-sent-by-host.yaml29
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/hwmon_sensors.hardcoded.yaml485
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/occ_sensors.hardcoded.yaml44
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/witherspoon_hwmon_sensors.hardcoded.yaml88
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend15
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/ibm-ac-server/policyTable.json (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/policyTable.json)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging_%.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/network/first-boot-set-mac_%.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/network/phosphor-network_%.bbappend6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis.inc2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/obmc/power-supply-monitor/power-supply-monitor-0.conf)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/obmc/power-supply-monitor/power-supply-monitor-1.conf)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf6
-rw-r--r--[-rwxr-xr-x]meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules0
-rw-r--r--[-rwxr-xr-x]meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/ibm-ac-server/70-hwmon.rules (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf8
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf16
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf12
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend14
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend2
-rw-r--r--meta-ibm/recipes-phosphor/bmcweb/bmcweb_%.bbappend3
-rw-r--r--meta-ibm/recipes-phosphor/image/obmc-phosphor-image.bbappend4
-rw-r--r--meta-ingrasys/meta-zaius/conf/distro/openbmc-zaius.conf2
-rw-r--r--meta-ingrasys/meta-zaius/conf/local.conf.sample2
-rw-r--r--meta-ingrasys/meta-zaius/conf/machine/zaius.conf3
-rw-r--r--meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend3
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb31
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-fru-properties.yaml (renamed from meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties/extra-properties.yaml)0
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-fru.yaml (renamed from meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map/config.yaml)0
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-sensors.yaml (renamed from meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory/config.yaml)0
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend6
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend6
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties-native.bb19
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map-native.bb24
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory-native.bb19
-rw-r--r--meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf1
-rw-r--r--meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb38
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-bmc.yaml (renamed from meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory/bmc-fru-config.yaml)10
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml (renamed from meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties/extra-properties.yaml)133
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml546
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-inventory-sensors.yaml340
-rw-r--r--[-rwxr-xr-x]meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-sensors.yaml (renamed from meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory/config.yaml)615
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console/obmc-console.conf5
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console_%.bbappend (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bbappend)0
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml464
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml21
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml9
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config.bbappend2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config/zones.yaml15
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config/monitor.yaml87
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config/config.yaml31
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service15
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan_%.bbappend21
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/flash/openpower-software-manager_%.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/flash/phosphor-software-manager_%.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop4
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/images/obmc-phosphor-image.bbappend2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend5
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend44
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json178
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json251
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend6
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend7
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/occ/files/occ_sensor.yaml6
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/occ/fp5280g2-occ-control-config-native.bb18
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf69
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf64
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend11
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory-native.bb19
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory/inventory3
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout-native.bb20
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout/layout.yaml12
-rwxr-xr-xmeta-intel/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb2
-rw-r--r--meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui/config.json1
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json25
-rw-r--r--meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend4
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample23
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/conf-notes.txt5
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf7
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/layer.conf14
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/local.conf.sample24
-rw-r--r--meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf19
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg20
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend5
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb36
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml226
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml (renamed from meta-ibm/meta-romulus/recipes-phosphor/ipmi/files/config.yaml)260
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml1826
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml14
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend4
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json11
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json2
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend7
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend9
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend9
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend6
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend6
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf8
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf9
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf40
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf12
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf27
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend15
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json35
-rw-r--r--meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend4
-rw-r--r--meta-microsoft/COPYING.MIT17
-rw-r--r--meta-microsoft/COPYING.apache-2.0175
-rw-r--r--meta-microsoft/LICENSE13
-rw-r--r--meta-microsoft/README.md2
-rwxr-xr-xmeta-microsoft/conf/layer.conf6
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/bblayers.conf.sample29
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/conf-notes.txt2
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/layer.conf12
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/local.conf.sample245
-rwxr-xr-xmeta-microsoft/meta-olympus/conf/machine/olympus.conf12
-rwxr-xr-xmeta-microsoft/meta-olympus/recipes.txt2
-rw-r--r--meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc6
-rw-r--r--meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb4
-rw-r--r--meta-openbmc-mods/conf/machine/include/intel.inc2
-rw-r--r--meta-openbmc-mods/meta-ast2500/conf/machine/include/intel-ast2500.inc10
-rw-r--r--meta-openbmc-mods/meta-ast2500/conf/machine/include/obmc-bsp-si-common.inc11
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-platforms.patch49
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-aspeed-pwm-tacho-change-default-fan-speed.patch28
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0002-Enable-pass-through-on-GPIOE1-and-GPIOE3-free.patch22
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0003-Enable-GPIOE0-and-GPIOE2-pass-through-by-default.patch18
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0004-Test-code-for-LPC-MBOX.patch112
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch6
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0006-Allow-monitoring-of-power-control-input-GPIOs.patch14
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/intel-ast2500.cfg5
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed_%.bbappend4
-rwxr-xr-x[-rw-r--r--]meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/CYP-baseboard.json114
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/TNP-baseboard.json66
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WC-Baseboard.json74
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WP-Baseboard.json69
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed.bb20
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service10
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py23
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru.bb14
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600CYP.fru.binbin513 -> 0 bytes
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600TNP.fru.binbin512 -> 0 bytes
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WC.fru.binbin511 -> 0 bytes
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WFT.fru.binbin512 -> 0 bytes
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WP.fru.binbin512 -> 0 bytes
-rwxr-xr-xmeta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/checkFru.sh8
-rwxr-xr-xmeta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/create_fru.py154
-rw-r--r--meta-openbmc-mods/meta-ast2500/recipes-phosphor/workbook/wolfpass-config.bb2
-rw-r--r--meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch83
-rw-r--r--meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-Turn-Off-FFWUPD-Jumper.patch32
-rw-r--r--meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend9
-rw-r--r--meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend11
-rw-r--r--meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass112
-rw-r--r--meta-openbmc-mods/meta-common/classes/image_types_phosphor_auto.bbclass8
-rw-r--r--meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass25
-rw-r--r--meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0002-intel-layout-environment-addr.patch59
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Make-sure-debug-uart-is-using-24MHz-clock-source.patch16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0005-enable-passthrough-in-uboot.patch13
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0006-Add-Aspeed-g5-interrupt-support.patch42
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0007-Add-espi-support.patch24
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0008-add-sgio-support-for-port80-snoop-post-LEDs.patch6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0009-Add-basic-GPIO-support.patch24
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0010-Update-Force-Firmware-Update-Jumper-to-use-new-gpio.patch22
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0011-Add-basic-timer-support-for-Aspeed-g5-in-U-Boot.patch22
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0013-aspeed-Add-Pwm-Driver.patch14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0014-Keep-interrupts-enabled-until-last-second.patch16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0015-Rewrite-memmove-to-optimize-on-word-transfers.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0019-u-boot-full-platform-reset-espi-oob-ready.patch8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Add-system-reset-status-support.patch101
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Enable-PCIe-L1-support.patch8
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0021-Config-host-uart-clock-source-using-environment-vari.patch18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-KCS-driver-support-in-uBoot.patch12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-u-boot-env-change-for-PFR-image.patch12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0023-Add-TPM-enable-pulse-triggering.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0024-IPMI-command-handler-implementation-in-uboot.patch6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0025-Manufacturing-mode-physical-presence-detection.patch61
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0026-Aspeed-I2C-support-in-U-Boot.patch318
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0027-CPLD-u-boot-commands-support-for-PFR.patch9
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0030-Support-Get-Set-Security-mode-command.patch124
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0031-Make-it-so-TFTP-port-can-be-modified.patch40
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0032-Adding-PFR-boot-flow-checkpoint-in-u-boot.patch102
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0033-PFR-firmware-update-support-in-u-boot.patch480
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend9
-rw-r--r--meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed_%.bbappend9
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.service10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check_git.bb24
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/com.intel.AtScaleDebug.service2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/crashdump/crashdump_git.bb4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/.clang-format21
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/0001-Add-smbus-support-to-Cmake-Lists.patch36
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.c93
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.h9
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/libmctp-smbus.h18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/smbus.c293
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb30
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/ipmi/ipmi-providers.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/libxcrypt/libxcrypt_%.bbappend5
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/peci-pcie/peci-pcie_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/safec/safec_%.bbappend11
-rw-r--r--meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb15
-rw-r--r--meta-openbmc-mods/meta-common/recipes-devtools/python/python_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf (renamed from meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog-policy/rsyslog-override.conf)0
-rw-r--r--meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch54
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Add-flow-control-to-prevent-buffer-over-run.patch30
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb4
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksignbin0 -> 58104 bytes
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml47
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml47
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json63
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py311
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb22
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb38
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/ipccli/ipccli_svn.bb14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-set-idle-disconnect-to-true-in-all-cases.patch34
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-arm-dts-aspeed-g5-add-espi.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-New-flash-map-for-intel.patch33
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-Add-ASPEED-SGPIO-driver.patch8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-SGPIO-DT-and-pinctrl-fixup.patch32
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0010-Update-PECI-drivers-to-sync-with-linux-upstreaming-v.patch14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0019-Add-I2C-IPMB-support.patch15
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0020-misc-aspeed-add-lpc-mbox-driver.patch475
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0021-Initial-Port-of-Aspeed-LPC-SIO-driver.patch81
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0022-Add-AST2500-eSPI-driver.patch46
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0026-Add-support-for-new-PECI-commands.patch297
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0028-Add-AST2500-JTAG-driver.patch6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0030-Add-dump-debug-code-into-I2C-drivers.patch73
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0031-Add-high-speed-baud-rate-support-for-UART.patch16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0032-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch36
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0034-arm-dts-aspeed-Swap-the-mac-nodes-numbering.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0035-Implement-a-memory-driver-share-memory.patch78
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0039-Add-Aspeed-PWM-driver-which-uses-FTTMR010-timer-IP.patch30
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0040-i2c-Add-mux-hold-unhold-msg-types.patch131
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0041-Enable-passthrough-based-gpio-character-device.patch287
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0042-Add-bus-timeout-ms-and-retries-device-tree-propertie.patch12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0043-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-BT.patch14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0044-misc-Add-clock-control-logic-into-Aspeed-LPC-SNOOP-d.patch32
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0045-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-KC.patch16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0046-misc-Add-clock-control-logic-into-Aspeed-LPC-MBOX-dr.patch166
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0047-misc-Block-error-printing-on-probe-defer-case-in-Asp.patch16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0048-ARM-dts-aspeed-Set-default-status-of-LPC-BT-as-disab.patch40
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0051-Add-AST2500-JTAG-device.patch10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0052-drivers-jtag-Add-JTAG-core-driver.patch30
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0055-Documentation-jtag-Add-ABI-documentation.patch17
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0057-drivers-jtag-Add-JTAG-core-driver-Maintainers.patch8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0058-i2c-aspeed-add-general-call-support.patch42
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch8
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0066-i2c-aspeed-add-buffer-mode-transfer-support.patch462
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0067-i2c-aspeed-add-DMA-mode-transfer-support.patch442
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0068-i2c-aspeed-add-H-W-timeout-support.patch181
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers/0001-Enable-passthrough-based-gpio-character-device.patch26
-rw-r--r--meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers_%.bbappend5
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.CloseMuxes.service10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0002-Modify-Dbus-for-IPv6.patch38
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0003-Chassis-Power-Control-are-implemented.patch264
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0009-Add-host-restart-cause-property.patch98
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0014-Add-multiple-state-signal-for-host-start-and-stop.patch63
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0019-Creating-the-Session-interface-for-Host-and-LAN.patch116
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-Add-interface-suppot-for-provisioning-modes.patch52
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-D-Bus-Intf-Security-modes-property-intf-update.patch80
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0023-Add-host-interrupt-to-the-Host-State.patch31
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0025-Add-PreInterruptFlag-properity-in-DBUS.patch39
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/gpiodaemon/gpiodaemon.bb18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Modify-dbus-interface-for-power-control.patch31
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0010-fix-get-system-GUID-ipmi-command.patch74
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0013-ipmi-add-set-bios-id-to-whitelist.patch15
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0021-Implement-IPMI-Commmand-Get-Host-Restart-Cause.patch143
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0049-Fix-Unspecified-error-on-ipmi-restart-cause-command.patch71
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0055-Implement-set-front-panel-button-enables-command.patch176
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0058-Add-AC-failed-bit-support-for-get-chassis-status-com.patch76
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0059-Move-Set-SOL-config-parameter-to-host-ipmid.patch372
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0060-Move-Get-SOL-config-parameter-to-host-ipmid.patch270
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0061-Use-xyz.openbmc_project.State.Chassis-for-IPMI-chass.patch127
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0062-Update-IPMI-Chassis-Control-command.patch89
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch29
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Update-provisioning-mode-filter-logic.patch286
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/host-ipmid-whitelist.conf50
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/phosphor-ipmi-host.service6
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0007-Adding-support-for-GetSessionInfo-command.patch418
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0008-Sync-GetSession-Info-cmd-based-on-Upstream-review.patch282
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0009-Add-dbus-interface-for-sol-commands.patch48
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/multi-node-manager/multi-node-manager.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/phosphor-u-boot-mgr/phosphor-u-boot-mgr_git.bb18
-rwxr-xr-xmeta-openbmc-mods/meta-common/recipes-phosphor/preinit-mounts/preinit-mounts/init162
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native/defaults.yaml209
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager/0001-settings-initialize-data-file-with-default-setting.patch37
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend9
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/settings/settings_git.bb4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0001-Modify-dbus-interface-for-power-control.patch38
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0002-Capture-host-restart-cause.patch338
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0003-Use-warm-reboot-for-the-Reboot-host-state-transition.patch71
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0004-Add-Power-Restore-delay-support.patch141
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reboot-host@.service18
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-check@.service19
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-reboot-attempts@.service14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager_%.bbappend10
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager/0005-Added-suport-for-multiple-user-manager-services.patch31
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend4
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb21
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Add-redfish-log-support-for-IPMI-watchdog-timeout-ac.patch51
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Move-Phosphor-Watchdog-to-Not-Use-Service-Files.patch198
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Add-restart-cause-support.patch82
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Stop-the-watchdog-when-the-host-is-going-to-off.patch118
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0003-Add-redfish-log-support-for-IPMI-watchdog-pre-timeou.patch48
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service14
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog.service16
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service12
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend2
-rw-r--r--meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod/0001-Add-pass-through-setting-in-gpioset.patch266
-rw-r--r--meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod_%.bbappend7
-rw-r--r--meta-openbmc-mods/meta-wht/conf/conf-notes.txt1
-rw-r--r--meta-openbmc-mods/meta-wht/conf/layer.conf4
-rw-r--r--meta-openbmc-mods/meta-wht/conf/local.conf.sample11
-rw-r--r--meta-openbmc-mods/meta-wolfpass/conf/conf-notes.txt1
-rw-r--r--meta-openbmc-mods/meta-wolfpass/conf/layer.conf2
-rw-r--r--meta-openbmc-mods/meta-wolfpass/conf/local.conf.sample3
-rw-r--r--meta-openembedded/.gitignore2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb (renamed from meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb)4
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch16
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch30
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb (renamed from meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb)9
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb5
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend3
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch69
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch44
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb4
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch89
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch34
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb)18
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch34
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch128
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch20
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb)6
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb)4
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb)7
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch4
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init53
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb)5
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch26
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch38
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch88
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch143
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch23
-rwxr-xr-xmeta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d112
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service10
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb46
-rw-r--r--meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb5
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb (renamed from meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb)7
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch94
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch163
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch152
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch25
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch27
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch32
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb (renamed from meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb)6
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch67
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch76
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch100
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch33
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb (renamed from meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb)8
-rw-r--r--meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb (renamed from meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb)6
-rw-r--r--meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb (renamed from meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb)7
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch31
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default)0
-rwxr-xr-xmeta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb (renamed from meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb)7
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc39
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch10
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb (renamed from meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch86
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch115
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch249
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch1086
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch33
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch87
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch30
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch13
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch38
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch207
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch23
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch220
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch26
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch61
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf8
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample40
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service11
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb98
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb (renamed from meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb (renamed from meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb)4
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch25
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch31
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch21
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch7
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch31
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch27
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch30
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch26
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb (renamed from meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb)9
-rw-r--r--meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb4
-rw-r--r--meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch25
-rw-r--r--meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch96
-rw-r--r--meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch36
-rw-r--r--meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb12
-rw-r--r--meta-openembedded/meta-oe/classes/gitver.bbclass2
-rw-r--r--meta-openembedded/meta-oe/conf/layer.conf6
-rw-r--r--meta-openembedded/meta-oe/licenses/safec26
-rw-r--r--meta-openembedded/meta-oe/licenses/ttf-mplus16
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb (renamed from meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch72
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch88
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch (renamed from meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch)16
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb (renamed from meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb)47
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb (renamed from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb)0
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc8
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb (renamed from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb)0
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc4
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch80
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup9
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch59
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb)5
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch55
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch52
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb)7
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb)14
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc12
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb (renamed from meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch8
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch8
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch11
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch124
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch9
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch74
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb (renamed from meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb)25
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch93
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch232
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb (renamed from meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb)10
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch93
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch51
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb (renamed from meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb)11
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch89
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb (renamed from meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb (renamed from meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb)10
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb53
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb54
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch (renamed from meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb (renamed from meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb151
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb4
-rwxr-xr-x[-rw-r--r--]meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb (renamed from meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb (renamed from meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb)9
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb (renamed from meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb)6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb (renamed from meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch16
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch)22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch)26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch)38
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch)12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch)54
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch)8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch (renamed from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch)8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch1281
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch75
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb87
-rw-r--r--meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb7
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest (renamed from meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest)0
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch (renamed from meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch)0
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb (renamed from meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb)2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb)36
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb25
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb50
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb)20
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb15
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb34
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb24
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb38
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb3
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb)23
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb22
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb29
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb34
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb)17
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb)17
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb56
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb26
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb)7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch98
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb)1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb9
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb3
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service2
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc3
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb10
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb6
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb10
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb6
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb (renamed from meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb)4
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb (renamed from meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb)4
-rw-r--r--meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch18
-rw-r--r--meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb7
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch60
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch14
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb26
-rw-r--r--meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend1
-rw-r--r--meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver3
-rw-r--r--meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend7
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb1
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb)6
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb)28
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch10
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb)4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb (renamed from meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb)4
-rw-r--r--meta-openpower/classes/openpower-software-manager-ubi.bbclass8
-rw-r--r--meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb (renamed from meta-openpower/recipes-bsp/pdbg/pdbg_2.1.bb)4
-rw-r--r--meta-openpower/recipes-phosphor/bmcweb/bmcweb_%.bbappend1
-rw-r--r--meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb3
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios362
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-check-clearvolatile@.service14
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-cleanup.service8
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-enable-clearvolatile@.service14
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiattach.service8
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service13
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubipatch.service11
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiremount.service13
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-ro@.service10
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service10
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-updatesymlinks.service16
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/op-pnor-msl.service12
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager/org.open_power.Software.Host.Updater.service19
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb2
-rw-r--r--meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service1
-rw-r--r--meta-openpower/recipes-phosphor/host/op-proc-control_git.bb8
-rw-r--r--meta-openpower/recipes-phosphor/interfaces/bmcweb_%.bbappend4
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.service2
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh12
-rwxr-xr-xmeta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh10
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac@.service2
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-mac_1.0.bb6
-rw-r--r--meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc2
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc2
-rw-r--r--meta-openpower/recipes-phosphor/webui/phosphor-webui/df-openpower/config.json3
-rw-r--r--meta-openpower/recipes-phosphor/webui/phosphor-webui_%.bbappend10
-rw-r--r--meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch (renamed from meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch)0
-rw-r--r--meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc3
-rw-r--r--meta-phosphor/classes/flto-automake.bbclass6
-rw-r--r--meta-phosphor/classes/phosphor-networkd-rev.bbclass2
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-aspeednic-use-mac2.inc2
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-defaults.inc7
-rw-r--r--meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb2
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0001-networkd-fix-link_up-12505.patch66
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6-token-to-kernel.patch96
-rw-r--r--meta-phosphor/recipes-core/systemd/systemd_%.bbappend4
-rw-r--r--meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/rsyslog/rsyslog-policy.bb16
-rw-r--r--meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb2
-rw-r--r--meta-phosphor/recipes-extended/stdplus/stdplus_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/console/obmc-console_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb (renamed from meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bb)5
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb13
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory-native.bb22
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb38
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml (renamed from meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory/entity.yaml)0
-rwxr-xr-xmeta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/merge_yamls.py7
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb14
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml1
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb3
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb5
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules1
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service2
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/mboxd_git.bb4
-rw-r--r--meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb3
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb26
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.service11
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.sh58
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/mac-address/files/mac-address.service11
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb27
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json412
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json928
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-boot-control.service10
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-control.sh39
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh5
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service12
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service14
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control_%.bbappend40
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/images/obmc-phosphor-image.bbappend2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf38
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend4
-rw-r--r--meta-raspberrypi/classes/sdcard_image-rpi.bbclass2
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-default-versions.inc2
-rw-r--r--meta-raspberrypi/recipes-bsp/common/firmware.inc8
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch22
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch4
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/userland_git.bb4
-rw-r--r--meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc4
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb4
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch24
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch (renamed from meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch)14
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch (renamed from meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch)0
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch (renamed from meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch)6
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch (renamed from meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch)12
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch36
-rw-r--r--meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend (renamed from meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend)2
-rw-r--r--meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch8
-rw-r--r--meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb1
-rw-r--r--meta-security/lib/oeqa/runtime/cases/checksec.py33
-rw-r--r--meta-security/meta-integrity/README.md250
-rw-r--r--meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass92
-rw-r--r--meta-security/meta-integrity/conf/layer.conf24
-rw-r--r--meta-security/meta-integrity/data/debug-keys/privkey_ima.pem16
-rw-r--r--meta-security/meta-integrity/data/debug-keys/x509_ima.derbin0 -> 707 bytes
-rw-r--r--meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py129
-rw-r--r--meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc5
-rw-r--r--meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend1
-rw-r--r--meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb22
-rw-r--r--meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb28
-rw-r--r--meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima52
-rw-r--r--meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb9
-rw-r--r--meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf2
-rw-r--r--meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf3
-rw-r--r--meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend13
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend3
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch51
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch138
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch60
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg18
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg3
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch65
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch43
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch31
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch34
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch68
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch50
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch47
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb41
-rw-r--r--meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all29
-rw-r--r--meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb18
-rw-r--r--meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed77
-rw-r--r--meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb20
-rw-r--r--meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple4
-rw-r--r--meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb18
-rwxr-xr-xmeta-security/meta-integrity/scripts/ima-gen-CA-signed.sh48
-rwxr-xr-xmeta-security/meta-integrity/scripts/ima-gen-local-ca.sh42
-rwxr-xr-xmeta-security/meta-integrity/scripts/ima-gen-self-signed.sh41
-rw-r--r--meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb1
-rw-r--r--meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb1
-rw-r--r--meta-security/recipes-security/bastille/bastille_3.2.1.bb4
-rw-r--r--meta-security/recipes-security/checksec/checksec_1.11.1.bb (renamed from meta-security/recipes-security/checksec/checksec_1.11.bb)2
-rw-r--r--meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch28
-rw-r--r--meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb4
-rw-r--r--meta-security/recipes-security/keyutils/files/fix_library_install_path.patch28
-rw-r--r--meta-security/recipes-security/keyutils/keyutils_1.6.bb14
-rw-r--r--meta-security/recipes-security/scapy/python-scapy.inc7
-rw-r--r--meta-security/recipes-security/scapy/python-scapy_2.4.2.bb5
-rw-r--r--meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb4
-rw-r--r--meta-yadro/meta-nicole/conf/bblayers.conf.sample31
-rw-r--r--meta-yadro/meta-nicole/conf/conf-notes.txt2
-rw-r--r--meta-yadro/meta-nicole/conf/layer.conf10
-rw-r--r--meta-yadro/meta-nicole/conf/local.conf.sample216
-rw-r--r--meta-yadro/meta-nicole/conf/machine/nicole.conf13
-rw-r--r--meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts249
-rw-r--r--meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/nicole.cfg0
-rw-r--r--meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed_%.bbappend12
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb25
-rwxr-xr-xmeta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control.sh31
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control@.service20
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console/obmc-console.conf4
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console_%.bbappend (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bbappend)0
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/host/p9-host-start.bbappend2
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend1
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/mboxd/mboxd_%.bbappend1
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json72
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend (renamed from meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog-policy.bbappend)3
-rw-r--r--meta-yadro/meta-nicole/recipes.txt2
-rw-r--r--meta-yadro/meta-vesnin/conf/machine/vesnin.conf2
-rw-r--r--meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0001-vesnin-dts-add-mbox-and-lpc_host.patch38
-rw-r--r--meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0002-vesnin-remap-aspeed-uart.patch16
-rw-r--r--meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed_%.bbappend1
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb23
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml (renamed from meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map/config.yaml)0
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend5
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend5
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-native.bb23
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-read-native.bb25
-rw-r--r--poky/bitbake/lib/bb/build.py79
-rw-r--r--poky/bitbake/lib/bb/cache.py12
-rw-r--r--poky/bitbake/lib/bb/cooker.py61
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py16
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py5
-rw-r--r--poky/bitbake/lib/bb/fetch2/npm.py19
-rw-r--r--poky/bitbake/lib/bb/fetch2/svn.py19
-rwxr-xr-xpoky/bitbake/lib/bb/main.py2
-rw-r--r--poky/bitbake/lib/bb/progress.py16
-rw-r--r--poky/bitbake/lib/bb/runqueue.py8
-rw-r--r--poky/bitbake/lib/bb/siggen.py8
-rw-r--r--poky/bitbake/lib/bb/taskdata.py2
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py80
-rw-r--r--poky/bitbake/lib/bb/tests/utils.py4
-rw-r--r--poky/bitbake/lib/bb/ui/knotty.py2
-rw-r--r--poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml2
-rw-r--r--poky/bitbake/lib/toaster/orm/fixtures/poky.xml2
-rw-r--r--poky/documentation/Makefile4
-rw-r--r--poky/documentation/dev-manual/dev-manual-common-tasks.xml320
-rw-r--r--poky/documentation/dev-manual/figures/cute-files-npm-example.pngbin0 -> 26248 bytes
-rw-r--r--poky/documentation/mega-manual/figures/cute-files-npm-example.pngbin0 -> 26248 bytes
-rw-r--r--poky/documentation/overview-manual/overview-manual-concepts.xml11
-rw-r--r--poky/documentation/ref-manual/migration.xml4
-rw-r--r--poky/documentation/ref-manual/ref-classes.xml57
-rw-r--r--poky/documentation/ref-manual/ref-devtool-reference.xml179
-rw-r--r--poky/documentation/ref-manual/ref-features.xml4
-rw-r--r--poky/documentation/ref-manual/ref-tasks.xml44
-rw-r--r--poky/documentation/ref-manual/ref-variables.xml26
-rw-r--r--poky/documentation/sdk-manual/sdk-extensible.xml4
-rw-r--r--poky/meta-poky/conf/local.conf.sample4
-rw-r--r--poky/meta-poky/conf/local.conf.sample.extended1
-rw-r--r--poky/meta-poky/recipes-core/tiny-init/tiny-init.bb1
-rw-r--r--poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb3
-rw-r--r--poky/meta-selftest/recipes-test/license/incompatible-license.bb3
-rw-r--r--poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb3
-rw-r--r--poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf2
-rw-r--r--poky/meta/classes/base.bbclass18
-rw-r--r--poky/meta/classes/binconfig.bbclass9
-rw-r--r--poky/meta/classes/buildhistory.bbclass4
-rw-r--r--poky/meta/classes/cmake.bbclass27
-rw-r--r--poky/meta/classes/cve-check.bbclass90
-rw-r--r--poky/meta/classes/devicetree.bbclass2
-rw-r--r--poky/meta/classes/go.bbclass1
-rw-r--r--poky/meta/classes/image_types.bbclass2
-rw-r--r--poky/meta/classes/insane.bbclass23
-rw-r--r--poky/meta/classes/kernel-fitimage.bbclass15
-rw-r--r--poky/meta/classes/kernel-uboot.bbclass4
-rw-r--r--poky/meta/classes/kernel.bbclass3
-rw-r--r--poky/meta/classes/license.bbclass2
-rw-r--r--poky/meta/classes/license_image.bbclass2
-rw-r--r--poky/meta/classes/meson.bbclass2
-rw-r--r--poky/meta/classes/multilib.bbclass2
-rw-r--r--poky/meta/classes/multilib_global.bbclass3
-rw-r--r--poky/meta/classes/npm.bbclass11
-rw-r--r--poky/meta/classes/package.bbclass62
-rw-r--r--poky/meta/classes/populate_sdk_base.bbclass2
-rw-r--r--poky/meta/classes/scons.bbclass7
-rw-r--r--poky/meta/classes/staging.bbclass2
-rw-r--r--poky/meta/classes/testimage.bbclass6
-rw-r--r--poky/meta/classes/uboot-sign.bbclass2
-rw-r--r--poky/meta/classes/uninative.bbclass4
-rw-r--r--poky/meta/classes/update-rc.d.bbclass28
-rw-r--r--poky/meta/classes/useradd.bbclass7
-rw-r--r--poky/meta/conf/bitbake.conf2
-rw-r--r--poky/meta/conf/distro/include/default-providers.inc1
-rw-r--r--poky/meta/conf/distro/include/maintainers.inc12
-rw-r--r--poky/meta/conf/distro/include/ptest-packagelists.inc2
-rw-r--r--poky/meta/conf/distro/include/tcmode-default.inc4
-rw-r--r--poky/meta/conf/distro/include/yocto-uninative.inc8
-rw-r--r--poky/meta/conf/layer.conf1
-rw-r--r--poky/meta/conf/machine/include/riscv/arch-riscv.inc10
-rw-r--r--poky/meta/conf/machine/include/riscv/qemuriscv.inc50
-rw-r--r--poky/meta/conf/machine/include/riscv/tune-riscv.inc19
-rw-r--r--poky/meta/conf/machine/include/tune-thunderx.inc2
-rw-r--r--poky/meta/conf/machine/qemuarm64.conf1
-rw-r--r--poky/meta/conf/machine/qemuriscv64.conf11
-rw-r--r--poky/meta/lib/oe/gpg_sign.py39
-rw-r--r--poky/meta/lib/oe/recipeutils.py2
-rw-r--r--poky/meta/lib/oe/rootfs.py1
-rw-r--r--poky/meta/lib/oe/sstatesig.py2
-rw-r--r--poky/meta/lib/oeqa/core/case.py2
-rw-r--r--poky/meta/lib/oeqa/core/context.py17
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/logrotate.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/scons.py37
-rw-r--r--poky/meta/lib/oeqa/runtime/files/SConstruct1
-rw-r--r--poky/meta/lib/oeqa/runtime/files/hello.c5
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py41
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/manifest.py7
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oescripts.py3
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/package.py3
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipetool.py42
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py160
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/resulttooltests.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/signing.py3
-rw-r--r--poky/meta/lib/oeqa/utils/logparser.py4
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py5
-rw-r--r--poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch (renamed from meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch)0
-rw-r--r--poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb (renamed from meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb)18
-rw-r--r--poky/meta/recipes-bsp/efivar/efivar/no-werror.patch18
-rw-r--r--poky/meta/recipes-bsp/efivar/efivar_37.bb37
-rw-r--r--poky/meta/recipes-bsp/grub/grub2.inc2
-rw-r--r--poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch25
-rw-r--r--poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb1
-rw-r--r--poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch38
-rw-r--r--poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch128
-rw-r--r--poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc37
-rw-r--r--poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb49
-rw-r--r--poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch30
-rw-r--r--poky/meta/recipes-bsp/usbutils/usbutils_012.bb (renamed from poky/meta/recipes-bsp/usbutils/usbutils_010.bb)5
-rw-r--r--poky/meta/recipes-connectivity/avahi/avahi.inc7
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5.inc8
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch301
-rw-r--r--poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch34
-rw-r--r--poky/meta/recipes-connectivity/connman/connman_1.37.bb2
-rw-r--r--poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch27
-rw-r--r--poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb1
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb2
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb (renamed from poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb)4
-rw-r--r--poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch56
-rw-r--r--poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb3
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono.inc4
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch50
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch36
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch36
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono_1.29.bb3
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch121
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch40
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch275
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch187
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch26
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb (renamed from poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb)13
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch43
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch69
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl/afalg.patch6
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb (renamed from poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb)10
-rw-r--r--poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch32
-rw-r--r--poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb1
-rw-r--r--poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb2
-rw-r--r--poky/meta/recipes-core/dbus/dbus-glib_0.110.bb2
-rw-r--r--poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb (renamed from poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb)6
-rw-r--r--poky/meta/recipes-core/dbus/dbus_1.12.16.bb (renamed from poky/meta/recipes-core/dbus/dbus_1.12.12.bb)6
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear.inc7
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch44
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch23
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch64
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch61
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch62
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch126
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch104
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross3
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch6
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb (renamed from poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb)9
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib.inc3
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb (renamed from poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb)5
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale.inc4
-rw-r--r--poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb2
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb18
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb (renamed from poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb)7
-rw-r--r--poky/meta/recipes-core/meta/cve-update-db.bb121
-rw-r--r--poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb1
-rw-r--r--poky/meta/recipes-core/meta/uninative-tarball.bb5
-rw-r--r--poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch36
-rw-r--r--poky/meta/recipes-core/musl/musl_git.bb3
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb2
-rw-r--r--poky/meta/recipes-core/newlib/libgloss_3.1.0.bb (renamed from poky/meta/recipes-core/newlib/libgloss_3.0.0.bb)0
-rw-r--r--poky/meta/recipes-core/newlib/newlib.inc8
-rw-r--r--poky/meta/recipes-core/newlib/newlib_3.1.0.bb (renamed from poky/meta/recipes-core/newlib/newlib_3.0.0.bb)3
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-base.bb1
-rw-r--r--poky/meta/recipes-core/systemd/systemd-conf/wired.network10
-rw-r--r--poky/meta/recipes-core/systemd/systemd-conf_242.bb6
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch50
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch41
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch35
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch27
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch20
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch16
-rw-r--r--poky/meta/recipes-core/systemd/systemd_242.bb9
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb3
-rw-r--r--poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb4
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux.inc40
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/run-ptest14
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb (renamed from poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb)4
-rwxr-xr-xpoky/meta/recipes-core/volatile-binds/files/mount-copybind4
-rw-r--r--poky/meta/recipes-devtools/apt/apt-native.inc2
-rw-r--r--poky/meta/recipes-devtools/apt/apt-package.inc2
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch74
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch43
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils_2.32.bb6
-rw-r--r--poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch16
-rw-r--r--poky/meta/recipes-devtools/bison/bison_3.3.2.bb (renamed from poky/meta/recipes-devtools/bison/bison_3.1.bb)4
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch35
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb (renamed from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb)8
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache.inc1
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb (renamed from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb)4
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch40
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch100
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/pager.patch21
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb4
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb3
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb37
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch38
-rw-r--r--poky/meta/recipes-devtools/file/file_5.37.bb (renamed from poky/meta/recipes-devtools/file/file_5.36.bb)2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3.inc3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch59
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch94
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch813
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1.inc1
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch59
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime.inc29
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-8.3.inc (renamed from poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc)12
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc1
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb (renamed from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb (renamed from poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb.inc3
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch50
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch23
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch16
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch52
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch99
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb_8.3.bb (renamed from poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb4
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11.inc23
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch31
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch218
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch48
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch45
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch282
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch106
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch128
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12.inc6
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-cross.inc1
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.11.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-dep_0.5.0.bb10
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.11.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime.inc1
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.11.bb2
-rw-r--r--poky/meta/recipes-devtools/go/go-target.inc1
-rw-r--r--poky/meta/recipes-devtools/go/go_1.11.bb14
-rw-r--r--poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch45
-rw-r--r--poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb8
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch28
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb7
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb (renamed from poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb)2
-rw-r--r--poky/meta/recipes-devtools/m4/m4-1.4.18.inc3
-rw-r--r--poky/meta/recipes-devtools/m4/m4/remove-gets.patch24
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch2
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch92
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils_git.bb14
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch33
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb (renamed from poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb)5
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch30
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch32
-rw-r--r--poky/meta/recipes-devtools/perl/files/errno_ver.diff (renamed from poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/fix-setgroup.patch49
-rw-r--r--poky/meta/recipes-devtools/perl/files/native-perlinc.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch)21
-rw-r--r--poky/meta/recipes-devtools/perl/files/perl-dynloader.patch (renamed from poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch)0
-rw-r--r--poky/meta/recipes-devtools/perl/files/perl-rdepends.txt (renamed from poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt)171
-rw-r--r--poky/meta/recipes-devtools/perl/files/run-ptest (renamed from poky/meta/recipes-devtools/perl-sanity/files/run-ptest)0
-rw-r--r--poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest16
-rw-r--r--poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb103
-rw-r--r--poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb2
-rw-r--r--poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb14
-rw-r--r--poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb2
-rw-r--r--poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb2
-rw-r--r--poky/meta/recipes-devtools/perl/perl-ptest.inc (renamed from poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc)9
-rw-r--r--poky/meta/recipes-devtools/perl/perl_5.30.0.bb (renamed from poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb)32
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb (renamed from poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb)4
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb4
-rw-r--r--poky/meta/recipes-devtools/python/python-mako.inc4
-rw-r--r--poky/meta/recipes-devtools/python/python-nose_1.3.7.bb4
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools.inc11
-rw-r--r--poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch55
-rw-r--r--poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch55
-rw-r--r--poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch28
-rw-r--r--poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch111
-rw-r--r--poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb (renamed from poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb4
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb (renamed from poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb)4
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb20
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb8
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb29
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch201
-rw-r--r--poky/meta/recipes-devtools/python/python3/crosspythonpath.patch25
-rw-r--r--poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py21
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.7.3.bb20
-rw-r--r--poky/meta/recipes-devtools/python/python_2.7.16.bb8
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc9
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch493
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch66
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb3
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt.inc2
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch46
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb3
-rw-r--r--poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch19
-rw-r--r--poky/meta/recipes-devtools/strace/strace_4.26.bb1
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.44.5.bb (renamed from poky/meta/recipes-devtools/vala/vala_0.44.3.bb)4
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb3
-rw-r--r--poky/meta/recipes-extended/acpica/acpica_20190509.bb (renamed from poky/meta/recipes-extended/acpica/acpica_20190405.bb)4
-rw-r--r--poky/meta/recipes-extended/bash/bash.inc28
-rw-r--r--poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch45
-rw-r--r--poky/meta/recipes-extended/bash/bash/run-bash-ptests4
-rw-r--r--poky/meta/recipes-extended/bash/bash/run-ptest6
-rw-r--r--poky/meta/recipes-extended/bash/bash_5.0.bb2
-rw-r--r--poky/meta/recipes-extended/bc/bc_1.07.1.bb4
-rw-r--r--poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb10
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils/run-ptest3
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch10
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool_5.1.bb (renamed from poky/meta/recipes-extended/ethtool/ethtool_5.0.bb)7
-rw-r--r--poky/meta/recipes-extended/gawk/gawk/run-ptest24
-rw-r--r--poky/meta/recipes-extended/gawk/gawk_5.0.0.bb (renamed from poky/meta/recipes-extended/gawk/gawk_4.2.1.bb)7
-rw-r--r--poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch31
-rw-r--r--poky/meta/recipes-extended/groff/groff_1.22.4.bb3
-rw-r--r--poky/meta/recipes-extended/less/less_551.bb (renamed from poky/meta/recipes-extended/less/less_550.bb)4
-rw-r--r--poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch23
-rw-r--r--poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb (renamed from poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb)12
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb (renamed from poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb)4
-rw-r--r--poky/meta/recipes-extended/mdadm/mdadm_4.1.bb6
-rw-r--r--poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb28
-rw-r--r--poky/meta/recipes-extended/newt/libnewt_0.52.20.bb13
-rw-r--r--poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb3
-rw-r--r--poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch226
-rw-r--r--poky/meta/recipes-extended/pam/libpam_1.3.1.bb (renamed from poky/meta/recipes-extended/pam/libpam_1.3.0.bb)11
-rw-r--r--poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch34
-rw-r--r--poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch44
-rw-r--r--poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch28
-rw-r--r--poky/meta/recipes-extended/parted/files/dm_check.patch22
-rw-r--r--poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch76
-rw-r--r--poky/meta/recipes-extended/parted/files/syscalls.patch55
-rw-r--r--poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch32
-rw-r--r--poky/meta/recipes-extended/parted/parted_3.2.bb4
-rw-r--r--poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb3
-rw-r--r--poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb1
-rw-r--r--poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb2
-rw-r--r--poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb (renamed from poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb)14
-rw-r--r--poky/meta/recipes-extended/pigz/pigz_2.4.bb19
-rw-r--r--poky/meta/recipes-extended/sed/sed_4.2.2.bb2
-rw-r--r--poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch36
-rw-r--r--poky/meta/recipes-extended/shadow/shadow.inc1
-rw-r--r--poky/meta/recipes-extended/slang/slang/array_test.patch20
-rw-r--r--poky/meta/recipes-extended/slang/slang_2.3.2.bb1
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat.inc12
-rw-r--r--poky/meta/recipes-extended/tar/tar/remove-gets.patch29
-rw-r--r--poky/meta/recipes-extended/tar/tar_1.32.bb1
-rw-r--r--poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch25
-rw-r--r--poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch200
-rw-r--r--poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb2
-rw-r--r--poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py86
-rw-r--r--poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch19
-rw-r--r--poky/meta/recipes-extended/zip/zip_3.0.bb4
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb (renamed from poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb)5
-rw-r--r--poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch79
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch50
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch51
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch8
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch28
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb (renamed from poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb)6
-rw-r--r--poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch6
-rw-r--r--poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb (renamed from poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb)4
-rw-r--r--poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb (renamed from poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb)4
-rw-r--r--poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch33
-rw-r--r--poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb13
-rw-r--r--poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb16
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch77
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb (renamed from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb)4
-rw-r--r--poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch6
-rw-r--r--poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb (renamed from poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb)6
-rw-r--r--poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb (renamed from poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb)4
-rw-r--r--poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch35
-rw-r--r--poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb8
-rw-r--r--poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb12
-rw-r--r--poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb (renamed from poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb)4
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb4
-rw-r--r--poky/meta/recipes-graphics/libva/libva_2.4.1.bb (renamed from poky/meta/recipes-graphics/libva/libva_2.4.0.bb)4
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch24
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch (renamed from poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch)30
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch48
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch26
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch20
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch20
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb (renamed from poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb)6
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb (renamed from poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb)0
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc2
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb (renamed from poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb)7
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch75
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit/format-fix.patch69
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit_git.bb7
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb (renamed from poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb)4
-rw-r--r--poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb128
-rw-r--r--poky/meta/recipes-kernel/linux/linux-dummy.bb5
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-dev.bb4
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb9
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb9
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb10
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb10
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb23
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb26
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb)15
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch35
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch (renamed from poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch)0
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch24
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch52
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch80
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch176
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch28
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch347
-rwxr-xr-xpoky/meta/recipes-kernel/lttng/lttng-tools/run-ptest2
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb)15
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch109
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb)5
-rw-r--r--poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb2
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap_git.inc4
-rw-r--r--poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb)12
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb (renamed from poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb)4
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb (renamed from poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb)4
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb (renamed from poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb)0
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb (renamed from poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb)4
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb1
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch30
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb8
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb)4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb)9
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb)4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch43
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch8
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb)17
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch167
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch35
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch32
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch70
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch109
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb)11
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch62
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch37
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch44
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch40
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb)8
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb)4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb)16
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch27
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb)5
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb)6
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb)6
-rw-r--r--poky/meta/recipes-multimedia/x264/x264_git.bb2
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch24
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb (renamed from poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb)9
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb (renamed from poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb)7
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch31
-rw-r--r--poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb (renamed from poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb)16
-rw-r--r--poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch38
-rw-r--r--poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch7
-rw-r--r--poky/meta/recipes-support/atk/atk_2.32.0.bb (renamed from poky/meta/recipes-support/atk/atk_2.30.0.bb)9
-rw-r--r--poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb (renamed from poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb)9
-rw-r--r--poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb4
-rw-r--r--poky/meta/recipes-support/curl/curl_7.65.1.bb (renamed from poky/meta/recipes-support/curl/curl_7.64.1.bb)4
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb (renamed from poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb)4
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb (renamed from poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb)5
-rw-r--r--poky/meta/recipes-support/icu/icu.inc7
l---------poky/meta/recipes-support/libcap-ng/libcap-ng1
-rw-r--r--poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch (renamed from poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch)0
-rw-r--r--poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb27
-rw-r--r--poky/meta/recipes-support/libcap-ng/libcap-ng.inc17
-rw-r--r--poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb28
-rw-r--r--poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb (renamed from poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb)4
-rw-r--r--poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch48
-rw-r--r--poky/meta/recipes-support/libevent/libevent_2.1.10.bb (renamed from poky/meta/recipes-support/libevent/libevent_2.1.8.bb)5
-rw-r--r--poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch827
-rw-r--r--poky/meta/recipes-support/libffi/libffi_3.2.1.bb5
-rw-r--r--poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch30
-rw-r--r--poky/meta/recipes-support/libical/libical_2.0.0.bb6
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre2_10.33.bb (renamed from poky/meta/recipes-support/libpcre/libpcre2_10.32.bb)6
-rw-r--r--poky/meta/recipes-support/libpcre/libpcre_8.43.bb2
-rw-r--r--poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch28
-rw-r--r--poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb4
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb (renamed from poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb)4
-rw-r--r--poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch157
-rw-r--r--poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb (renamed from poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb)10
-rw-r--r--poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch124
-rw-r--r--poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb7
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.9.1.bb (renamed from poky/meta/recipes-support/lz4/lz4_1.9.0.bb)2
-rw-r--r--poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch53
-rw-r--r--poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb3
-rw-r--r--poky/meta/recipes-support/nss/nss_3.44.bb (renamed from poky/meta/recipes-support/nss/nss_3.43.bb)4
-rw-r--r--poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb (renamed from poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb)2
-rw-r--r--poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb3
-rw-r--r--poky/meta/recipes-support/popt/popt_1.16.bb2
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch212
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb6
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch60
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch27
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch95
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/default3
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch25
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/init21
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch114
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/rngd.service4
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch46
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb58
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb53
-rw-r--r--poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch71
-rw-r--r--poky/meta/recipes-support/serf/serf_1.3.9.bb24
-rw-r--r--poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch30
-rw-r--r--poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb28
-rw-r--r--poky/meta/recipes-support/taglib/taglib_1.11.1.bb2
-rw-r--r--poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb (renamed from poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb)5
-rw-r--r--poky/meta/recipes-support/vim/vim.inc (renamed from poky/meta/recipes-support/vim/vim_8.1.1240.bb)12
-rw-r--r--poky/meta/recipes-support/vim/vim_8.1.1518.bb10
-rw-r--r--poky/meta/recipes-support/vte/vte_0.56.1.bb4
-rw-r--r--poky/scripts/lib/recipetool/create_buildsys_python.py22
-rwxr-xr-xpoky/scripts/lib/resulttool/manualexecution.py31
-rw-r--r--poky/scripts/lib/resulttool/merge.py20
-rw-r--r--poky/scripts/lib/resulttool/report.py104
-rw-r--r--poky/scripts/lib/resulttool/resultutils.py19
-rw-r--r--poky/scripts/lib/resulttool/store.py9
-rw-r--r--poky/scripts/lib/resulttool/template/test_report_full_text.txt38
-rw-r--r--poky/scripts/lib/wic/engine.py7
-rw-r--r--poky/scripts/lib/wic/filemap.py5
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-efi.py60
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py8
-rw-r--r--poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py21
-rwxr-xr-xpoky/scripts/runqemu83
1602 files changed, 34768 insertions, 24998 deletions
diff --git a/meta-aspeed/conf/bblayers.conf.sample b/meta-aspeed/conf/bblayers.conf.sample
new file mode 100644
index 000000000..e52e6beac
--- /dev/null
+++ b/meta-aspeed/conf/bblayers.conf.sample
@@ -0,0 +1,7 @@
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ##OEROOT##/meta \
+ ##OEROOT##/meta-aspeed \
+ "
diff --git a/meta-aspeed/conf/layer.conf b/meta-aspeed/conf/layer.conf
index b990839bd..8c0d502cf 100644
--- a/meta-aspeed/conf/layer.conf
+++ b/meta-aspeed/conf/layer.conf
@@ -7,6 +7,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "aspeed-layer"
BBFILE_PATTERN_aspeed-layer := "^${LAYERDIR}/"
LAYERVERSION_aspeed-layer = "1"
-LAYERSERIES_COMPAT_aspeed-layer = "thud warrior"
+LAYERSERIES_COMPAT_aspeed-layer = "warrior"
ASPEEDBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-aspeed/conf/local.conf.sample b/meta-aspeed/conf/local.conf.sample
new file mode 100644
index 000000000..9cce69288
--- /dev/null
+++ b/meta-aspeed/conf/local.conf.sample
@@ -0,0 +1,5 @@
+#MACHINE ?= "evb-ast2500"
+MACHINE ??= "evb-ast2600"
+
+# Allow logging in if the user does not set the root password.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
diff --git a/meta-aspeed/conf/machine/evb-ast2500.conf b/meta-aspeed/conf/machine/evb-ast2500.conf
new file mode 100644
index 000000000..2689d3796
--- /dev/null
+++ b/meta-aspeed/conf/machine/evb-ast2500.conf
@@ -0,0 +1,4 @@
+KERNEL_DEVICETREE = "aspeed-ast2500-evb.dtb"
+UBOOT_MACHINE = "ast_g5_phy_config"
+
+require conf/machine/include/ast2500.inc
diff --git a/meta-aspeed/conf/machine/evb-ast2600.conf b/meta-aspeed/conf/machine/evb-ast2600.conf
new file mode 100644
index 000000000..fd72baa17
--- /dev/null
+++ b/meta-aspeed/conf/machine/evb-ast2600.conf
@@ -0,0 +1,4 @@
+KERNEL_DEVICETREE = "aspeed-ast2600-evb.dtb"
+UBOOT_MACHINE = "evb-ast2600_defconfig"
+
+require conf/machine/include/ast2600.inc
diff --git a/meta-aspeed/conf/machine/include/aspeed.inc b/meta-aspeed/conf/machine/include/aspeed.inc
index 36153cf5e..e62af13b8 100644
--- a/meta-aspeed/conf/machine/include/aspeed.inc
+++ b/meta-aspeed/conf/machine/include/aspeed.inc
@@ -3,4 +3,9 @@ PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-aspeed"
PREFERRED_PROVIDER_u-boot ?= "u-boot-aspeed"
PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-fw-utils-aspeed"
+PREFERRED_PROVIDER_virtual/kernel_aspeed-g6 ?= "linux-aspeed-sdk"
+PREFERRED_PROVIDER_virtual/bootloader_aspeed-g6 ?= "u-boot-aspeed-sdk"
+PREFERRED_PROVIDER_u-boot_aspeed-g6 ?= "u-boot-aspeed-sdk"
+PREFERRED_PROVIDER_u-boot-fw-utils_aspeed-g6 ?= "u-boot-fw-utils-aspeed-sdk"
+
MACHINEOVERRIDES =. "aspeed:"
diff --git a/meta-aspeed/conf/machine/include/ast2600.inc b/meta-aspeed/conf/machine/include/ast2600.inc
new file mode 100644
index 000000000..2dcaaf613
--- /dev/null
+++ b/meta-aspeed/conf/machine/include/ast2600.inc
@@ -0,0 +1,7 @@
+SOC_FAMILY = "aspeed-g6"
+include conf/machine/include/soc-family.inc
+require conf/machine/include/aspeed.inc
+require conf/machine/include/tune-cortexa7.inc
+
+UBOOT_ENTRYPOINT = "0x80001000"
+UBOOT_LOADADDRESS = "0x80001000"
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb
new file mode 100644
index 000000000..fe8533859
--- /dev/null
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk_2019.04.bb
@@ -0,0 +1,8 @@
+require u-boot-common-aspeed-sdk_${PV}.inc
+
+UBOOT_MAKE_TARGET ?= "u-boot.${UBOOT_SUFFIX}"
+
+require recipes-bsp/u-boot/u-boot.inc
+
+PROVIDES += "u-boot"
+DEPENDS += "bc-native dtc-native"
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc
new file mode 100644
index 000000000..91b0d0042
--- /dev/null
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc
@@ -0,0 +1,18 @@
+HOMEPAGE = "https://github.com/AspeedTech-BMC/u-boot"
+SECTION = "bootloaders"
+DEPENDS += "flex-native bison-native"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
+PE = "1"
+
+# We use the revision in order to avoid having to fetch it from the
+# repo during parse
+SRCREV = "baa29d5ecc47e6b32a3422c897dcbe30e7209e2b"
+
+UBRANCH = "aspeed-master-v2019.04"
+SRC_URI = "git://github.com/AspeedTech-BMC/u-boot;branch=${UBRANCH};protocol=https"
+
+S = "${WORKDIR}/git"
+
+PV = "v2019.04+git${SRCPV}"
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb b/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb
new file mode 100644
index 000000000..59fdbdeab
--- /dev/null
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-fw-utils-aspeed-sdk_2019.04.bb
@@ -0,0 +1,36 @@
+require u-boot-common-aspeed-sdk_${PV}.inc
+
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+DEPENDS += "mtd-utils"
+
+PROVIDES += "u-boot-fw-utils"
+
+INSANE_SKIP_${PN} = "already-stripped"
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" V=1'
+EXTRA_OEMAKE_class-cross = 'HOSTCC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+
+inherit uboot-config
+
+do_compile () {
+ oe_runmake ${UBOOT_MACHINE}
+ oe_runmake envtools
+}
+
+do_install () {
+ install -d ${D}${base_sbindir}
+ install -d ${D}${sysconfdir}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+ install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+do_install_class-cross () {
+ install -d ${D}${bindir_cross}
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+ install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+}
+
+SYSROOT_DIRS_append_class-cross = " ${bindir_cross}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BBCLASSEXTEND = "cross"
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk/aspeed-g6/defconfig
new file mode 100644
index 000000000..035b9c002
--- /dev/null
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk/aspeed-g6/defconfig
@@ -0,0 +1,292 @@
+CONFIG_KERNEL_XZ=y
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PSI=y
+CONFIG_PSI_DEFAULT_DISABLED=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_CGROUPS=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_UID16 is not set
+# CONFIG_SYSFS_SYSCALL is not set
+# CONFIG_AIO is not set
+CONFIG_BPF_SYSCALL=y
+CONFIG_EMBEDDED=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+CONFIG_SLAB_FREELIST_RANDOM=y
+CONFIG_ARCH_ASPEED=y
+CONFIG_MACH_ASPEED_G6=y
+# CONFIG_CACHE_L2X0 is not set
+CONFIG_SMP=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_NR_CPUS=2
+CONFIG_UACCESS_WITH_MEMCPY=y
+CONFIG_SECCOMP=y
+# CONFIG_ATAGS is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_VFP=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_COMPACTION is not set
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=y
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_DIAG is not set
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET6_XFRM_MODE_BEET is not set
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_ADVANCED is not set
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_FTP=y
+CONFIG_NF_CONNTRACK_IRC=y
+CONFIG_NF_CONNTRACK_SIP=y
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NETFILTER_XT_MARK=y
+CONFIG_NETFILTER_XT_TARGET_LOG=y
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+CONFIG_NF_LOG_ARP=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MATCH_IPV6HEADER=y
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_VLAN_8021Q=y
+CONFIG_NET_NCSI=y
+# CONFIG_WIRELESS is not set
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_MTD=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_PARTITIONED_MASTER=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_BLOCK2MTD=y
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_FASTMAP=y
+CONFIG_MTD_UBI_BLOCK=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_ASPEED_LPC_SNOOP=y
+CONFIG_ASPEED_LPC_MBOX=y
+CONFIG_EEPROM_AT24=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_NETDEVICES=y
+CONFIG_NETCONSOLE=y
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_AURORA is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CIRRUS is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+CONFIG_FTGMAC100=y
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_BROADCOM_PHY=y
+CONFIG_REALTEK_PHY=y
+# CONFIG_USB_NET_DRIVERS is not set
+# CONFIG_WLAN is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_GPIO_POLLED=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+# CONFIG_VT is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=17
+CONFIG_SERIAL_8250_RUNTIME_UARTS=17
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_ASPEED_VUART=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_ASPEED_KCS_IPMI_BMC=y
+CONFIG_ASPEED_BT_IPMI_BMC=y
+CONFIG_HW_RANDOM=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_NEW_ASPEED=y
+CONFIG_I2C_SLAVE=y
+CONFIG_I2C_SLAVE_EEPROM=y
+CONFIG_SPI=y
+CONFIG_SPI_FMC=y
+CONFIG_DEBUG_PINCTRL=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_ASPEED=y
+CONFIG_SGPIO_ASPEED=y
+CONFIG_SENSORS_ASPEED_PWM_TECHOMETER=y
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_THERMAL=y
+CONFIG_WATCHDOG_SYSFS=y
+CONFIG_DRM=y
+CONFIG_DRM_ASPEED_GFX=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_U_SERIAL_CONSOLE=y
+CONFIG_USB_ASPEED_VHUB=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ASPEED=y
+CONFIG_EDAC=y
+# CONFIG_EDAC_LEGACY_SYSFS is not set
+CONFIG_EDAC_ASPEED=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_ASPEED=y
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_ASPEED_ESPI=y
+CONFIG_AST_VIDEO=y
+CONFIG_ASPEED_JTAG=y
+CONFIG_ASPEED_MCTP=y
+CONFIG_ASPEED_XDMA=y
+CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_KFIFO_BUF=y
+CONFIG_IIO_CONFIGFS=y
+CONFIG_ASPEED_ADC=y
+CONFIG_RAS=y
+CONFIG_PECI=y
+CONFIG_PECI_ASPEED=y
+CONFIG_EXT2_FS=y
+CONFIG_FANOTIFY=y
+CONFIG_OVERLAY_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+# CONFIG_JFFS2_FS_WRITEBUFFER is not set
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_UBIFS_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_FORTIFY_SOURCE=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_USER_API_HASH=y
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_SPARC is not set
+CONFIG_PRINTK_TIME=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_INFO_REDUCED=y
+CONFIG_DEBUG_INFO_DWARF4=y
+CONFIG_GDB_SCRIPTS=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_SOFTLOCKUP_DETECTOR=y
+# CONFIG_DETECT_HUNG_TASK is not set
+CONFIG_WQ_WATCHDOG=y
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_TIMEOUT=-1
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHED_STACK_END_CHECK=y
+CONFIG_FUNCTION_TRACER=y
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_DEBUG_WX=y
+CONFIG_DEBUG_USER=y
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk_git.bb
new file mode 100644
index 000000000..efb94f2c2
--- /dev/null
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk_git.bb
@@ -0,0 +1,8 @@
+KBRANCH ?= "aspeed-master-v5.1"
+KSRC ?= "git://github.com/AspeedTech-BMC/linux;protocol=git;branch=${KBRANCH}"
+LINUX_VERSION ?= "5.1.3"
+
+SRCREV="f3885751420fa09f177abeecf8e9cb1255124f9b"
+
+require linux-aspeed.inc
+
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig
index 3d9880b59..d0abbf1fa 100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig
@@ -20,27 +20,26 @@ CONFIG_PERF_EVENTS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
CONFIG_SLAB_FREELIST_RANDOM=y
-CONFIG_JUMP_LABEL=y
-CONFIG_STRICT_KERNEL_RWX=y
-# CONFIG_LBDAF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEBUG_FS is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_ASPEED=y
CONFIG_MACH_ASPEED_G4=y
CONFIG_VMSPLIT_2G=y
CONFIG_AEABI=y
-# CONFIG_COMPACTION is not set
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_SECCOMP=y
# CONFIG_ATAGS is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_KEXEC=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_JUMP_LABEL=y
+CONFIG_STRICT_KERNEL_RWX=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEBUG_FS is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_COMPACTION is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
@@ -52,24 +51,17 @@ CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_DIAG is not set
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET6_XFRM_MODE_BEET is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_ADVANCED is not set
CONFIG_VLAN_8021Q=y
CONFIG_NET_NCSI=y
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
@@ -83,9 +75,6 @@ CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_FASTMAP=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_BLK_DEV_LOOP=y
-CONFIG_ASPEED_LPC_CTRL=y
-CONFIG_ASPEED_LPC_SNOOP=y
-CONFIG_ASPEED_LPC_MBOX=y
CONFIG_EEPROM_AT24=y
CONFIG_NETDEVICES=y
CONFIG_NETCONSOLE=y
@@ -94,7 +83,6 @@ CONFIG_NETCONSOLE=y
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_CADENCE is not set
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
@@ -123,7 +111,6 @@ CONFIG_FTGMAC100=y
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_BROADCOM_PHY=y
CONFIG_REALTEK_PHY=y
-# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_KEYBOARD_ATKBD is not set
@@ -164,7 +151,6 @@ CONFIG_SENSORS_ASPEED=y
CONFIG_SENSORS_IIO_HWMON=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_NCT7904=y
-CONFIG_SENSORS_OCC=y
CONFIG_SENSORS_OCC_P8_I2C=y
CONFIG_PMBUS=y
CONFIG_SENSORS_ADM1275=y
@@ -177,12 +163,6 @@ CONFIG_SENSORS_UCD9200=y
CONFIG_SENSORS_TMP421=y
CONFIG_SENSORS_W83773G=y
CONFIG_WATCHDOG_SYSFS=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_DYNAMIC_MINORS=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=y
@@ -195,11 +175,12 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_DS1307=y
-# CONFIG_RTC_DRV_DS1307_HWMON is not set
CONFIG_RTC_DRV_PCF8523=y
CONFIG_RTC_DRV_RV8803=y
# CONFIG_VIRTIO_MENU is not set
# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_ASPEED_LPC_CTRL=y
+CONFIG_ASPEED_LPC_SNOOP=y
CONFIG_IIO=y
CONFIG_ASPEED_ADC=y
CONFIG_MAX1363=y
@@ -208,7 +189,6 @@ CONFIG_FSI=y
CONFIG_FSI_MASTER_HUB=y
CONFIG_FSI_MASTER_AST_CF=y
CONFIG_FSI_SCOM=y
-CONFIG_FIRMWARE_MEMMAP=y
CONFIG_FANOTIFY=y
CONFIG_OVERLAY_FS=y
CONFIG_TMPFS=y
@@ -221,6 +201,17 @@ CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_FORTIFY_SOURCE=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_USER_API_HASH=y
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_SPARC is not set
CONFIG_PRINTK_TIME=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=y
@@ -236,18 +227,6 @@ CONFIG_PANIC_TIMEOUT=-1
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_FUNCTION_TRACER=y
-# CONFIG_TRACING_EVENTS_GPIO is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_DEBUG_WX=y
CONFIG_DEBUG_USER=y
-CONFIG_HARDENED_USERCOPY=y
-CONFIG_FORTIFY_SOURCE=y
-# CONFIG_CRYPTO_ECHAINIV is not set
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_USER_API_HASH=y
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_XZ_DEC_X86 is not set
-# CONFIG_XZ_DEC_POWERPC is not set
-# CONFIG_XZ_DEC_IA64 is not set
-# CONFIG_XZ_DEC_SPARC is not set
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig
index adb9c0766..209ed49f7 100755..100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig
@@ -20,30 +20,28 @@ CONFIG_PERF_EVENTS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
CONFIG_SLAB_FREELIST_RANDOM=y
-CONFIG_JUMP_LABEL=y
-CONFIG_GCC_PLUGINS=y
-CONFIG_STRICT_KERNEL_RWX=y
-# CONFIG_LBDAF is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEBUG_FS is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_KYBER is not set
CONFIG_ARCH_MULTI_V6=y
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_ASPEED=y
CONFIG_MACH_ASPEED_G5=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_VMSPLIT_2G=y
-# CONFIG_COMPACTION is not set
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_SECCOMP=y
# CONFIG_ATAGS is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_KEXEC=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_SUSPEND is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_JUMP_LABEL=y
+CONFIG_STRICT_KERNEL_RWX=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEBUG_FS is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_COMPACTION is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
@@ -55,24 +53,17 @@ CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_DIAG is not set
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET6_XFRM_MODE_BEET is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_ADVANCED is not set
CONFIG_VLAN_8021Q=y
CONFIG_NET_NCSI=y
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
@@ -87,9 +78,6 @@ CONFIG_MTD_UBI_FASTMAP=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=y
-CONFIG_ASPEED_LPC_CTRL=y
-CONFIG_ASPEED_LPC_SNOOP=y
-CONFIG_ASPEED_LPC_MBOX=y
CONFIG_EEPROM_AT24=y
CONFIG_NETDEVICES=y
CONFIG_NETCONSOLE=y
@@ -98,7 +86,6 @@ CONFIG_NETCONSOLE=y
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_CADENCE is not set
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
@@ -127,7 +114,6 @@ CONFIG_FTGMAC100=y
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_BROADCOM_PHY=y
CONFIG_REALTEK_PHY=y
-# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_KEYBOARD_ATKBD is not set
@@ -152,7 +138,6 @@ CONFIG_ASPEED_BT_IPMI_BMC=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA9541=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_ASPEED=y
@@ -169,7 +154,6 @@ CONFIG_SENSORS_ASPEED=y
CONFIG_SENSORS_IIO_HWMON=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_NCT7904=y
-CONFIG_SENSORS_OCC=y
CONFIG_SENSORS_OCC_P8_I2C=y
CONFIG_SENSORS_OCC_P9_SBE=y
CONFIG_PMBUS=y
@@ -183,15 +167,12 @@ CONFIG_SENSORS_UCD9200=y
CONFIG_SENSORS_TMP421=y
CONFIG_SENSORS_W83773G=y
CONFIG_WATCHDOG_SYSFS=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_ASPEED=y
CONFIG_DRM=y
CONFIG_DRM_ASPEED_GFX=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_DYNAMIC_MINORS=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_F_HID=y
CONFIG_USB_GADGET=y
CONFIG_USB_ASPEED_VHUB=y
CONFIG_USB_CONFIGFS=y
@@ -214,6 +195,8 @@ CONFIG_RTC_DRV_PCF8523=y
CONFIG_RTC_DRV_RV8803=y
# CONFIG_VIRTIO_MENU is not set
# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_ASPEED_LPC_CTRL=y
+CONFIG_ASPEED_LPC_SNOOP=y
CONFIG_IIO=y
CONFIG_ASPEED_ADC=y
CONFIG_MAX1363=y
@@ -226,7 +209,6 @@ CONFIG_FSI_MASTER_AST_CF=y
CONFIG_FSI_SCOM=y
CONFIG_FSI_SBEFIFO=y
CONFIG_FSI_OCC=y
-CONFIG_FIRMWARE_MEMMAP=y
CONFIG_FANOTIFY=y
CONFIG_OVERLAY_FS=y
CONFIG_TMPFS=y
@@ -239,6 +221,17 @@ CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_FORTIFY_SOURCE=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_USER_API_HASH=y
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+# CONFIG_XZ_DEC_SPARC is not set
CONFIG_PRINTK_TIME=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=y
@@ -254,30 +247,6 @@ CONFIG_PANIC_TIMEOUT=-1
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_FUNCTION_TRACER=y
-# CONFIG_TRACING_EVENTS_GPIO is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_DEBUG_WX=y
CONFIG_DEBUG_USER=y
-CONFIG_HARDENED_USERCOPY=y
-CONFIG_FORTIFY_SOURCE=y
-# CONFIG_CRYPTO_ECHAINIV is not set
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_USER_API_HASH=y
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_XZ_DEC_X86 is not set
-# CONFIG_XZ_DEC_POWERPC is not set
-# CONFIG_XZ_DEC_IA64 is not set
-# CONFIG_XZ_DEC_SPARC is not set
-CONFIG_FRAME_VECTOR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_ASPEED=y
-CONFIG_VIDEOBUF2_CORE=y
-CONFIG_VIDEOBUF2_V4L2=y
-CONFIG_VIDEOBUF2_MEMOPS=y
-CONFIG_VIDEOBUF2_DMA_CONTIG=y
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
index 0086dee73..09128491c 100644
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
@@ -1,6 +1,6 @@
-KBRANCH ?= "dev-5.1"
-LINUX_VERSION ?= "5.1.9"
+KBRANCH ?= "dev-5.2"
+LINUX_VERSION ?= "5.2"
-SRCREV="fa272957f698f24b90db374fe31a977f1a286c24"
+SRCREV="c01e98d1513042ae46909302c0b49a5db600e4a1"
require linux-aspeed.inc
diff --git a/meta-facebook/meta-tiogapass/recipes-fbtp/ipmi/fb-ipmi-oem_git.bb b/meta-facebook/meta-tiogapass/recipes-fbtp/ipmi/fb-ipmi-oem_git.bb
index 7c0663ab6..7f2ecf6a8 100755
--- a/meta-facebook/meta-tiogapass/recipes-fbtp/ipmi/fb-ipmi-oem_git.bb
+++ b/meta-facebook/meta-tiogapass/recipes-fbtp/ipmi/fb-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13"
SRC_URI = "git://github.com/openbmc/fb-ipmi-oem"
-SRCREV = "1b6fae3f3a3d0cd4e1c813a492e19d7edb55b4e9"
+SRCREV = "1744cb3adedb262302df60d7beb3feb55f89f474"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-facebook/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb b/meta-facebook/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb
index 22eab9905..b6693e086 100644
--- a/meta-facebook/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb
+++ b/meta-facebook/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb
@@ -19,4 +19,5 @@ RDEPENDS_${PN}-system = " \
fb-powerctrl \
phosphor-ipmi-ipmb \
fb-ipmi-oem \
+ phosphor-pid-control \
"
diff --git a/meta-facebook/meta-tiogapass/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-facebook/meta-tiogapass/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
new file mode 100644
index 000000000..b70a42957
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+EXTRA_OECONF_append_tiogapass = " --enable-configure-dbus=yes"
diff --git a/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json
new file mode 100644
index 000000000..03f284e47
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-channels.json
@@ -0,0 +1,18 @@
+{
+ "channels": [
+ {
+ "type": "me",
+ "master-path": "/dev/i2c-4",
+ "slave-path": "/sys/bus/i2c/devices/4-1010/slave-mqueue",
+ "bmc-addr": 32,
+ "remote-addr": 44
+ },
+ {
+ "type": "ipmb",
+ "master-path": "/dev/i2c-9",
+ "slave-path": "/sys/bus/i2c/devices/9-1010/slave-mqueue",
+ "bmc-addr": 32,
+ "remote-addr": 96
+ }
+ ]
+}
diff --git a/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
new file mode 100644
index 000000000..b3205affa
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
@@ -0,0 +1,8 @@
+FILESEXTRAPATHS_prepend_tiogapass := "${THISDIR}/${PN}:"
+
+SRC_URI_append_tiogapass = " file://ipmb-channels.json"
+
+do_install_append_tiogapass(){
+ install -m 0644 -D ${WORKDIR}/ipmb-channels.json \
+ ${D}/usr/share/ipmbbridge
+}
diff --git a/meta-ibm/meta-palmetto/conf/machine/palmetto.conf b/meta-ibm/meta-palmetto/conf/machine/palmetto.conf
index 66be1e2cb..9e1c123ae 100644
--- a/meta-ibm/meta-palmetto/conf/machine/palmetto.conf
+++ b/meta-ibm/meta-palmetto/conf/machine/palmetto.conf
@@ -17,6 +17,5 @@ PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d8
PHOSPHOR_MRW_URI = "git://github.com/open-power/palmetto-xml"
PHOSPHOR_MRW_REV = "82818682f2c2009c30d700df6d5f8897a3096e4f"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "palmetto-ipmi-inventory-map-native"
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "palmetto-led-manager-config-native"
PREFERRED_PROVIDER_virtual/openpower-occ-control-config-native = "palmetto-occ-control-config-native"
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map-native.bb b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map-native.bb
deleted file mode 100644
index 8e328d846..000000000
--- a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map-native.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Palmetto IPMI to DBus Inventory mapping."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- # TODO: install this to inventory_datadir
- # after ipmi-fru-parser untangles the host
- # firmware config from the machine inventory.
- DEST=${D}${config_datadir}
-
- install -d ${DEST}
- install config.yaml ${DEST}
-}
-
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map/config.yaml b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map/config.yaml
deleted file mode 100644
index cade45ec8..000000000
--- a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/palmetto-ipmi-inventory-map/config.yaml
+++ /dev/null
@@ -1,220 +0,0 @@
-1:
- /system/chassis/motherboard/cpu0:
- entityID: 3
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Custom Field 2
- IPMIFruSection: Board
- IPMIFruValueDelimiter: 58
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
-2:
- /system/chassis:
- entityID: 23
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Chassis
- Model:
- IPMIFruProperty: Part Number
- IPMIFruSection: Chassis
-
- /system/chassis/motherboard/membuf:
- entityID: 23
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
-3:
- /system/chassis/motherboard/dimm0:
- entityID: 32
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-4:
- /system/chassis/motherboard/dimm1:
- entityID: 32
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-5:
- /system/chassis/motherboard/dimm2:
- entityID: 32
- entityInstance: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-6:
- /system/chassis/motherboard/dimm3:
- entityID: 32
- entityInstance: 4
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Product
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Product
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
-14:
- /system/chassis/motherboard:
- entityID: 7
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
-15:
- /system:
- entityID: 25
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Asset:
- BuildDate:
- IPMIFruProperty: Mfg Date
- IPMIFruSection: Board
- PartNumber:
- IPMIFruProperty: Part Number
- IPMIFruSection: Board
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Board
- SerialNumber:
- IPMIFruProperty: Serial Number
- IPMIFruSection: Board
- xyz.openbmc_project.Inventory.Decorator.Revision:
- Version:
- IPMIFruProperty: Version
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bbappend b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bbappend
deleted file mode 100644
index 2d3355993..000000000
--- a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend_palmetto := "${THISDIR}/${PN}:"
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native/extra-properties.yaml b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native/extra-properties.yaml
deleted file mode 100644
index 5caabf114..000000000
--- a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native/extra-properties.yaml
+++ /dev/null
@@ -1,73 +0,0 @@
-/system/chassis/motherboard/cpu0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/membuf0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-
-/system/chassis/motherboard/dimm1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm2:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm3:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..b69c6e109
--- /dev/null
+++ b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_palmetto = " palmetto-yaml-config"
+
+EXTRA_OECONF_palmetto = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-fru-read.yaml \
+ PROP_YAML=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-extra-properties.yaml \
+ "
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..db33e2886
--- /dev/null
+++ b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_palmetto = " palmetto-yaml-config"
+
+EXTRA_OECONF_palmetto = " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/palmetto-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bbappend b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bbappend
deleted file mode 100644
index 2d3355993..000000000
--- a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend_palmetto := "${THISDIR}/${PN}:"
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native/config.yaml b/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native/config.yaml
deleted file mode 100755
index cc78ed2ca..000000000
--- a/meta-ibm/meta-palmetto/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native/config.yaml
+++ /dev/null
@@ -1,1082 +0,0 @@
-5:
- entityID: 34
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.State.Boot.Progress:
- BootProgress:
- Offsets:
- 0:
- set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified
- type: string
- 1:
- set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.MemoryInit
- type: string
- 3:
- set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.SecondaryProcInit
- type: string
- 7:
- set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.PCIInit
- type: string
- 19:
- set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.OSStart
- type: string
- 20:
- set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.MotherboardInit
- type: string
- mutability: Mutability::Write|Mutability::Read
- path: /xyz/openbmc_project/state/host0
- readingType: eventdata2
- sensorNamePattern: nameProperty
- sensorReadingType: 111
- sensorType: 15
- serviceInterface: org.freedesktop.DBus.Properties
-8:
- entityID: 210
- entityInstance: 1
- interfaces:
- org.open_power.OCC.Status:
- OccActive:
- Offsets:
- 0:
- assert: false
- deassert: true
- type: bool
- 1:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /org/open_power/control/occ0
- readingType: assertion
- sensorNamePattern: nameLeaf
- sensorReadingType: 9
- sensorType: 7
- serviceInterface: org.freedesktop.DBus.Properties
-9:
- entityID: 34
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Control.Boot.RebootAttempts:
- AttemptsLeft:
- Offsets:
- 255:
- type: uint32_t
- mutability: Mutability::Write|Mutability::Read
- path: /xyz/openbmc_project/state/host0
- readingType: readingAssertion
- sensorNamePattern: nameProperty
- sensorReadingType: 111
- sensorType: 195
- serviceInterface: org.freedesktop.DBus.Properties
-30:
- entityID: 32
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 6:
- assert: true
- deassert: false
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 4:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 6:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/dimm0
- readingType: assertion
- sensorNamePattern: nameLeaf
- sensorReadingType: 111
- sensorType: 12
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-31:
- entityID: 32
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 6:
- assert: true
- deassert: false
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 4:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 6:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/dimm1
- readingType: assertion
- sensorNamePattern: nameLeaf
- sensorReadingType: 111
- sensorType: 12
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-32:
- entityID: 32
- entityInstance: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 6:
- assert: true
- deassert: false
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 4:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 6:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/dimm2
- readingType: assertion
- sensorNamePattern: nameLeaf
- sensorReadingType: 111
- sensorType: 12
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-33:
- entityID: 32
- entityInstance: 4
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 6:
- assert: true
- deassert: false
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 4:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 6:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/dimm3
- readingType: assertion
- sensorNamePattern: nameLeaf
- sensorReadingType: 111
- sensorType: 12
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-34:
- entityID: 208
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core0
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-35:
- entityID: 208
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core1
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-36:
- entityID: 208
- entityInstance: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core2
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-37:
- entityID: 208
- entityInstance: 4
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core3
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-38:
- entityID: 208
- entityInstance: 5
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core4
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-39:
- entityID: 208
- entityInstance: 6
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core5
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-40:
- entityID: 208
- entityInstance: 7
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core6
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-41:
- entityID: 208
- entityInstance: 8
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core7
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-42:
- entityID: 208
- entityInstance: 9
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core8
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-43:
- entityID: 208
- entityInstance: 10
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core9
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-44:
- entityID: 208
- entityInstance: 11
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core10
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-45:
- entityID: 208
- entityInstance: 12
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- skipOn: deassert
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu0/core11
- readingType: assertion
- sensorNamePattern: nameParentLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-47:
- entityID: 3
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- Present:
- Offsets:
- 7:
- assert: true
- deassert: false
- type: bool
- xyz.openbmc_project.State.Decorator.OperationalStatus:
- Functional:
- Offsets:
- 8:
- assert: false
- deassert: true
- type: bool
- Prereqs:
- 7:
- assert: true
- deassert: false
- type: bool
- mutability: Mutability::Write|Mutability::Read
- path: /system/chassis/motherboard/cpu
- readingType: assertion
- sensorNamePattern: nameLeaf
- sensorReadingType: 111
- sensorType: 7
- serviceInterface: xyz.openbmc_project.Inventory.Manager
-50:
- entityID: 35
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.State.OperatingSystem.Status:
- OperatingSystemState:
- Offsets:
- 1:
- assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.CBoot
- type: string
- 2:
- assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.PXEBoot
- type: string
- 3:
- assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.DiagBoot
- type: string
- 4:
- assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.CDROMBoot
- type: string
- 5:
- assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.ROMBoot
- type: string
- 6:
- assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.BootComplete
- type: string
- mutability: Mutability::Write|Mutability::Read
- path: /xyz/openbmc_project/state/host0
- readingType: assertion
- sensorNamePattern: nameProperty
- sensorReadingType: 111
- sensorType: 31
- serviceInterface: org.freedesktop.DBus.Properties
-101:
- bExp: 0
- entityID: 209
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/centaur0_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-102:
- bExp: 0
- entityID: 32
- entityInstance: 5
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/dimm0_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-103:
- bExp: 0
- entityID: 32
- entityInstance: 6
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/dimm1_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-104:
- bExp: 0
- entityID: 32
- entityInstance: 7
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/dimm2_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-105:
- bExp: 0
- entityID: 32
- entityInstance: 8
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/dimm3_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-106:
- bExp: 0
- entityID: 208
- entityInstance: 13
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core0_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-107:
- bExp: 0
- entityID: 208
- entityInstance: 19
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core1_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-108:
- bExp: 0
- entityID: 208
- entityInstance: 20
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core2_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-109:
- bExp: 0
- entityID: 208
- entityInstance: 21
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core3_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-110:
- bExp: 0
- entityID: 208
- entityInstance: 22
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core4_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-111:
- bExp: 0
- entityID: 208
- entityInstance: 23
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core5_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-112:
- bExp: 0
- entityID: 208
- entityInstance: 24
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core6_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-113:
- bExp: 0
- entityID: 208
- entityInstance: 14
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core7_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-114:
- bExp: 0
- entityID: 208
- entityInstance: 15
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core8_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-115:
- bExp: 0
- entityID: 208
- entityInstance: 16
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core9_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-116:
- bExp: 0
- entityID: 208
- entityInstance: 17
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core10_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-117:
- bExp: 0
- entityID: 208
- entityInstance: 18
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 1
- mutability: Mutability::Write|Mutability::Read
- offsetB: -127
- path: /xyz/openbmc_project/sensors/temperature/core11_temp
- rExp: 0
- readingType: readingData
- scale: -3
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 1
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
-131:
- bExp: 0
- entityID: 10
- entityInstance: 2
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 2
- offsetB: 0
- path: /xyz/openbmc_project/sensors/power/p0_power
- rExp: 0
- readingType: readingData
- scale: -6
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 8
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
-132:
- bExp: 0
- entityID: 10
- entityInstance: 3
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 2
- offsetB: 0
- path: /xyz/openbmc_project/sensors/power/p0_pcie_power
- rExp: 0
- readingType: readingData
- scale: -6
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 8
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
-133:
- bExp: 0
- entityID: 10
- entityInstance: 4
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 2
- offsetB: 0
- path: /xyz/openbmc_project/sensors/power/p0_io_power
- rExp: 0
- readingType: readingData
- scale: -6
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 8
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
-135:
- bExp: 0
- entityID: 10
- entityInstance: 1
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 255:
- type: int64_t
- multiplierM: 2
- offsetB: 0
- path: /xyz/openbmc_project/sensors/power/centaur0_power
- rExp: 0
- readingType: readingData
- scale: -6
- sensorNamePattern: nameLeaf
- sensorReadingType: 1
- sensorType: 8
- serviceInterface: org.freedesktop.DBus.Properties
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config/led.yaml b/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config/led.yaml
index 3b7d40456..3b7d40456 100755..100644
--- a/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config/led.yaml
+++ b/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config/led.yaml
diff --git a/meta-ibm/meta-romulus/conf/machine/romulus.conf b/meta-ibm/meta-romulus/conf/machine/romulus.conf
index 3927cc534..87ac99536 100644
--- a/meta-ibm/meta-romulus/conf/machine/romulus.conf
+++ b/meta-ibm/meta-romulus/conf/machine/romulus.conf
@@ -15,11 +15,5 @@ PHOSPHOR_MRW_URI = "git://github.com/open-power/romulus-xml"
PHOSPHOR_MRW_REV = "14b471fbf37f5fb60261de001df83caf5f96d81f"
PREFERRED_PROVIDER_virtual/openpower-occ-control-config-native = "romulus-occ-control-config-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "romulus-ipmi-inventory-map-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-properties = "romulus-ipmi-fru-properties-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-read-bmc-inventory = "romulus-ipmi-fru-read-bmc-inventory-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-read-inventory = "romulus-ipmi-fru-read-inventory-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-inventory-sel = "romulus-ipmi-inventory-sel-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory = "romulus-ipmi-sensor-inventory-native"
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "romulus-led-manager-config-native"
PREFERRED_PROVIDER_virtual/phosphor-logging-callouts = "romulus-phosphor-logging-callouts-native"
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
index ddf1556d2..20d2a8814 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
+++ b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
@@ -96,52 +96,53 @@ groups:
matches:
- name: propertiesChanged
- description: >
- A property changed match
parameters:
- object
- interface
- signal: propertySignal
- name: interfacesAdded
- description: >
- An interfaces added match
parameters:
- object
- signal: objectSignal
- name: nameOwnerChanged
- description: >
- A name owner changed match
parameters:
- object
- interface
- signal: ownerSignal
signals:
- - name: propertySignal
+ - name: propertiesChanged
description: >
- Handle property signals
+ A property changed match
parameters:
- type
- object
- interface
- property
- handler: setProperty
- - name: objectSignal
+ match: propertiesChanged
+ - name: interfacesAdded
description: >
- Handle object signals
+ An interfaces added match
parameters:
- type
- object
- interface
- property
- handler: setProperty
- - name: ownerSignal
+ match: interfacesAdded
+ - name: nameOwnerChanged
description: >
- Handle owner signals
+ A name owner changed match
+ parameters:
+ match: nameOwnerChanged
+
+methods:
+ - name: getProperties
+ description: >
+ Get the property values of the given group members
+ by performing a `GetProperty` method call on each
+ parameters:
+ - type
+ - name: nameHasOwner
+ description: >
+ A NameHasOwner method call to be performed on all event group members
parameters:
- - object
- - interface
- handler: setService
handlers:
- name: setProperty
@@ -149,12 +150,9 @@ handlers:
Sets a value for the given object/interface/property
parameters:
- type
- - object
- - interface
- - property
- name: setService
description: >
- Sets the service name(s) for the given group
+ Sets the service name and ownership status for the given group
parameters:
- group
@@ -165,6 +163,11 @@ preconditions:
enable a set speed event otherwise fan speeds are set to full
parameters:
- groups
+ - name: services_missing_owner
+ description: >
+ Any services missing an owner enable the events given otherwise
+ the events are removed/disabled
+ parameters:
actions:
- name: call_actions_based_on_timer
@@ -222,86 +225,83 @@ actions:
events:
- name: default_fan_floor_on_service_fail
- groups:
- - name: zone0_ambient
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: nameOwnerChanged
- actions:
- - name: call_actions_based_on_timer
- timer:
- delay: 5
- type: oneshot
- actions:
- - name: default_floor_on_missing_owner
- - name: high_speed_on_occ0_service_fail
+ precondition:
+ name: services_missing_owner
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
+ events:
+ - name: default_fan_floor
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: timer
+ interval: 5000000
+ type: oneshot
+ actions:
+ - name: default_floor_on_missing_owner
+ - name: high_speed_on_occ_service_fail
groups:
- name: occ0_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- matches:
- - name: nameOwnerChanged
- actions:
- - name: call_actions_based_on_timer
- timer:
- delay: 5
- type: oneshot
- actions:
- - name: set_speed_on_missing_owner
- speed:
- value: 255
- type: uint64_t
- - name: high_speed_on_occ1_service_fail
- groups:
- name: occ1_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- matches:
- - name: nameOwnerChanged
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
actions:
- name: call_actions_based_on_timer
timer:
- delay: 5
+ interval: 5000000
type: oneshot
actions:
- name: set_speed_on_missing_owner
speed:
value: 255
type: uint64_t
- - name: missing_before_high_speed_air
+ - name: missing_or_fails_before_high_speed_air
groups:
- name: air_cooled_zone0_fans
interface: xyz.openbmc_project.Inventory.Item
property:
name: Present
type: bool
- matches:
- - name: propertiesChanged
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 255
- type: uint64_t
- - name: fails_before_high_speed_air
- groups:
- name: air_cooled_zone0_fans
interface: xyz.openbmc_project.State.Decorator.OperationalStatus
property:
name: Functional
type: bool
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: count_state_before_speed
count: 1
@@ -318,8 +318,13 @@ events:
property:
name: Value
type: int64_t
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: set_floor_from_average_sensor_value
map:
@@ -351,22 +356,53 @@ events:
name: OccActive
type: bool
value: true
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
events:
- - name: speed_changes_based_on_core_temps
+ - name: speed_control_sensors
groups:
- name: zone0_cores
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ - name: 1sec_speed_change_request_sampling
+ triggers:
+ - name: timer
+ interval: 1000000
+ type: repeating
actions:
+ # Speed changes based on core temps
- name: set_net_increase_speed
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 73000
type: int64_t
@@ -377,6 +413,12 @@ events:
value: 11
type: uint64_t
- name: set_net_decrease_speed
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 70000
type: int64_t
@@ -386,20 +428,14 @@ events:
delta:
value: 11
type: uint64_t
- timer:
- interval: 5
- - name: speed_changes_based_on_dimm_temps
- groups:
- - name: zone0_dimms
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- actions:
+ # Speed changes based on dimm temps
- name: set_net_increase_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 64000
type: int64_t
@@ -410,6 +446,12 @@ events:
value: 6
type: uint64_t
- name: set_net_decrease_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
property:
value: 61000
type: int64_t
@@ -419,5 +461,3 @@ events:
delta:
value: 6
type: uint64_t
- timer:
- interval: 5
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
index af5e1e629..3ec031946 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -19,4 +19,3 @@ SYSTEMD_LINK_phosphor-cooling-type += "${@compose_list(d, 'FMT_COOLING', 'OBMC_C
COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf"
SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_romulus = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
-
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/files/sel-config.yaml b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/files/sel-config.yaml
deleted file mode 100755
index 9a5189a6e..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/files/sel-config.yaml
+++ /dev/null
@@ -1,340 +0,0 @@
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0:
- sensorID: 0x0B
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1:
- sensorID: 0x0C
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10:
- sensorID: 0x15
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11:
- sensorID: 0x16
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12:
- sensorID: 0x17
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13:
- sensorID: 0x18
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14:
- sensorID: 0x19
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15:
- sensorID: 0x1A
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2:
- sensorID: 0x0D
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3:
- sensorID: 0x0E
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4:
- sensorID: 0x0F
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5:
- sensorID: 0x10
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6:
- sensorID: 0x11
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7:
- sensorID: 0x12
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8:
- sensorID: 0x13
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9:
- sensorID: 0x14
- sensorType: 0x0C
- eventReadingType: 0x6F
- offset: 0x04
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0:
- sensorID: 0x08
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0:
- sensorID: 0x2B
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1:
- sensorID: 0x2C
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2:
- sensorID: 0x2D
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3:
- sensorID: 0x2E
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4:
- sensorID: 0x2F
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5:
- sensorID: 0x30
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6:
- sensorID: 0x31
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7:
- sensorID: 0x32
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8:
- sensorID: 0x33
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9:
- sensorID: 0x34
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10:
- sensorID: 0x35
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11:
- sensorID: 0x36
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12:
- sensorID: 0x37
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13:
- sensorID: 0x38
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14:
- sensorID: 0x39
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15:
- sensorID: 0x3A
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16:
- sensorID: 0x3B
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17:
- sensorID: 0x3C
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18:
- sensorID: 0x3D
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19:
- sensorID: 0x3E
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20:
- sensorID: 0x3F
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21:
- sensorID: 0x40
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22:
- sensorID: 0x41
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23:
- sensorID: 0x42
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1:
- sensorID: 0x09
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0:
- sensorID: 0x43
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1:
- sensorID: 0x44
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2:
- sensorID: 0x45
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3:
- sensorID: 0x46
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4:
- sensorID: 0x47
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5:
- sensorID: 0x48
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6:
- sensorID: 0x49
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7:
- sensorID: 0x4A
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8:
- sensorID: 0x4B
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9:
- sensorID: 0x4C
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10:
- sensorID: 0x4D
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11:
- sensorID: 0x4E
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12:
- sensorID: 0x4F
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13:
- sensorID: 0x50
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14:
- sensorID: 0x51
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15:
- sensorID: 0x52
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16:
- sensorID: 0x53
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17:
- sensorID: 0x54
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18:
- sensorID: 0x55
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19:
- sensorID: 0x56
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20:
- sensorID: 0x57
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21:
- sensorID: 0x58
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22:
- sensorID: 0x59
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23:
- sensorID: 0x5A
- sensorType: 0x07
- eventReadingType: 0x6F
- offset: 0x08
-/xyz/openbmc_project/inventory/system/chassis/motherboard:
- sensorID: 0x8C
- sensorType: 0xC7
- eventReadingType: 0x03
- offset: 0x00
-/xyz/openbmc_project/inventory/system:
- sensorID: 0x90
- sensorType: 0x12
- eventReadingType: 0x6F
- offset: 0x02
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
new file mode 100644
index 000000000..73c50cf25
--- /dev/null
+++ b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append_romulus = " romulus-yaml-config"
+
+EXTRA_OECONF_romulus = " \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-inventory-sensors.yaml \
+ "
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..79df7f399
--- /dev/null
+++ b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_romulus = " romulus-yaml-config"
+
+EXTRA_OECONF_romulus = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-fru-read.yaml \
+ PROP_YAML=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-extra-properties.yaml \
+ "
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..25130a586
--- /dev/null
+++ b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,7 @@
+DEPENDS_append_romulus = " romulus-yaml-config"
+
+EXTRA_OECONF_romulus = " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-sensors.yaml \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-inventory-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties-native.bb
deleted file mode 100644
index 57d7e7c16..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties-native.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Romulus FRU properties config for ipmi-fru-parser"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://extra-properties.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-properties"
-
-S = "${WORKDIR}"
-
-do_install() {
- DEST=${D}${properties_datadir}
- install -d ${DEST}
- install extra-properties.yaml ${DEST}
-}
-
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory-native.bb
deleted file mode 100644
index 71b23d938..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Romulus BMC accesible FRU inventory map for phosphor-ipmi-host"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-SRC_URI += "file://bmc-fru-config.yaml"
-
-S = "${WORKDIR}"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-read-bmc-inventory"
-
-do_install_append() {
- DEST=${D}${config_datadir}
- install -d ${DEST}
- install bmc-fru-config.yaml ${DEST}/bmc-fru-config.yaml
-}
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-inventory-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-inventory-native.bb
deleted file mode 100644
index 6f416c1a7..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-inventory-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Romulus inventory map for phosphor-ipmi-host"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-read-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- DEST=${D}${config_datadir}
- install -d ${DEST}
- install config.yaml ${DEST}
-}
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-map-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-map-native.bb
deleted file mode 100644
index c0620ff5d..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-map-native.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Romulus IPMI to DBus Inventory mapping."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- # TODO: install this to inventory_datadir
- # after ipmi-fru-parser untangles the host
- # firmware config from the machine inventory.
- DEST=${D}${config_datadir}
-
- install -d ${DEST}
- install config.yaml ${DEST}
-}
-
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-sel-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-sel-native.bb
deleted file mode 100644
index 60904656f..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-inventory-sel-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Inventory to Sensor config for Romulus"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-PROVIDES += "virtual/phosphor-ipmi-inventory-sel"
-
-SRC_URI += "file://sel-config.yaml"
-
-S = "${WORKDIR}"
-
-do_install() {
- DEST=${D}${sensor_datadir}
- install -d ${DEST}
- install sel-config.yaml ${DEST}/invsensor.yaml
-}
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory-native.bb
deleted file mode 100644
index 97fee4d37..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory-native.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Romulus sensor config for phosphor-host-ipmi"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-PROVIDES += "virtual/phosphor-ipmi-sensor-inventory"
-
-SRC_URI += "file://config.yaml"
-
-S = "${WORKDIR}"
-
-do_install() {
- DEST=${D}${sensor_datadir}
- install -d ${DEST}
- install config.yaml ${DEST}/sensor.yaml
-}
-
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config/led.yaml b/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config/led.yaml
index b2e96c250..b2e96c250 100755..100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config/led.yaml
+++ b/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config/led.yaml
diff --git a/meta-ibm/meta-witherspoon/README.md b/meta-ibm/meta-witherspoon/README.md
index 5d2b5c722..7386d29b4 100644
--- a/meta-ibm/meta-witherspoon/README.md
+++ b/meta-ibm/meta-witherspoon/README.md
@@ -11,11 +11,19 @@ In addition to witherspoon, this layer contains additional machine
configurations such as swift. The default machine target is witherspoon,
so in order to build a different configuration, or to build witherspoon
after building a different one, set the MACHINE environment to the desired
-configuration name as follows (this is only needed once):
+configuration name (see the conf/machine/ subdirectory for available options):
- export MACHINE="<machine_configuration>"; \
- export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE MACHINE"
+ export MACHINE=machine_configuration_name
Then build:
bitbake obmc-phosphor-image
+
+Example:
+
+ export MACHINE=swift
+ bitbake obmc-phosphor-image
+ bitbake phosphor-logging
+
+ export MACHINE=witherspoon
+ bitbake obmc-phosphor-image
diff --git a/meta-ibm/meta-witherspoon/conf/local.conf.sample b/meta-ibm/meta-witherspoon/conf/local.conf.sample
index 8a5c738fc..9dec7743d 100644
--- a/meta-ibm/meta-witherspoon/conf/local.conf.sample
+++ b/meta-ibm/meta-witherspoon/conf/local.conf.sample
@@ -1,3 +1,5 @@
+#MACHINE ?= "swift"
+#MACHINE ?= "witherspoon-128"
MACHINE ??= "witherspoon"
DISTRO ?= "openbmc-witherspoon"
PACKAGE_CLASSES ?= "package_rpm"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/swift.conf b/meta-ibm/meta-witherspoon/conf/machine/swift.conf
index 077d0b558..3915e2b98 100644
--- a/meta-ibm/meta-witherspoon/conf/machine/swift.conf
+++ b/meta-ibm/meta-witherspoon/conf/machine/swift.conf
@@ -7,7 +7,7 @@ KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
PHOSPHOR_MRW_URI = "git://git@github.com/open-power/swift-xml;protocol=ssh"
-PHOSPHOR_MRW_REV = "7880e778af3fca75f46aa3e94f7e9971a6ddbb1f"
+PHOSPHOR_MRW_REV = "2b59e12db44e167a1652777b770674d235ec55ba"
# 128MB flash size
FLASH_SIZE = "131072"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/witherspoon-128.conf b/meta-ibm/meta-witherspoon/conf/machine/witherspoon-128.conf
index a3981cc4f..d21b9b22b 100644
--- a/meta-ibm/meta-witherspoon/conf/machine/witherspoon-128.conf
+++ b/meta-ibm/meta-witherspoon/conf/machine/witherspoon-128.conf
@@ -1,5 +1,5 @@
+MACHINEOVERRIDES =. "witherspoon:"
require conf/machine/witherspoon.conf
-MACHINEOVERRIDES .= ":witherspoon"
KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf b/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
index 579b00d14..3f7aedcb9 100644
--- a/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
+++ b/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
@@ -8,6 +8,9 @@ OBMC_POWER_SUPPLY_INSTANCES = "0 1"
PREFERRED_PROVIDER_virtual/p9-vcs-workaround = ''
+# A machine override for common machine configuration for all of IBM's
+# "Accelerated Computing" class of systems.
+MACHINEOVERRIDES =. "ibm-ac-server:"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
require conf/machine/include/openpower.inc
diff --git a/meta-ibm/meta-witherspoon/recipes-core/systemd/systemd_%.bbappend b/meta-ibm/meta-witherspoon/recipes-core/systemd/systemd_%.bbappend
index 62ea76f79..a40f61873 100644
--- a/meta-ibm/meta-witherspoon/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-core/systemd/systemd_%.bbappend
@@ -1,13 +1,13 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI += "file://journald-storage-policy.conf"
-SRC_URI += "file://systemd-journald-override.conf"
-SRC_URI += "file://journald-size-policy.conf"
+SRC_URI_append_ibm-ac-server = " file://journald-storage-policy.conf"
+SRC_URI_append_ibm-ac-server = " file://systemd-journald-override.conf"
+SRC_URI_append_ibm-ac-server = " file://journald-size-policy.conf"
-FILES_${PN} += "${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf"
-FILES_${PN} += "${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf"
-FILES_${PN} += "${systemd_unitdir}/journald.conf.d/journald-size-policy.conf"
+FILES_${PN}_append_ibm-ac-server = " ${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf"
+FILES_${PN}_append_ibm-ac-server = " ${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf"
+FILES_${PN}_append_ibm-ac-server = " ${systemd_unitdir}/journald.conf.d/journald-size-policy.conf"
-do_install_append() {
+do_install_append_ibm-ac-server() {
install -m 644 -D ${WORKDIR}/journald-storage-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf
install -m 644 -D ${WORKDIR}/systemd-journald-override.conf ${D}${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf
install -m 644 -D ${WORKDIR}/journald-size-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-size-policy.conf
diff --git a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch
index 547d5f098..b0e61ccd4 100644
--- a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch
+++ b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch
@@ -1,4 +1,4 @@
-From a3007793ae0c53b4a39159c6d69502de832a0914 Mon Sep 17 00:00:00 2001
+From 886807887052b408717137acfeb6a8633748a210 Mon Sep 17 00:00:00 2001
From: Adriana Kobylak <anoo@us.ibm.com>
Date: Thu, 7 Feb 2019 11:23:00 -0600
Subject: [PATCH] ARM: dts: Aspeed: Witherspoon-128: Update BMC partitioning
@@ -9,17 +9,17 @@ BMC flash chips.
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
---
arch/arm/boot/dts/Makefile | 1 +
- .../boot/dts/aspeed-bmc-opp-witherspoon-128.dts | 712 +++++++++++++++++++++
- 2 files changed, 713 insertions(+)
+ .../boot/dts/aspeed-bmc-opp-witherspoon-128.dts | 708 +++++++++++++++++++++
+ 2 files changed, 709 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index bd40148..2341358 100644
+index eb6de52..833c354 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -1245,6 +1245,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
- aspeed-bmc-opp-palmetto.dtb \
- aspeed-bmc-opp-romulus.dtb \
+@@ -1280,6 +1280,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
+ aspeed-bmc-opp-swift.dtb \
+ aspeed-bmc-opp-vesnin.dtb \
aspeed-bmc-opp-witherspoon.dtb \
+ aspeed-bmc-opp-witherspoon-128.dtb \
aspeed-bmc-opp-zaius.dtb \
@@ -27,10 +27,10 @@ index bd40148..2341358 100644
aspeed-bmc-quanta-q71l.dtb
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
new file mode 100644
-index 0000000..db34564
+index 0000000..36b4749
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
-@@ -0,0 +1,712 @@
+@@ -0,0 +1,708 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+#include "aspeed-g5.dtsi"
@@ -322,10 +322,6 @@ index 0000000..db34564
+ flash = <&spi1>;
+};
+
-+&mbox {
-+ status = "okay";
-+};
-+
+&mac0 {
+ status = "okay";
+ pinctrl-names = "default";
diff --git a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed_%.bbappend
index e41a430c7..fa249c015 100644
--- a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -1,3 +1,3 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI += "file://witherspoon.cfg"
+SRC_URI_append_ibm-ac-server = " file://witherspoon.cfg"
SRC_URI_append_witherspoon-128 = " file://0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
index 498b622d9..d2804dfca 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
@@ -3,6 +3,7 @@ PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+inherit allarch
inherit obmc-phosphor-systemd
RDEPENDS_${PN} += "i2c-tools"
@@ -10,30 +11,23 @@ RDEPENDS_${PN} += "i2c-tools"
S = "${WORKDIR}"
SRC_URI += "file://avsbus-disable.sh \
- file://avsbus-enable.sh \
- file://power-workarounds.sh"
+ file://avsbus-enable.sh"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/avsbus-disable.sh ${D}${bindir}/avsbus-disable.sh
install -m 0755 ${S}/avsbus-enable.sh ${D}${bindir}/avsbus-enable.sh
- install -m 0755 ${S}/power-workarounds.sh ${D}${bindir}/power-workarounds.sh
}
TMPL_EN= "avsbus-enable@.service"
TMPL_DIS= "avsbus-disable@.service"
-TMPL_WA= "power-workarounds@.service"
INSTFMT_EN= "avsbus-enable@{0}.service"
INSTFMT_DIS= "avsbus-disable@{0}.service"
-INSTFMT_WA= "power-workarounds@{0}.service"
TGTFMT = "obmc-chassis-poweron@{0}.target"
FMT_EN = "../${TMPL_EN}:${TGTFMT}.requires/${INSTFMT_EN}"
FMT_DIS = "../${TMPL_DIS}:${TGTFMT}.requires/${INSTFMT_DIS}"
-FMT_WA = "../${TMPL_WA}:${TGTFMT}.requires/${INSTFMT_WA}"
SYSTEMD_SERVICE_${PN} += "${TMPL_EN}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_EN', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_SERVICE_${PN} += "${TMPL_DIS}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_DIS', 'OBMC_CHASSIS_INSTANCES')}"
-SYSTEMD_SERVICE_${PN} += "${TMPL_WA}"
-SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_WA', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/obmc-op-control-power_%/obmc/power_control b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/obmc-op-control-power_%/ibm-ac-server/obmc/power_control
index a93bdd758..a93bdd758 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/obmc-op-control-power_%/obmc/power_control
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/obmc-op-control-power_%/ibm-ac-server/obmc/power_control
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
new file mode 100644
index 000000000..891620b0c
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Power device Workarounds"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit allarch
+inherit obmc-phosphor-systemd
+
+RDEPENDS_${PN} += "i2c-tools"
+
+S = "${WORKDIR}"
+
+SRC_URI += "file://power-workarounds.sh"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/power-workarounds.sh ${D}${bindir}/power-workarounds.sh
+}
+
+TMPL_WA = "power-workarounds@.service"
+INSTFMT_WA = "power-workarounds@{0}.service"
+TGTFMT = "obmc-chassis-poweron@{0}.target"
+FMT_WA = "../${TMPL_WA}:${TGTFMT}.requires/${INSTFMT_WA}"
+
+SYSTEMD_SERVICE_${PN} += "${TMPL_WA}"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_WA', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/power-workarounds.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/swift/power-workarounds.sh
index dc1f4803b..dc1f4803b 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/power-workarounds.sh
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/swift/power-workarounds.sh
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/power-workarounds@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/swift/power-workarounds@.service
index 0926e033b..0926e033b 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/power-workarounds@.service
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/swift/power-workarounds@.service
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/witherspoon/power-workarounds.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds.sh
index d40579731..d40579731 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/witherspoon/power-workarounds.sh
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds.sh
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/witherspoon/power-workarounds@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds@.service
index 74d8e4bfc..74d8e4bfc 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/witherspoon/power-workarounds@.service
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds@.service
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
index 36416e949..fe9463441 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
@@ -4,6 +4,7 @@ PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+inherit allarch
inherit obmc-phosphor-systemd
RDEPENDS_${PN} += "i2c-tools bash"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ir35221-unbind-bind.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh
index 85d77412d..85d77412d 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ir35221-unbind-bind.sh
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb
new file mode 100644
index 000000000..d0dbd60d8
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb
@@ -0,0 +1,82 @@
+SUMMARY = "YAML configuration for ACx22 systems"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit allarch
+inherit mrw-xml
+
+SRC_URI = " \
+ file://acx22-ipmi-fru-bmc.yaml \
+ file://acx22-ipmi-fru-not-sent-by-host.yaml \
+ file://acx22-ipmi-hwmon-sensors.yaml \
+ file://acx22-ipmi-inventory-sensors.yaml \
+ file://acx22-ipmi-occ-sensors.yaml \
+ file://acx22-ipmi-sensors-mrw.yaml \
+ "
+
+DEPENDS = " \
+ mrw-native \
+ mrw-perl-tools-native \
+ openpower-yaml-config \
+ "
+
+S = "${WORKDIR}"
+
+ACx22_IPMI_EXTRA_FRU_READ_YAMLS = " \
+ acx22-ipmi-fru-bmc.yaml \
+ acx22-ipmi-fru-not-sent-by-host.yaml \
+ "
+ACx22_IPMI_EXTRA_SENSOR_YAMLS = " \
+ acx22-ipmi-hwmon-sensors.yaml \
+ acx22-ipmi-occ-sensors.yaml \
+ "
+
+do_install() {
+ perlbin="${STAGING_DIR_NATIVE}${bindir}/perl-native/perl"
+ scriptpath=${STAGING_DIR_NATIVE}${bindir}
+ mrw=${STAGING_DIR_NATIVE}${datadir}/obmc-mrw/${MRW_XML}
+ op_configpath=${STAGING_DIR_HOST}${datadir}/openpower-yaml-config
+
+ # generate extra-properties.yaml from the MRW for ipmi-fru-parser
+ $perlbin $scriptpath/gen_fru_properties.pl -m $mrw \
+ -c $op_configpath/ipmi-fru-properties-mrw.yaml \
+ -o extra-properties.yaml
+
+ # generate fru-read.yaml from the MRW, for ipmid and ipmi-fru-parser
+ $perlbin $scriptpath/gen_ipmi_fru.pl -i $mrw \
+ -m $op_configpath/ipmi-hostboot-fru-mrw.yaml \
+ -o fru-read-partial.yaml
+ cat fru-read-partial.yaml ${ACx22_IPMI_EXTRA_FRU_READ_YAMLS} \
+ > fru-read.yaml
+
+ # generate inventory-sensors.yaml from the MRW, for ipmid
+ $perlbin $scriptpath/gen_ipmi_sel.pl -i $mrw \
+ -m acx22-ipmi-inventory-sensors.yaml -o inventory-sensors.yaml
+
+ # generate sensors.yaml from the MRW, for ipmid
+ cat acx22-ipmi-sensors-mrw.yaml \
+ $op_configpath/ipmi-hostboot-volatile-sensor-mrw.yaml \
+ $op_configpath/ipmi-occ-active-sensor-mrw.yaml \
+ > sensors-mrw.yaml
+ $perlbin $scriptpath/gen_ipmi_sensor.pl -i $mrw -m sensors-mrw.yaml \
+ -o sensors-partial.yaml
+ cat sensors-partial.yaml ${ACx22_IPMI_EXTRA_SENSOR_YAMLS} \
+ > sensors.yaml
+
+ install -m 0644 -D extra-properties.yaml \
+ ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
+ install -m 0644 -D fru-read.yaml ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
+ install -m 0644 -D inventory-sensors.yaml \
+ ${D}${datadir}/${BPN}/ipmi-inventory-sensors.yaml
+ install -m 0644 -D sensors.yaml ${D}${datadir}/${BPN}/ipmi-sensors.yaml
+}
+
+FILES_${PN}-dev = " \
+ ${datadir}/${BPN}/ipmi-extra-properties.yaml \
+ ${datadir}/${BPN}/ipmi-fru-read.yaml \
+ ${datadir}/${BPN}/ipmi-inventory-sensors.yaml \
+ ${datadir}/${BPN}/ipmi-sensors.yaml \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-inventory-sensors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-inventory-sensors.yaml
new file mode 100644
index 000000000..6dd17b7ab
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-inventory-sensors.yaml
@@ -0,0 +1,18 @@
+1:
+ Offset: 2
+ SensorType: 18
+3:
+ Offset: 8
+ SensorType: 7
+7:
+ Offset: 0
+ SensorType: 199
+32:
+ Offset: 4
+ SensorType: 12
+208:
+ Offset: 8
+ SensorType: 7
+216:
+ Offset: 8
+ SensorType: 23
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-occ-sensors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-occ-sensors.yaml
new file mode 100644
index 000000000..aa69a646c
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-occ-sensors.yaml
@@ -0,0 +1,44 @@
+8:
+ entityID: 210
+ entityInstance: 1
+ interfaces:
+ org.open_power.OCC.Status:
+ OccActive:
+ Offsets:
+ 0:
+ assert: false
+ deassert: true
+ type: bool
+ 1:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ path: /org/open_power/control/occ0
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 9
+ sensorType: 9
+ serviceInterface: org.freedesktop.DBus.Properties
+9:
+ entityID: 210
+ entityInstance: 2
+ interfaces:
+ org.open_power.OCC.Status:
+ OccActive:
+ Offsets:
+ 0:
+ assert: false
+ deassert: true
+ type: bool
+ 1:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ path: /org/open_power/control/occ1
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 9
+ sensorType: 9
+ serviceInterface: org.freedesktop.DBus.Properties
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-sensors-mrw.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-sensors-mrw.yaml
new file mode 100644
index 000000000..1c7b6eb82
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/acx22-ipmi-sensors-mrw.yaml
@@ -0,0 +1,339 @@
+boot_count_sensor:
+ interfaces:
+ xyz.openbmc_project.Control.Boot.RebootAttempts:
+ AttemptsLeft:
+ Offsets:
+ 255:
+ type: uint32_t
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/state/host0
+ readingType: readingAssertion
+ sensorNamePattern: nameProperty
+ serviceInterface: org.freedesktop.DBus.Properties
+cpu_func_sensor:
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ Present:
+ Offsets:
+ 7:
+ assert: true
+ deassert: false
+ type: bool
+ xyz.openbmc_project.State.Decorator.OperationalStatus:
+ Functional:
+ Offsets:
+ 8:
+ assert: false
+ deassert: true
+ type: bool
+ Prereqs:
+ 7:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ serviceInterface: xyz.openbmc_project.Inventory.Manager
+cpucore_func_sensor:
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ Present:
+ Offsets:
+ 7:
+ assert: true
+ deassert: false
+ skipOn: deassert
+ type: bool
+ xyz.openbmc_project.State.Decorator.OperationalStatus:
+ Functional:
+ Offsets:
+ 8:
+ assert: false
+ deassert: true
+ type: bool
+ Prereqs:
+ 7:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ readingType: assertion
+ sensorNamePattern: nameParentLeaf
+ serviceInterface: xyz.openbmc_project.Inventory.Manager
+cpucore_temp_sensor:
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: -127
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+dimm_func_sensor:
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ Present:
+ Offsets:
+ 6:
+ assert: true
+ deassert: false
+ type: bool
+ xyz.openbmc_project.State.Decorator.OperationalStatus:
+ Functional:
+ Offsets:
+ 4:
+ assert: false
+ deassert: true
+ type: bool
+ Prereqs:
+ 6:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ serviceInterface: xyz.openbmc_project.Inventory.Manager
+dimm_temp_sensor:
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: -127
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+fw_boot_sensor:
+ interfaces:
+ xyz.openbmc_project.State.Boot.Progress:
+ BootProgress:
+ Offsets:
+ 0:
+ set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified
+ type: string
+ 1:
+ set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.MemoryInit
+ type: string
+ 3:
+ set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.SecondaryProcInit
+ type: string
+ 7:
+ set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.PCIInit
+ type: string
+ 19:
+ set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.OSStart
+ type: string
+ 20:
+ set: xyz.openbmc_project.State.Boot.Progress.ProgressStages.MotherboardInit
+ type: string
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/state/host0
+ readingType: eventdata2
+ sensorNamePattern: nameProperty
+ serviceInterface: org.freedesktop.DBus.Properties
+gpu_func_sensor:
+ interfaces:
+ xyz.openbmc_project.Inventory.Item.Accelerator:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable:
+ Offsets:
+ 7:
+ assert: true
+ deassert: true
+ type: bool
+ xyz.openbmc_project.Inventory.Item:
+ Present:
+ Offsets:
+ 7:
+ assert: true
+ deassert: false
+ type: bool
+ xyz.openbmc_project.State.Decorator.OperationalStatus:
+ Functional:
+ Offsets:
+ 8:
+ assert: false
+ deassert: true
+ type: bool
+ Prereqs:
+ 7:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ serviceInterface: xyz.openbmc_project.Inventory.Manager
+gpu_temp_sensor:
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: -127
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+host_auto_reboot_control_sensor:
+ interfaces:
+ xyz.openbmc_project.Control.Boot.RebootPolicy:
+ AutoReboot:
+ Offsets:
+ 0:
+ assert: false
+ type: bool
+ 1:
+ assert: true
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/control/host0/auto_reboot
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+memory_temp_sensor:
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: -127
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+os_boot_sensor:
+ interfaces:
+ xyz.openbmc_project.State.OperatingSystem.Status:
+ OperatingSystemState:
+ Offsets:
+ 1:
+ assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.CBoot
+ type: string
+ 2:
+ assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.PXEBoot
+ type: string
+ 3:
+ assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.DiagBoot
+ type: string
+ 4:
+ assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.CDROMBoot
+ type: string
+ 5:
+ assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.ROMBoot
+ type: string
+ 6:
+ assert: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.BootComplete
+ type: string
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/state/host0
+ readingType: assertion
+ sensorNamePattern: nameProperty
+ serviceInterface: org.freedesktop.DBus.Properties
+ps_derating_sensor:
+ interfaces:
+ xyz.openbmc_project.Control.PowerSupplyAttributes:
+ DeratingFactor:
+ Offsets:
+ 255:
+ type: uint32_t
+ mutability: Mutability::Read
+ readingType: assertion
+ sensorNamePattern: nameProperty
+ serviceInterface: org.freedesktop.DBus.Properties
+ps_redundancy_state_sensor:
+ interfaces:
+ xyz.openbmc_project.Control.PowerSupplyRedundancy:
+ PowerSupplyRedundancyEnabled:
+ Offsets:
+ 0:
+ assert: false
+ type: bool
+ 1:
+ assert: true
+ type: bool
+ mutability: Mutability::Read
+ path: /xyz/openbmc_project/control/power_supply_redundancy
+ readingType: assertion
+ sensorNamePattern: nameProperty
+ serviceInterface: org.freedesktop.DBus.Properties
+tpm_required_sensor:
+ interfaces:
+ xyz.openbmc_project.Control.TPM.Policy:
+ TPMEnable:
+ Offsets:
+ 0:
+ assert: false
+ type: bool
+ 1:
+ assert: true
+ type: bool
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/control/host0/TPMEnable
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+turbo_allowed_sensor:
+ interfaces:
+ xyz.openbmc_project.Control.Host.TurboAllowed:
+ TurboAllowed:
+ Offsets:
+ 0:
+ assert: false
+ deassert: true
+ type: bool
+ 1:
+ assert: true
+ deassert: false
+ type: bool
+ mutability: Mutability::Read
+ path: /xyz/openbmc_project/control/host0/turbo_allowed
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+vrm_vdd_temp_sensor:
+ bExp: 0
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: -127
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native/bmc-fru-config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-bmc.yaml
index 072cc5cd6..6de8be206 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native/bmc-fru-config.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-bmc.yaml
@@ -1,4 +1,4 @@
-50:
+60:
/system/chassis/motherboard/fan0:
entityID: 29
entityInstance: 1
@@ -7,7 +7,7 @@
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
-51:
+61:
/system/chassis/motherboard/fan1:
entityID: 29
entityInstance: 2
@@ -16,7 +16,7 @@
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
-52:
+62:
/system/chassis/motherboard/fan2:
entityID: 29
entityInstance: 3
@@ -25,7 +25,7 @@
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
-53:
+63:
/system/chassis/motherboard/fan3:
entityID: 29
entityInstance: 4
@@ -34,8 +34,8 @@
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
-60:
- /system/chassis/motherboard/boxelder/bmc:
+70:
+ /system/chassis/motherboard/management_card/bmc:
entityID: 6
entityInstance: 1
interfaces:
@@ -59,8 +59,8 @@
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
-70:
- /system/chassis/motherboard/boxelder/bmc/ethernet:
+80:
+ /system/chassis/motherboard/management_card/bmc/ethernet:
entityID: 1
entityInstance: 1
interfaces:
@@ -68,7 +68,7 @@
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
-75:
+85:
/system/chassis/motherboard/powersupply0:
entityID: 10
entityInstance: 1
@@ -93,7 +93,7 @@
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
-76:
+86:
/system/chassis/motherboard/powersupply1:
entityID: 10
entityInstance: 2
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-not-sent-by-host.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-not-sent-by-host.yaml
new file mode 100644
index 000000000..114360ef9
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-fru-not-sent-by-host.yaml
@@ -0,0 +1,21 @@
+15:
+ /system/chassis/motherboard/ga100card0: &DEFAULTS
+ entityInstance: 1
+ entityID: 3
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+16:
+ /system/chassis/motherboard/ga100card1:
+ <<: *DEFAULTS
+ entityInstance: 2
+17:
+ /system/chassis/motherboard/ga100card2:
+ <<: *DEFAULTS
+ entityInstance: 3
+18:
+ /system/chassis/motherboard/ga100card3:
+ <<: *DEFAULTS
+ entityInstance: 4
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-hwmon-sensors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-hwmon-sensors.yaml
new file mode 100644
index 000000000..38f38355a
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/swift/acx22-ipmi-hwmon-sensors.yaml
@@ -0,0 +1,484 @@
+232:
+ bExp: 0
+ entityID: 29
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan0_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+233:
+ bExp: 0
+ entityID: 29
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan1_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+234:
+ bExp: 0
+ entityID: 29
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan2_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+235:
+ bExp: 0
+ entityID: 29
+ entityInstance: 7
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan3_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+236:
+ bExp: 0
+ entityID: 10
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/fan_disk_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+237:
+ bExp: 0
+ entityID: 10
+ entityInstance: 9
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_io_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+238:
+ bExp: 0
+ entityID: 10
+ entityInstance: 10
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_io_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+239:
+ bExp: 0
+ entityID: 10
+ entityInstance: 11
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_mem_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+240:
+ bExp: 0
+ entityID: 10
+ entityInstance: 12
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_mem_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+241:
+ bExp: 0
+ entityID: 10
+ entityInstance: 13
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+242:
+ bExp: 0
+ entityID: 10
+ entityInstance: 14
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+243:
+ bExp: 0
+ entityID: 10
+ entityInstance: 15
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/ps0_input_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+244:
+ bExp: 0
+ entityID: 10
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/ps1_input_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+245:
+ bExp: 0
+ entityID: 10
+ entityInstance: 17
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 20
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/total_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+246:
+ bExp: 0
+ entityID: 10
+ entityInstance: 19
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps0_input_voltage
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+247:
+ bExp: 0
+ entityID: 10
+ entityInstance: 20
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps1_input_voltage
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+248:
+ bExp: 0
+ entityID: 10
+ entityInstance: 21
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps0_output_voltage
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+249:
+ bExp: 0
+ entityID: 10
+ entityInstance: 22
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps1_output_voltage
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+250:
+ bExp: 0
+ entityID: 10
+ entityInstance: 23
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/current/ps0_output_current
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 3
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes
+251:
+ bExp: 0
+ entityID: 10
+ entityInstance: 24
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/current/ps1_output_current
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 3
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes
+252:
+ bExp: 0
+ entityID: 35
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 30
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/pcie0_1
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+253:
+ bExp: 0
+ entityID: 35
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 30
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/pcie2_3
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+254:
+ bExp: 0
+ entityID: 64
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 20
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/ambient0
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-bmc.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-bmc.yaml
new file mode 100644
index 000000000..a5ce2e841
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-bmc.yaml
@@ -0,0 +1,120 @@
+50:
+ /system/chassis/motherboard/fan0:
+ entityID: 29
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+51:
+ /system/chassis/motherboard/fan1:
+ entityID: 29
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+52:
+ /system/chassis/motherboard/fan2:
+ entityID: 29
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+53:
+ /system/chassis/motherboard/fan3:
+ entityID: 29
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+60:
+ /system/chassis/motherboard/boxelder/bmc:
+ entityID: 6
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+70:
+ /system/chassis/motherboard/boxelder/bmc/ethernet:
+ entityID: 1
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+75:
+ /system/chassis/motherboard/powersupply0:
+ entityID: 10
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+76:
+ /system/chassis/motherboard/powersupply1:
+ entityID: 10
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-not-sent-by-host.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-not-sent-by-host.yaml
new file mode 100644
index 000000000..a4c34b4fc
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-fru-not-sent-by-host.yaml
@@ -0,0 +1,54 @@
+20:
+ /system/chassis/motherboard/gv100card0:
+ entityID: 3
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+21:
+ /system/chassis/motherboard/gv100card1:
+ entityID: 3
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+22:
+ /system/chassis/motherboard/gv100card2:
+ entityID: 3
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+23:
+ /system/chassis/motherboard/gv100card3:
+ entityID: 3
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+24:
+ /system/chassis/motherboard/gv100card4:
+ entityID: 3
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+25:
+ /system/chassis/motherboard/gv100card5:
+ entityID: 3
+ entityInstance: 6
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-hwmon-sensors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-hwmon-sensors.yaml
new file mode 100644
index 000000000..803ed77ad
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/witherspoon/acx22-ipmi-hwmon-sensors.yaml
@@ -0,0 +1,546 @@
+221:
+ bExp: 0
+ entityID: 29
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan0_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+223:
+ bExp: 0
+ entityID: 29
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan1_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+227:
+ bExp: 0
+ entityID: 29
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan2_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+229:
+ bExp: 0
+ entityID: 29
+ entityInstance: 7
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan3_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+231:
+ bExp: 0
+ entityID: 10
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/fan_disk_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+238:
+ bExp: 0
+ entityID: 10
+ entityInstance: 9
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_io_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+239:
+ bExp: 0
+ entityID: 10
+ entityInstance: 10
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_io_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+240:
+ bExp: 0
+ entityID: 10
+ entityInstance: 11
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_mem_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+241:
+ bExp: 0
+ entityID: 10
+ entityInstance: 12
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_mem_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+242:
+ bExp: 0
+ entityID: 10
+ entityInstance: 13
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+243:
+ bExp: 0
+ entityID: 10
+ entityInstance: 14
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+244:
+ bExp: 0
+ entityID: 10
+ entityInstance: 15
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/ps0_input_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+245:
+ bExp: 0
+ entityID: 10
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/ps1_input_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+246:
+ bExp: 0
+ entityID: 10
+ entityInstance: 17
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 20
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/total_power
+ rExp: 0
+ readingType: readingData
+ scale: -6
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 8
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
+247:
+ bExp: 0
+ entityID: 10
+ entityInstance: 19
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps0_input_voltage
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+248:
+ bExp: 0
+ entityID: 10
+ entityInstance: 20
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps1_input_voltage
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+249:
+ bExp: 0
+ entityID: 10
+ entityInstance: 21
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps0_output_voltage
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+250:
+ bExp: 0
+ entityID: 10
+ entityInstance: 22
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 10
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/voltage/ps1_output_voltage
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+251:
+ bExp: 0
+ entityID: 10
+ entityInstance: 23
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/current/ps0_output_current
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 3
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes
+252:
+ bExp: 0
+ entityID: 10
+ entityInstance: 24
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/current/ps1_output_current
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 3
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes
+253:
+ bExp: 0
+ entityID: 35
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 30
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/pcie
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+254:
+ bExp: 0
+ entityID: 64
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 20
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/ambient
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+222:
+ bExp: 0
+ entityID: 29
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan0_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+226:
+ bExp: 0
+ entityID: 29
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan1_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+228:
+ bExp: 0
+ entityID: 29
+ entityInstance: 6
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan2_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+230:
+ bExp: 0
+ entityID: 29
+ entityInstance: 8
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan3_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/ibm-ac-server/obmc-console.conf
index 638ae7e5d..638ae7e5d 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/obmc-console.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/ibm-ac-server/obmc-console.conf
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/events/witherspoon-events-policy-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb
index e855754c5..f456e4287 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/events/witherspoon-events-policy-native.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb
@@ -1,14 +1,17 @@
-SUMMARY = "Event policy for Witherspoon"
+SUMMARY = "Event policy configuration for meta-witherspoon machines"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-inherit native
+inherit allarch
inherit phosphor-dbus-monitor
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
SRC_URI += "file://config.yaml"
do_install() {
install -D ${WORKDIR}/config.yaml ${D}${config_dir}/config.yaml
}
+FILES_${PN} += "${config_dir}/config.yaml"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/events/witherspoon-events-policy/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy/config.yaml
index 5c62d45a3..5c62d45a3 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/events/witherspoon-events-policy/config.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy/config.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb
index 070fceeec..12194640d 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy-native.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb
@@ -1,11 +1,13 @@
-SUMMARY = "Fan policy for Witherspoon"
+SUMMARY = "Fan policy configurations for meta-witherspoon machines"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-inherit native
+inherit allarch
inherit phosphor-dbus-monitor
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
SRC_URI += "file://air-cooled.yaml"
SRC_URI += "file://water-cooled.yaml"
SRC_URI += "file://fan-errors.yaml"
@@ -15,3 +17,7 @@ do_install() {
install -D ${WORKDIR}/water-cooled.yaml ${D}${config_dir}/water-cooled.yaml
install -D ${WORKDIR}/fan-errors.yaml ${D}${config_dir}/fan-errors.yaml
}
+
+FILES_${PN} += "${config_dir}/air-cooled.yaml"
+FILES_${PN} += "${config_dir}/water-cooled.yaml"
+FILES_${PN} += "${config_dir}/fan-errors.yaml"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/air-cooled.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/air-cooled.yaml
new file mode 100644
index 000000000..bfdcd1bb6
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/air-cooled.yaml
@@ -0,0 +1,274 @@
+# Air cooled Swift fan policy for PDM.
+#
+# An air cooled Swift requires a minimum of three functional fan enclosures.
+# If the number of functional fan enclosures is below three, soft poweroff
+# the system.
+
+- name: fan enclosures
+ description: >
+ 'An air cooled Swift has four fan enclosures to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3
+
+- name: chassis state
+ description: >
+ 'Swift has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSISSTATE
+ path: /xyz/openbmc_project/state/chassis0
+
+- name: chassis
+ description: >
+ 'Swift has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSIS
+ path: /xyz/openbmc_project/inventory/system/chassis
+
+- name: fan present
+ description: >
+ 'Monitor the presence state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Item
+ meta: PRESENT
+ property: Present
+
+- name: fan functional
+ description: >
+ 'Monitor the functional state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ meta: FUNCTIONAL
+ property: Functional
+
+- name: chassis powered
+ description: >
+ 'Monitor the chassis power state.'
+ class: group
+ group: property
+ type: string
+ members:
+ - interface: xyz.openbmc_project.State.Chassis
+ meta: CHASSIS_STATE
+ property: CurrentPowerState
+
+- name: chassis air cooled
+ description: >
+ 'Monitor the chassis cooling type.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType
+ meta: COOLING_TYPE
+ property: WaterCooled
+
+- name: watch fan present
+ description: >
+ 'Trigger logic on fan enclosure presence state changes.'
+ class: watch
+ watch: property
+ paths: fan enclosures
+ properties: fan present
+ callback: check cooling type
+
+- name: watch fan functional
+ description: >
+ 'Trigger logic on fan enclosure functional state changes.'
+ class: watch
+ watch: property
+ paths: fan enclosures
+ properties: fan functional
+ callback: check cooling type
+
+- name: watch chassis state
+ description: >
+ 'Trigger logic on chassis power state changes.'
+ class: watch
+ watch: property
+ paths: chassis state
+ properties: chassis powered
+ callback: check cooling type
+
+- name: watch cooling type
+ description: >
+ 'Maintain a cache of the chassis cooling type.'
+ class: watch
+ watch: property
+ paths: chassis
+ properties: chassis air cooled
+
+- name: check cooling type
+ description: >
+ 'If this condition passes the chassis is air cooled.'
+ class: condition
+ condition: count
+ paths: chassis
+ properties: chassis air cooled
+ callback: check power
+ countop: '=='
+ countbound: 0
+ op: '=='
+ bound: true
+
+- name: check power
+ description: >
+ 'If the chassis has power, check fans.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fans
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check fans
+ description: >
+ 'Verify there are at least three functional fan enclosures,
+ power off if not.'
+ class: callback
+ callback: group
+ members:
+ - check group presence
+ - check group functional enclosures
+
+- name: check group presence
+ description: >
+ 'If this condition passes more than one fan has been unplugged
+ for more than 25 seconds. Shut the system down. Count present
+ fans rather than non-present fans since the latter would pass
+ if the fan has not been created for some reason.
+
+ For a more detailed definition of unplugged, consult the documentation
+ of xyz.openbmc_project.Inventory.Item and/or the documentation
+ of the fan inventory object implementation.'
+ class: condition
+ condition: count
+ paths: fan enclosures
+ properties: fan present
+ defer: 25000000us
+ callback: log and shutdown
+ countop: '<'
+ countbound: 3
+ op: '=='
+ bound: true
+
+- name: check group functional enclosures
+ description: >
+ 'If this condition passes more than one fan enclosure in the group has been
+ marked as nonfunctional for five seconds. Shut the system down.
+
+ For a more detailed definition of nonfunctional, consult the documentation
+ of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the
+ documentation of the fan inventory object implementation.'
+ class: condition
+ condition: count
+ paths: fan enclosures
+ properties: fan functional
+ defer: 5000000us
+ callback: log and shutdown
+ countop: '>'
+ countbound: 1
+ op: '=='
+ bound: false
+
+- name: log and poweroff
+ description: >
+ 'Immediately poweroff, log an event in the journal, and create an
+ error log.'
+ class: callback
+ callback: group
+ members:
+ - hard poweroff
+ - log hard poweroff
+ - create shutdown error
+
+- name: log and shutdown
+ description: >
+ 'Shut the system down, log an event in the journal, and create an
+ error log.'
+ class: callback
+ callback: group
+ members:
+ - shutdown
+ - log shutdown
+ - create shutdown error
+
+- name: hard poweroff
+ description: >
+ 'Immediately power off the system.'
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-chassis-hard-poweroff@0.target
+ type: string
+ - value: replace
+ type: string
+
+- name: shutdown
+ description: >
+ 'Shut down the system.'
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-host-shutdown@0.target
+ type: string
+ - value: replace
+ type: string
+
+- name: log hard poweroff
+ description: >
+ 'Log a hard poweroff event to the systemd journal.'
+ class: callback
+ callback: journal
+ paths: chassis state
+ properties: chassis powered
+ severity: ERR
+ message: Immediate poweroff of system. There are not enough functional fans.
+
+- name: log shutdown
+ description: >
+ 'Log a shutdown event to the systemd journal.'
+ class: callback
+ callback: journal
+ paths: chassis state
+ properties: chassis powered
+ severity: ERR
+ message: Request shutdown of system. There are not enough functional fans.
+
+- name: create shutdown error
+ description: >
+ 'Create a Fan Shutdown Error log.'
+ class: callback
+ callback: elog
+ paths: chassis state
+ properties: chassis powered
+ error: xyz::openbmc_project::State::Shutdown::Inventory::Error::Fan
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/fan-errors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/fan-errors.yaml
new file mode 100644
index 000000000..794d91f17
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/fan-errors.yaml
@@ -0,0 +1,671 @@
+# Swift fan error policy for PDM.
+#
+# * Create a NotPresent error if fan 0, 1, 2, or 3 is not present for more
+# than 20 seconds.
+# * Create a Nonfunctional error if fan 0, 1, 2, or 3 is not
+# functional for any amount of time.
+#
+# The system must be powered on in both of these cases.
+# Note: An error is created each time the chassis powers on.
+#
+# * Watch for fans to become both present and functional, and then resolve
+# their errors
+
+- name: fan0
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
+
+- name: fan1
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1
+
+- name: fan2
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2
+
+- name: fan3
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3
+
+- name: chassis state
+ description: >
+ 'Swift has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSISSTATE
+ path: /xyz/openbmc_project/state/chassis0
+
+- name: chassis
+ description: >
+ 'Swift has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSIS
+ path: /xyz/openbmc_project/inventory/system/chassis
+
+
+- name: fan present
+ description: >
+ 'Monitor the presence state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Item
+ meta: PRESENT
+ property: Present
+
+- name: fan functional
+ description: >
+ 'Monitor the functional state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ meta: FUNCTIONAL
+ property: Functional
+
+- name: fan present and functional
+ description: >
+ 'Monitor the present and functional state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Item
+ meta: PRESENT
+ property: Present
+ - interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ meta: FUNCTIONAL
+ property: Functional
+
+- name: chassis powered
+ description: >
+ 'Monitor the chassis power state.'
+ class: group
+ group: property
+ type: string
+ members:
+ - interface: xyz.openbmc_project.State.Chassis
+ meta: CHASSIS_STATE
+ property: CurrentPowerState
+
+- name: chassis air cooled
+ description: >
+ 'The chassis cooling type.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType
+ meta: COOLING_TYPE
+ property: WaterCooled
+
+- name: watch chassis state
+ description: >
+ 'Trigger logic on chassis power state changes.'
+ class: watch
+ watch: property
+ paths: chassis state
+ properties: chassis powered
+ callback: check power
+
+- name: watch fan0 presence
+ description: >
+ 'Trigger logic on fan0 presence state changes.'
+ class: watch
+ watch: property
+ paths: fan0
+ properties: fan present
+ callback: check power fan0 presence
+
+- name: watch fan0 functional
+ description: >
+ 'Trigger logic on fan0 functional state changes.'
+ class: watch
+ watch: property
+ paths: fan0
+ properties: fan functional
+ callback: check power fan0 functional
+
+- name: watch fan1 presence
+ description: >
+ 'Trigger logic on fan1 presence state changes.'
+ class: watch
+ watch: property
+ paths: fan1
+ properties: fan present
+ callback: check power fan1 presence
+
+- name: watch fan1 functional
+ description: >
+ 'Trigger logic on fan1 functional state changes.'
+ class: watch
+ watch: property
+ paths: fan1
+ properties: fan functional
+ callback: check power fan1 functional
+
+- name: watch fan2 presence
+ description: >
+ 'Trigger logic on fan2 presence state changes.'
+ class: watch
+ watch: property
+ paths: fan2
+ properties: fan present
+ callback: check power fan2 presence
+
+- name: watch fan2 functional
+ description: >
+ 'Trigger logic on fan2 functional state changes.'
+ class: watch
+ watch: property
+ paths: fan2
+ properties: fan functional
+ callback: check power fan2 functional
+
+- name: watch fan3 presence
+ description: >
+ 'Trigger logic on fan3 presence state changes.'
+ class: watch
+ watch: property
+ paths: fan3
+ properties: fan present
+ callback: check power fan3 presence
+
+- name: watch fan3 functional
+ description: >
+ 'Trigger logic on fan3 functional state changes.'
+ class: watch
+ watch: property
+ paths: fan3
+ properties: fan functional
+ callback: check power fan3 functional
+
+- name: watch fan0 present and functional for resolving error logs
+ description: >
+ 'On fan present or functional state changes, check if errors need to be resolved.'
+ class: watch
+ watch: property
+ paths: fan0
+ properties: fan present and functional
+ callback: resolve fan0 errors if present and functional
+
+- name: watch fan1 present and functional for resolving error logs
+ description: >
+ 'On fan present or functional state changes, check if errors need to be resolved.'
+ class: watch
+ watch: property
+ paths: fan1
+ properties: fan present and functional
+ callback: resolve fan1 errors if present and functional
+
+- name: watch fan2 present and functional for resolving error logs
+ description: >
+ 'On fan present or functional state changes, check if errors need to be resolved.'
+ class: watch
+ watch: property
+ paths: fan2
+ properties: fan present and functional
+ callback: resolve fan2 errors if present and functional
+
+- name: watch fan3 present and functional for resolving error logs
+ description: >
+ 'On fan present or functional state changes, check if errors need to be resolved.'
+ class: watch
+ watch: property
+ paths: fan3
+ properties: fan present and functional
+ callback: resolve fan3 errors if present and functional
+
+- name: check power
+ description: >
+ 'If the chassis has power, check all fans.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fans
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan0 presence
+ description: >
+ 'If the chassis has power, check presence of fan0.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan0 presence
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan0 functional
+ description: >
+ 'If the chassis has power, check functional of fan0.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan0 functional
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan1 presence
+ description: >
+ 'If the chassis has power, check presence of fan1.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan1 presence
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan1 functional
+ description: >
+ 'If the chassis has power, check functional of fan1.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan1 functional
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan2 presence
+ description: >
+ 'If the chassis has power, check presence of fan2.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan2 presence
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan2 functional
+ description: >
+ 'If the chassis has power, check functional of fan2.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan2 functional
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan3 presence
+ description: >
+ 'If the chassis has power, check presence of fan3.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan3 presence
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan3 functional
+ description: >
+ 'If the chassis has power, check functional of fan3.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan3 functional
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check fans
+ description: >
+ 'Verify each of the 3 fans are present.'
+ class: callback
+ callback: group
+ members:
+ - check fan0 presence
+ - check fan1 presence
+ - check fan2 presence
+ - check fan3 presence
+ - check fan0 functional
+ - check fan1 functional
+ - check fan2 functional
+ - check fan3 functional
+
+- name: check fan0 presence
+ description: >
+ 'If this condition passes fan0 has been unplugged for more than 20 seconds.'
+ class: condition
+ condition: count
+ paths: fan0
+ properties: fan present
+ defer: 20000000us
+ callback: notpresent fan0 error
+ countop: '<'
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check fan0 functional
+ description: >
+ 'If this condition passes fan0 has been marked as nonfunctional.'
+ class: condition
+ condition: count
+ paths: fan0
+ properties: fan functional
+ callback: nonfunctional fan0 error
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: false
+
+- name: check fan1 presence
+ description: >
+ 'If this condition passes fan1 has been unplugged for more than 20 seconds.'
+ class: condition
+ condition: count
+ paths: fan1
+ properties: fan present
+ defer: 20000000us
+ callback: notpresent fan1 error
+ countop: '<'
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check fan1 functional
+ description: >
+ 'If this condition passes fan1 has been marked as nonfunctional.'
+ class: condition
+ condition: count
+ paths: fan1
+ properties: fan functional
+ callback: nonfunctional fan1 error
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: false
+
+- name: check fan2 presence
+ description: >
+ 'If this condition passes fan2 has been unplugged for more than 20 seconds.'
+ class: condition
+ condition: count
+ paths: fan2
+ properties: fan present
+ defer: 20000000us
+ callback: notpresent fan2 error
+ countop: '<'
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check fan2 functional
+ description: >
+ 'If this condition passes fan2 has been marked as nonfunctional.'
+ class: condition
+ condition: count
+ paths: fan2
+ properties: fan functional
+ callback: nonfunctional fan2 error
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: false
+
+- name: check fan3 presence
+ description: >
+ 'If this condition passes fan3 has been unplugged for more than 20 seconds.'
+ class: condition
+ condition: count
+ paths: fan3
+ properties: fan present
+ defer: 20000000us
+ callback: notpresent fan3 error
+ countop: '<'
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check fan3 functional
+ description: >
+ 'If this condition passes fan3 has been marked as nonfunctional.'
+ class: condition
+ condition: count
+ paths: fan3
+ properties: fan functional
+ callback: nonfunctional fan3 error
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: false
+
+- name: check cooling type nonfunctional error
+ description: >
+ 'If this condition passes the chassis is air cooled and will create a
+ nonfunctional error for fan 1.'
+ class: condition
+ condition: count
+ paths: chassis
+ properties: chassis air cooled
+ callback: nonfunctional fan1 error
+ countop: '=='
+ countbound: 0
+ op: '=='
+ bound: true
+
+- name: check cooling type notpresent error
+ description: >
+ 'If this condition passes the chassis is air cooled and will create a
+ notpresent error for fan 1.'
+ class: condition
+ condition: count
+ paths: chassis
+ properties: chassis air cooled
+ callback: notpresent fan1 error
+ countop: '=='
+ countbound: 0
+ op: '=='
+ bound: true
+
+- name: notpresent fan0 error
+ class: callback
+ callback: elog
+ paths: fan0
+ properties: fan present
+ error: xyz::openbmc_project::Inventory::Error::NotPresent
+ metadata:
+ - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
+ type: string
+
+- name: nonfunctional fan0 error
+ class: callback
+ callback: elog
+ paths: fan0
+ properties: fan functional
+ error: xyz::openbmc_project::Inventory::Error::Nonfunctional
+ metadata:
+ - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
+ type: string
+
+- name: notpresent fan1 error
+ class: callback
+ callback: elog
+ paths: fan1
+ properties: fan present
+ error: xyz::openbmc_project::Inventory::Error::NotPresent
+ metadata:
+ - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1
+ type: string
+
+- name: nonfunctional fan1 error
+ class: callback
+ callback: elog
+ paths: fan1
+ properties: fan functional
+ error: xyz::openbmc_project::Inventory::Error::Nonfunctional
+ metadata:
+ - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1
+ type: string
+
+- name: notpresent fan2 error
+ class: callback
+ callback: elog
+ paths: fan2
+ properties: fan present
+ error: xyz::openbmc_project::Inventory::Error::NotPresent
+ metadata:
+ - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2
+ type: string
+
+- name: nonfunctional fan2 error
+ class: callback
+ callback: elog
+ paths: fan2
+ properties: fan functional
+ error: xyz::openbmc_project::Inventory::Error::Nonfunctional
+ metadata:
+ - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2
+ type: string
+
+- name: notpresent fan3 error
+ class: callback
+ callback: elog
+ paths: fan3
+ properties: fan present
+ error: xyz::openbmc_project::Inventory::Error::NotPresent
+ metadata:
+ - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3
+ type: string
+
+- name: nonfunctional fan3 error
+ class: callback
+ callback: elog
+ paths: fan3
+ properties: fan functional
+ error: xyz::openbmc_project::Inventory::Error::Nonfunctional
+ metadata:
+ - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH
+ value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3
+ type: string
+
+- name: resolve fan0 errors if present and functional
+ description: >
+ 'If fan0 is present and functional, call the resolve fan0 errors callback.'
+ class: condition
+ condition: count
+ paths: fan0
+ properties: fan present and functional
+ callback: resolve fan0 errors
+ countop: '=='
+ countbound: 2
+ op: '=='
+ bound: true
+
+#Go ahead and do this on water cooled as well
+- name: resolve fan1 errors if present and functional
+ description: >
+ 'If fan1 is present and functional, call the resolve fan1 errors callback.'
+ class: condition
+ condition: count
+ paths: fan1
+ properties: fan present and functional
+ callback: resolve fan1 errors
+ countop: '=='
+ countbound: 2
+ op: '=='
+ bound: true
+
+- name: resolve fan2 errors if present and functional
+ description: >
+ 'If fan2 is present and functional, call the resolve fan2 errors callback.'
+ class: condition
+ condition: count
+ paths: fan2
+ properties: fan present and functional
+ callback: resolve fan2 errors
+ countop: '=='
+ countbound: 2
+ op: '=='
+ bound: true
+
+- name: resolve fan3 errors if present and functional
+ description: >
+ 'If fan3 is present and functional, call the resolve fan3 errors callback.'
+ class: condition
+ condition: count
+ paths: fan3
+ properties: fan present and functional
+ callback: resolve fan3 errors
+ countop: '=='
+ countbound: 2
+ op: '=='
+ bound: true
+
+- name: resolve fan0 errors
+ class: callback
+ callback: resolve callout
+ paths: fan0
+ properties: fan present and functional
+ callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
+
+- name: resolve fan1 errors
+ class: callback
+ callback: resolve callout
+ paths: fan1
+ properties: fan present and functional
+ callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1
+
+- name: resolve fan2 errors
+ class: callback
+ callback: resolve callout
+ paths: fan2
+ properties: fan present and functional
+ callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2
+
+- name: resolve fan3 errors
+ class: callback
+ callback: resolve callout
+ paths: fan3
+ properties: fan present and functional
+ callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/water-cooled.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/water-cooled.yaml
new file mode 100644
index 000000000..661021a9b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/swift/water-cooled.yaml
@@ -0,0 +1,274 @@
+# Water cooled Swift fan policy for PDM.
+#
+# A water cooled Swift requires a minimum of three functional fan
+# enclosures. If the number of functional fan enclosures is below three,
+# soft poweroff the system.
+
+- name: fan enclosures
+ description: >
+ 'A water cooled Swift has four fan enclosures to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3
+
+- name: chassis state
+ description: >
+ 'Swift has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSISSTATE
+ path: /xyz/openbmc_project/state/chassis0
+
+- name: chassis
+ description: >
+ 'Swift has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSIS
+ path: /xyz/openbmc_project/inventory/system/chassis
+
+- name: fan present
+ description: >
+ 'Monitor the presence state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Item
+ meta: PRESENT
+ property: Present
+
+- name: fan functional
+ description: >
+ 'Monitor the functional state of each fan.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ meta: FUNCTIONAL
+ property: Functional
+
+- name: chassis powered
+ description: >
+ 'Monitor the chassis power state.'
+ class: group
+ group: property
+ type: string
+ members:
+ - interface: xyz.openbmc_project.State.Chassis
+ meta: CHASSIS_STATE
+ property: CurrentPowerState
+
+- name: chassis water cooled
+ description: >
+ 'Monitor the chassis cooling type.'
+ class: group
+ group: property
+ type: boolean
+ members:
+ - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType
+ meta: COOLING_TYPE
+ property: WaterCooled
+
+- name: watch fan present
+ description: >
+ 'Trigger logic on fan enclosure presence state changes.'
+ class: watch
+ watch: property
+ paths: fan enclosures
+ properties: fan present
+ callback: check cooling type
+
+- name: watch fan functional
+ description: >
+ 'Trigger logic on fan enclosure functional state changes.'
+ class: watch
+ watch: property
+ paths: fan enclosures
+ properties: fan functional
+ callback: check cooling type
+
+- name: watch chassis state
+ description: >
+ 'Trigger logic on chassis power state changes.'
+ class: watch
+ watch: property
+ paths: chassis state
+ properties: chassis powered
+ callback: check cooling type
+
+- name: watch cooling type
+ description: >
+ 'Maintain a cache of the chassis cooling type.'
+ class: watch
+ watch: property
+ paths: chassis
+ properties: chassis water cooled
+
+- name: check cooling type
+ description: >
+ 'If this condition passes the chassis is water cooled.'
+ class: condition
+ condition: count
+ paths: chassis
+ properties: chassis water cooled
+ callback: check power
+ countop: '=='
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check power
+ description: >
+ 'If the chassis has power, check fans.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fans
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check fans
+ description: >
+ 'Verify there are at least three functional fan enclosures,
+ power off if not.'
+ class: callback
+ callback: group
+ members:
+ - check group presence
+ - check group functional enclosures
+
+- name: check group presence
+ description: >
+ 'If this condition passes more than one fan has been unplugged
+ for more than 25 seconds. Shut the system down. Count present
+ fans rather than non-present fans since the latter would pass
+ if the fan has not been created for some reason.
+
+ For a more detailed definition of unplugged, consult the documentation
+ of xyz.openbmc_project.Inventory.Item and/or the documentation
+ of the fan inventory object implementation.'
+ class: condition
+ condition: count
+ paths: fan enclosures
+ properties: fan present
+ defer: 25000000us
+ callback: log and shutdown
+ countop: '<'
+ countbound: 3
+ op: '=='
+ bound: true
+
+- name: check group functional enclosures
+ description: >
+ 'If this condition passes more than one fan enclosure in the group has been
+ marked as nonfunctional for five seconds. Shut the system down.
+
+ For a more detailed definition of nonfunctional, consult the documentation
+ of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the
+ documentation of the fan inventory object implementation.'
+ class: condition
+ condition: count
+ paths: fan enclosures
+ properties: fan functional
+ defer: 5000000us
+ callback: log and shutdown
+ countop: '>'
+ countbound: 1
+ op: '=='
+ bound: false
+
+- name: log and poweroff
+ description: >
+ 'Immediately poweroff, log an event in the journal, and create an
+ error log.'
+ class: callback
+ callback: group
+ members:
+ - hard poweroff
+ - log hard poweroff
+ - create shutdown error
+
+- name: log and shutdown
+ description: >
+ 'Shut the system down, log an event in the journal, and create an
+ error log.'
+ class: callback
+ callback: group
+ members:
+ - shutdown
+ - log shutdown
+ - create shutdown error
+
+- name: hard poweroff
+ description: >
+ 'Immediately power off the system.'
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-chassis-hard-poweroff@0.target
+ type: string
+ - value: replace
+ type: string
+
+- name: shutdown
+ description: >
+ 'Shut down the system.'
+ class: callback
+ callback: method
+ service: org.freedesktop.systemd1
+ path: /org/freedesktop/systemd1
+ interface: org.freedesktop.systemd1.Manager
+ method: StartUnit
+ args:
+ - value: obmc-host-shutdown@0.target
+ type: string
+ - value: replace
+ type: string
+
+- name: log hard poweroff
+ description: >
+ 'Log a hard poweroff event to the systemd journal.'
+ class: callback
+ callback: journal
+ paths: chassis state
+ properties: chassis powered
+ severity: ERR
+ message: Immediate poweroff of system. There are not enough functional fans.
+
+- name: log shutdown
+ description: >
+ 'Log a shutdown event to the systemd journal.'
+ class: callback
+ callback: journal
+ paths: chassis state
+ properties: chassis powered
+ severity: ERR
+ message: Request shutdown of system. There are not enough functional fans.
+
+- name: create shutdown error
+ description: >
+ 'Create a Fan Shutdown Error log.'
+ class: callback
+ callback: elog
+ paths: chassis state
+ properties: chassis powered
+ error: xyz::openbmc_project::State::Shutdown::Inventory::Error::Fan
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/air-cooled.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/air-cooled.yaml
index d60aa9179..d60aa9179 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/air-cooled.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/air-cooled.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/fan-errors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/fan-errors.yaml
index 0c14627d2..0c14627d2 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/fan-errors.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/fan-errors.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/water-cooled.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/water-cooled.yaml
index a279cfefa..a279cfefa 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/water-cooled.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/witherspoon/water-cooled.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bbappend
deleted file mode 100644
index 2831afe21..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-PHOSPHOR_DBUS_MONITOR_CONFIGS_append = " witherspoon-fan-policy-native"
-PHOSPHOR_DBUS_MONITOR_CONFIGS_append = " witherspoon-thermal-policy-native"
-PHOSPHOR_DBUS_MONITOR_CONFIGS_append = " witherspoon-power-supply-policy-native"
-PHOSPHOR_DBUS_MONITOR_CONFIGS_append = " witherspoon-events-policy-native"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
new file mode 100644
index 000000000..185db1033
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bbappend
@@ -0,0 +1,4 @@
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " fan-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " thermal-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " power-supply-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_ibm-ac-server = " events-policy"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend
index e80b49902..8e1bf41fa 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/phosphor-dbus-monitor_%.bbappend
@@ -1 +1 @@
-SYSTEMD_LINK_phosphor-msl-verify = "../phosphor-msl-verify.service:obmc-chassis-poweron@0.target.requires/phosphor-msl-verify.service"
+SYSTEMD_LINK_phosphor-msl-verify_append_ibm-ac-server = " ../phosphor-msl-verify.service:obmc-chassis-poweron@0.target.requires/phosphor-msl-verify.service"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-policy-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb
index 563f80e30..27d60fb34 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-policy-native.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb
@@ -1,13 +1,17 @@
-SUMMARY = "Power supply policy for Witherspoon"
+SUMMARY = "Power supply policy configuration for meta-witherspoon machines"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-inherit native
+inherit allarch
inherit phosphor-dbus-monitor
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
SRC_URI += "file://power-supply-policy.yaml"
do_install() {
install -D ${WORKDIR}/power-supply-policy.yaml ${D}${config_dir}/power-supply-policy.yaml
}
+
+FILES_${PN} += "${config_dir}/power-supply-policy.yaml"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-policy/power-supply-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy/power-supply-policy.yaml
index 20141c9c3..e00e747b6 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-policy/power-supply-policy.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy/power-supply-policy.yaml
@@ -1,4 +1,4 @@
-# Witherspoon power supply policy for PDM.
+# Machine power supply policy for PDM.
#
# Create an error if a power supply is removed while the system is powered on
@@ -18,7 +18,7 @@
- name: power supplies
description: >
- 'A Witherspoon has two power supplies to monitor.'
+ 'The machine has two power supplies to monitor.'
class: group
group: path
members:
@@ -29,7 +29,7 @@
- name: chassis state
description: >
- 'A Witherspoon has a single chassis to monitor.'
+ 'The machine has a single chassis to monitor.'
class: group
group: path
members:
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb
index d53b4146f..9fb7d252b 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy-native.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb
@@ -1,13 +1,17 @@
-SUMMARY = "Thermal policy for Witherspoon"
+SUMMARY = "Thermal policy configuration for meta-witherspoon machines"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-inherit native
+inherit allarch
inherit phosphor-dbus-monitor
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
SRC_URI += "file://thermal-policy.yaml"
do_install() {
install -D ${WORKDIR}/thermal-policy.yaml ${D}${config_dir}/thermal-policy.yaml
}
+
+FILES_${PN} += "${config_dir}/thermal-policy.yaml"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy/thermal-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml
index 1dd2306e9..7c48509c5 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy/thermal-policy.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml
@@ -1,12 +1,12 @@
-# Witherspoon thermal policy for PDM.
+# Machine thermal policy for PDM.
#
-# Shut down a Witherspoon system if more than three POWER9 cores
+# Shut down the system if more than three cores
# have a temperature greater than 115 degrees Celcius.
- name: core sensors
description: >
- 'Witherspoon has two POWER9 chips with 24 cores each.'
+ 'The machine has two processor chips with 24 cores each.'
class: group
group: path
members:
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml
index 5f6a094ba..74a34e081 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml
@@ -141,63 +141,63 @@ groups:
matches:
- name: propertiesChanged
- description: >
- A property changed match
parameters:
- object
- interface
- signal: propertySignal
- name: interfacesAdded
- description: >
- An interfaces added match
parameters:
- object
- signal: objectSignal
- name: interfacesRemoved
- description: >
- An interfaces removed match
parameters:
- object
- signal:
- name: objectSignal
- parameters:
- - object
- - interface
- handler: removeInterface
- name: nameOwnerChanged
- description: >
- A name owner changed match
parameters:
- object
- interface
- signal: ownerSignal
signals:
- - name: propertySignal
+ - name: propertiesChanged
description: >
- Handle property signals
+ A property changed match
parameters:
- type
- object
- interface
- property
- handler: setProperty
- - name: objectSignal
+ match: propertiesChanged
+ - name: interfacesAdded
description: >
- Handle object signals
+ An interfaces added match
parameters:
- type
- object
- interface
- property
- handler: setProperty
- - name: ownerSignal
+ match: interfacesAdded
+ - name: interfacesRemoved
description: >
- Handle owner signals
+ An interfaces removed match
parameters:
- object
- interface
- handler: setService
+ match: interfacesRemoved
+ - name: nameOwnerChanged
+ description: >
+ A name owner changed match
+ parameters:
+ match: nameOwnerChanged
+
+methods:
+ - name: getProperties
+ description: >
+ Get the property values of the given group members
+ by performing a `GetProperty` method call on each
+ parameters:
+ - type
+ - name: nameHasOwner
+ description: >
+ A NameHasOwner method call to be performed on all event group members
+ parameters:
handlers:
- name: setProperty
@@ -205,18 +205,15 @@ handlers:
Sets a value for the given object/interface/property
parameters:
- type
- - object
- - interface
- - property
- name: setService
description: >
- Sets the service name(s) for the given group
+ Sets the service name and ownership status for the given group
parameters:
- group
- name: removeInterface
description: >
Removes an interface(and all associated properties) on the
- given object from use within actions
+ given object from use within all event actions
parameters:
- object
- interface
@@ -228,6 +225,11 @@ preconditions:
enable a set speed event otherwise fan speeds are set to full
parameters:
- groups
+ - name: services_missing_owner
+ description: >
+ Any services missing an owner enable the events given otherwise
+ the events are removed/disabled
+ parameters:
actions:
- name: call_actions_based_on_timer
@@ -293,63 +295,65 @@ actions:
events:
- name: default_fan_floor_on_service_fail
- # No global zone conditions defined == all unless defined on group
- groups:
- - name: zone0_ambient
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: nameOwnerChanged
- actions:
- - name: call_actions_based_on_timer
- timer:
- delay: 5
- type: oneshot
- actions:
- - name: default_floor_on_missing_owner
- - name: high_speed_on_occ0_service_fail
- # No global zone conditions defined == all unless defined on group
+ precondition:
+ name: services_missing_owner
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
+ events:
+ - name: default_fan_floor
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: timer
+ interval: 5000000
+ type: oneshot
+ actions:
+ - name: default_floor_on_missing_owner
+ - name: high_speed_on_occ_service_fails
groups:
- name: occ0_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- matches:
- - name: nameOwnerChanged
- actions:
- - name: call_actions_based_on_timer
- timer:
- delay: 5
- type: oneshot
- actions:
- - name: set_speed_on_missing_owner
- speed:
- value: 10500
- type: uint64_t
- - name: high_speed_on_occ1_service_fail
- # No global zone conditions defined == all unless defined on group
- groups:
- name: occ1_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- matches:
- - name: nameOwnerChanged
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
actions:
- name: call_actions_based_on_timer
timer:
- delay: 5
+ interval: 5000000
type: oneshot
actions:
- name: set_speed_on_missing_owner
speed:
value: 10500
type: uint64_t
- - name: missing_before_high_speed_air
+ - name: missing_or_fails_before_high_speed_air
groups:
- name: air_cooled_zone0_fans
zone_conditions:
@@ -360,19 +364,6 @@ events:
property:
name: Present
type: bool
- matches:
- - name: propertiesChanged
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 10500
- type: uint64_t
- - name: fails_before_high_speed_air
- groups:
- name: air_cooled_zone0_fans
zone_conditions:
- name: air_cooled_chassis
@@ -382,9 +373,13 @@ events:
property:
name: Functional
type: bool
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: count_state_before_speed
count: 1
@@ -394,7 +389,7 @@ events:
speed:
value: 10500
type: uint64_t
- - name: missing_before_high_speed_water_and_air
+ - name: missing_or_fails_before_high_speed_water_and_air
groups:
- name: water_and_air_cooled_zone0_fans
zone_conditions:
@@ -405,19 +400,6 @@ events:
property:
name: Present
type: bool
- matches:
- - name: propertiesChanged
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 10500
- type: uint64_t
- - name: fails_before_high_speed_water_and_air
- groups:
- name: water_and_air_cooled_zone0_fans
zone_conditions:
- name: water_and_air_cooled_chassis
@@ -427,9 +409,13 @@ events:
property:
name: Functional
type: bool
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: count_state_before_speed
count: 1
@@ -450,8 +436,13 @@ events:
property:
name: Current
type: std::string
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: use_alternate_events_on_state
property:
@@ -469,8 +460,13 @@ events:
property:
name: Value
type: int64_t
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: set_floor_from_average_sensor_value
map:
@@ -498,8 +494,13 @@ events:
property:
name: Value
type: int64_t
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: set_floor_from_average_sensor_value
map:
@@ -526,8 +527,13 @@ events:
property:
name: Value
type: int64_t
- matches:
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
actions:
- name: set_floor_from_average_sensor_value
map:
@@ -543,74 +549,6 @@ events:
- 25000: 7200
- 27000: 10500
type: std::map<int64_t, uint64_t>
- - name: speed_changes_based_on_regulator_temps
- # No global zone conditions defined == all unless defined on group
- groups:
- - name: zone0_regulators
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- actions:
- - name: set_net_increase_speed
- property:
- value: 85000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 400
- type: uint64_t
- - name: set_net_decrease_speed
- property:
- value: 82000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 40
- type: uint64_t
- timer:
- interval: 5
- - name: speed_changes_based_on_pcie_temps
- # No global zone conditions defined == all unless defined on group
- groups:
- - name: zone0_pcie
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- actions:
- - name: set_net_increase_speed
- property:
- value: 55000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 400
- type: uint64_t
- - name: set_net_decrease_speed
- property:
- value: 52000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 40
- type: uint64_t
- timer:
- interval: 5
- name: occ_active_speed_changes
precondition:
name: property_states_match
@@ -627,202 +565,352 @@ events:
name: OccActive
type: bool
value: true
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
events:
- - name: fails_before_high_speed_air
- groups:
- - name: zone0_cores
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.State.Decorator.OperationalStatus
- property:
- name: Functional
- type: bool
- - name: zone0_dimms
- interface: xyz.openbmc_project.State.Decorator.OperationalStatus
- property:
- name: Functional
- type: bool
- - name: zone0_gpu_cores
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.State.Decorator.OperationalStatus
- property:
- name: Functional
- type: bool
- - name: zone0_gpu_memory
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.State.Decorator.OperationalStatus
- property:
- name: Functional
- type: bool
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 10500
- type: uint64_t
- - name: speed_changes_based_on_core_temps
- groups:
- - name: zone0_cores
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- - name: interfacesRemoved
- actions:
- - name: set_net_increase_speed
- property:
- value: 73000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 400
- type: uint64_t
- - name: set_net_decrease_speed
- property:
- value: 70000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 40
- type: uint64_t
- timer:
- interval: 5
- - name: speed_changes_based_on_dimm_temps
- # No global zone conditions defined == all unless defined on group
- groups:
- - name: zone0_dimms
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- - name: interfacesRemoved
- actions:
- - name: set_net_increase_speed
- property:
- value: 64000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 200
- type: uint64_t
- - name: set_net_decrease_speed
- property:
- value: 61000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 40
- type: uint64_t
- timer:
- interval: 5
- - name: speed_changes_based_on_gpu_core_temps
- groups:
- - name: zone0_gpu_cores
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- - name: interfacesRemoved
- actions:
- - name: set_net_increase_speed
- property:
- value: 78000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 600
- type: uint64_t
- - name: set_net_decrease_speed
- property:
- value: 75000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 40
- type: uint64_t
- timer:
- interval: 5
- - name: speed_changes_based_on_gpu_memory_temps
- groups:
- - name: zone0_gpu_memory
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.Sensor.Value
- property:
- name: Value
- type: int64_t
- matches:
- - name: interfacesAdded
- - name: propertiesChanged
- - name: interfacesRemoved
- actions:
- - name: set_net_increase_speed
- property:
- value: 80000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 600
- type: uint64_t
- - name: set_net_decrease_speed
- property:
- value: 77000
- type: int64_t
- factor:
- value: 1000
- type: int64_t
- delta:
- value: 40
- type: uint64_t
- timer:
- interval: 5
+ - name: speed_control_sensors
+ groups:
+ - name: zone0_regulators
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_pcie
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_gpu_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_gpu_memory
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ - name: signal
+ signal: interfacesRemoved
+ handler: removeInterface
+ - name: fails_before_high_speed_air
+ groups:
+ - name: zone0_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ - name: zone0_gpu_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ - name: zone0_gpu_memory
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: count_state_before_speed
+ count: 1
+ property:
+ value: false
+ type: bool
+ speed:
+ value: 10500
+ type: uint64_t
+ - name: 1sec_speed_change_request_sampling
+ triggers:
+ - name: timer
+ interval: 1000000
+ type: repeating
+ actions:
+ # Speed changes based on regulator temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_regulators
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 85000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 400
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_regulators
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 82000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 40
+ type: uint64_t
+ # Speed changes based on pcie temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_pcie
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 55000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 400
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_pcie
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 52000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 40
+ type: uint64_t
+ # Speed changes based on core temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 73000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 400
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 70000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 40
+ type: uint64_t
+ # Speed changes based on dimm temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 64000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 200
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 61000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 40
+ type: uint64_t
+ # Speed changes based on gpu core temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_gpu_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 78000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 600
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_gpu_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 75000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 40
+ type: uint64_t
+ # Speed changes based on gpu memory temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_gpu_memory
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 80000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 600
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_gpu_memory
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 77000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 40
+ type: uint64_t
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/witherspoon/fans.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/witherspoon/fans.yaml
index a70ac85a3..a70ac85a3 100755..100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/witherspoon/fans.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/witherspoon/fans.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/swift/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/swift/monitor.yaml
new file mode 100644
index 000000000..2c93e65c8
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/swift/monitor.yaml
@@ -0,0 +1,36 @@
+fans:
+ - inventory: /system/chassis/motherboard/fan0
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan0_0
+ has_target: true
+
+ - inventory: /system/chassis/motherboard/fan1
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan1_0
+ has_target: true
+
+ - inventory: /system/chassis/motherboard/fan2
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan2_0
+ has_target: true
+
+ - inventory: /system/chassis/motherboard/fan3
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan3_0
+ has_target: true
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/swift/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/swift/config.yaml
new file mode 100644
index 000000000..20dc31c40
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/swift/config.yaml
@@ -0,0 +1,62 @@
+- name: fan0
+ path: /system/chassis/motherboard/fan0
+ methods:
+ - type: gpio
+ key: 5
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+ - type: tach
+ sensors:
+ - fan0_0
+ rpolicy:
+ type: anyof
+
+- name: fan1
+ path: /system/chassis/motherboard/fan1
+ methods:
+ - type: gpio
+ key: 6
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+ - type: tach
+ sensors:
+ - fan1_0
+ rpolicy:
+ type: anyof
+
+- name: fan2
+ path: /system/chassis/motherboard/fan2
+ methods:
+ - type: gpio
+ key: 7
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+ - type: tach
+ sensors:
+ - fan2_0
+ rpolicy:
+ type: anyof
+
+- name: fan3
+ path: /system/chassis/motherboard/fan3
+ methods:
+ - type: gpio
+ key: 8
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+ - type: tach
+ sensors:
+ - fan3_0
+ rpolicy:
+ type: anyof
+
+# Boost fan presence
+- name: fan4
+ path: /system/chassis/motherboard/fan4
+ methods:
+ - type: gpio
+ key: 9
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+ rpolicy:
+ type: anyof
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend
index 58c1a5f9d..88c32ffa6 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -1,24 +1,24 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
# Package configuration
-FAN_PACKAGES += " \
+FAN_PACKAGES_append_ibm-ac-server = " \
phosphor-cooling-type \
"
-PACKAGECONFIG += "cooling-type"
+PACKAGECONFIG_append_ibm-ac-server = " cooling-type"
TMPL_COOLING = "phosphor-cooling-type@.service"
INSTFMT_COOLING = "phosphor-cooling-type@{0}.service"
COOLING_TGT = "multi-user.target"
FMT_COOLING = "../${TMPL_COOLING}:${COOLING_TGT}.requires/${INSTFMT_COOLING}"
-FILES_phosphor-cooling-type = "${bindir}/phosphor-cooling-type"
-SYSTEMD_SERVICE_phosphor-cooling-type += "${TMPL_COOLING}"
-SYSTEMD_LINK_phosphor-cooling-type += "${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}"
+FILES_phosphor-cooling-type_append_ibm-ac-server = " ${bindir}/phosphor-cooling-type"
+SYSTEMD_SERVICE_phosphor-cooling-type_append_ibm-ac-server = " ${TMPL_COOLING}"
+SYSTEMD_LINK_phosphor-cooling-type_append_ibm-ac-server = " ${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}"
COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf"
-SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type += "${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_ibm-ac-server = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
#These services are protected by the watchdog
SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-monitor-config/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-monitor-config/monitor.yaml
deleted file mode 100644
index 5b9856c46..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-monitor-config/monitor.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-# TODO: Populate with https://github.com/ibm-openbmc/dev/issues/601
-# Placeholder
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-presence-config/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-presence-config/config.yaml
deleted file mode 100644
index 5b9856c46..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-presence-config/config.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-# TODO: Populate with https://github.com/ibm-openbmc/dev/issues/601
-# Placeholder
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/flash/openpower-software-manager_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/flash/openpower-software-manager_%.bbappend
index 3dcc25dd7..197e4049c 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/flash/openpower-software-manager_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/flash/openpower-software-manager_%.bbappend
@@ -1 +1 @@
-PACKAGECONFIG_append_df-openpower-ubi-fs = " verify_pnor_signature"
+PACKAGECONFIG_append_ibm-ac-server = " verify_pnor_signature"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
index b58fc3b06..e106fac15 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
@@ -1,9 +1,9 @@
-BMC_RW_MTD = "bmc"
-BMC_RO_MTD = "alt-bmc+bmc"
-BMC_KERNEL_MTD = "bmc"
+BMC_RW_MTD_ibm-ac-server = "bmc"
+BMC_RO_MTD_ibm-ac-server = "alt-bmc+bmc"
+BMC_KERNEL_MTD_ibm-ac-server = "bmc"
-# Enable signature verification by DISTRO_FEATURE obmc-ubi-fs
-PACKAGECONFIG_append_df-obmc-ubi-fs = " verify_signature"
+# Enable signature verification
+PACKAGECONFIG_append_ibm-ac-server = " verify_signature"
# Enable sync of persistent files to the alternate BMC chip
-PACKAGECONFIG_append_df-obmc-ubi-fs = " sync_bmc_files"
+PACKAGECONFIG_append_ibm-ac-server = " sync_bmc_files"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
index f5a358200..032056c26 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -5,8 +5,8 @@ INSTFMT_POWERSUPPLY = "phosphor-gpio-presence@{0}.service"
POWERSUPPLY_TGT = "multi-user.target"
FMT_POWERSUPPLY = "../${TMPL_POWERSUPPLY}:${POWERSUPPLY_TGT}.requires/${INSTFMT_POWERSUPPLY}"
-SYSTEMD_LINK_${PN}-presence += "${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}"
+SYSTEMD_LINK_${PN}-presence_append_ibm-ac-server = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}"
POWERSUPPLY_ENV_FMT = "obmc/gpio/phosphor-power-supply-{0}.conf"
-SYSTEMD_ENVIRONMENT_FILE_${PN}-presence += "${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_ibm-ac-server = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/host/p9-host-start.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/host/p9-host-start.bbappend
index 4cac4903f..3ae8bcb96 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/host/p9-host-start.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/host/p9-host-start.bbappend
@@ -1,3 +1,4 @@
-RDEPENDS_${PN} += 'avsbus-control'
-RDEPENDS_${PN} += 'vrm-control'
-RDEPENDS_${PN}_remove += "p9-vcs-workaround"
+RDEPENDS_${PN}_append_witherspoon = " avsbus-control"
+RDEPENDS_${PN}_append_witherspoon = " vrm-control"
+RDEPENDS_${PN}_append_ibm-ac-server = " power-workarounds"
+RDEPENDS_${PN}_remove_ibm-ac-server = "p9-vcs-workaround"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/images/obmc-phosphor-image.bbappend
index aa7e786c0..ab45d557e 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -1 +1 @@
-OBMC_IMAGE_EXTRA_INSTALL_append = " mboxd max31785-msl phosphor-msl-verify liberation-fonts uart-render-controller first-boot-set-mac"
+OBMC_IMAGE_EXTRA_INSTALL_append_ibm-ac-server = " mboxd max31785-msl phosphor-msl-verify liberation-fonts uart-render-controller first-boot-set-mac first-boot-set-hostname"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json
index a86a65d5b..bea5269ab 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json
@@ -7,7 +7,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -21,7 +21,7 @@
"types":
{
"rType": "chassis",
- "fType": "sensors"
+ "fType": "all_sensors"
},
"paths":
[
@@ -52,7 +52,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -66,7 +66,7 @@
"types":
{
"rType": "chassis",
- "fType": "sensors"
+ "fType": "all_sensors"
},
"paths":
[
@@ -98,7 +98,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -127,7 +127,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -156,7 +156,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -185,7 +185,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -214,7 +214,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -279,7 +279,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -297,7 +297,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -315,7 +315,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -333,7 +333,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -351,7 +351,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -369,7 +369,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -387,7 +387,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -404,7 +404,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -421,7 +421,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -438,7 +438,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -455,7 +455,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -472,7 +472,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -489,7 +489,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -506,7 +506,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -523,7 +523,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -540,7 +540,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -557,7 +557,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -574,7 +574,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -591,7 +591,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -608,7 +608,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -625,7 +625,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -642,7 +642,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -659,7 +659,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -676,7 +676,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -693,7 +693,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -710,7 +710,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -727,7 +727,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -744,7 +744,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -761,7 +761,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -778,7 +778,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -796,7 +796,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -813,7 +813,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -830,7 +830,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -847,7 +847,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -864,7 +864,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -881,7 +881,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -898,7 +898,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -915,7 +915,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -932,7 +932,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -949,7 +949,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -966,7 +966,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -983,7 +983,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1000,7 +1000,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1017,7 +1017,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1034,7 +1034,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1051,7 +1051,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1068,7 +1068,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1085,7 +1085,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1102,7 +1102,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1119,7 +1119,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1136,7 +1136,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1153,7 +1153,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1170,7 +1170,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1187,7 +1187,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1205,7 +1205,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1222,7 +1222,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1239,7 +1239,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1256,7 +1256,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1273,7 +1273,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1290,7 +1290,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1307,7 +1307,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1324,7 +1324,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1341,7 +1341,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1358,7 +1358,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1375,7 +1375,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1392,7 +1392,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1409,7 +1409,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1426,7 +1426,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1443,7 +1443,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1460,7 +1460,7 @@
"types":
{
"rType": "inventory",
- "fType": "child_sensors"
+ "fType": "sensors"
},
"paths":
[
@@ -1477,7 +1477,7 @@
"types":
{
"rType": "chassis",
- "fType": "sensors"
+ "fType": "all_sensors"
},
"paths":
[
@@ -1597,7 +1597,9 @@
"/xyz/openbmc_project/sensors/current/p1_vcs_current",
"/xyz/openbmc_project/sensors/current/p1_vddr_current",
"/xyz/openbmc_project/sensors/current/p1_vdd_current",
- "/xyz/openbmc_project/sensors/current/p1_vdn_current"
+ "/xyz/openbmc_project/sensors/current/p1_vdn_current",
+
+ "/xyz/openbmc_project/sensors/power/total_power"
]
}
]
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
index 39f87342e..bdc3912d5 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
@@ -1,11 +1,11 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-PACKAGECONFIG_append = " associations"
-SRC_URI += "file://associations.json"
+PACKAGECONFIG_append_ibm-ac-server = " associations"
+SRC_URI_append_ibm-ac-server = " file://associations.json"
-DEPENDS_append = " inventory-cleanup"
+DEPENDS_append_ibm-ac-server = " inventory-cleanup"
-do_install_append() {
+do_install_append_ibm-ac-server() {
install -d ${D}${base_datadir}
install -m 0755 ${WORKDIR}/associations.json ${D}${base_datadir}/associations.json
}
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
new file mode 100644
index 000000000..ae379af3f
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append_ibm-ac-server = " acx22-yaml-config"
+
+EXTRA_OECONF_ibm-ac-server = " \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
+ "
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
index 3256e834a..e3e5002bb 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
@@ -16,7 +16,7 @@ inherit image_version
unset do_patch[noexec]
do_patch[depends] = "os-release:do_populate_sysroot"
-python do_patch() {
+python do_patch_ibm-ac-server() {
import json
import re
from shutil import copyfile
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/dcmi_sensors.json
index 837071398..837071398 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/dcmi_sensors.json
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/dev_id.json
index 6cd9a94b3..6cd9a94b3 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/dev_id.json
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/power_reading.json b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/power_reading.json
index 97e8f32b5..97e8f32b5 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/power_reading.json
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/power_reading.json
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native/fru-config-not-sent-by-host.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native/fru-config-not-sent-by-host.yaml
deleted file mode 100644
index 65c02b64b..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native/fru-config-not-sent-by-host.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-20:
- /system/chassis/motherboard/gv100card0: &DEFAULTS
- entityInstance: 1
- entityID: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Board Name
- IPMIFruSection: Board
-21:
- /system/chassis/motherboard/gv100card1:
- <<: *DEFAULTS
- entityInstance: 2
-22:
- /system/chassis/motherboard/gv100card2:
- <<: *DEFAULTS
- entityInstance: 3
-23:
- /system/chassis/motherboard/gv100card3:
- <<: *DEFAULTS
- entityInstance: 4
-24:
- /system/chassis/motherboard/gv100card4:
- <<: *DEFAULTS
- entityInstance: 5
-25:
- /system/chassis/motherboard/gv100card5:
- <<: *DEFAULTS
- entityInstance: 6
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..2da9493df
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_ibm-ac-server = " acx22-yaml-config"
+
+EXTRA_OECONF_ibm-ac-server = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-fru-read.yaml \
+ PROP_YAML=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-extra-properties.yaml \
+ "
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/hwmon_sensors.hardcoded.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/hwmon_sensors.hardcoded.yaml
deleted file mode 100644
index 8e0634f13..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/hwmon_sensors.hardcoded.yaml
+++ /dev/null
@@ -1,485 +0,0 @@
-0xdd:
- entityID: 0x1D
- entityInstance: 1
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan0_0
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xdf:
- entityID: 0x1D
- entityInstance: 3
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan1_0
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xe3:
- entityID: 0x1D
- entityInstance: 5
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan2_0
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xe5:
- entityID: 0x1D
- entityInstance: 7
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan3_0
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xe7:
- entityID: 0x0A
- entityInstance: 1
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/fan_disk_power
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xee:
- entityID: 0x0A
- entityInstance: 9
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/p0_io_power
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xef:
- entityID: 0x0A
- entityInstance: 10
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/p1_io_power
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf0:
- entityID: 0x0A
- entityInstance: 11
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/p0_mem_power
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf1:
- entityID: 0x0A
- entityInstance: 12
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/p1_mem_power
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf2:
- entityID: 0x0A
- entityInstance: 13
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/p0_power
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf3:
- entityID: 0x0A
- entityInstance: 14
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/p1_power
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-
-0xf4:
- entityID: 0x0A
- entityInstance: 15
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/ps0_input_power
- sensorReadingType: 0x01
- multiplierM: 10
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf5:
- entityID: 0x0A
- entityInstance: 16
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/ps1_input_power
- sensorReadingType: 0x01
- multiplierM: 10
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf6:
- entityID: 0x0A
- entityInstance: 17
- sensorType: 0x08
- path: /xyz/openbmc_project/sensors/power/total_power
- sensorReadingType: 0x01
- multiplierM: 20
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Watts
- scale: -6
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf7:
- entityID: 0x0A
- entityInstance: 19
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/ps0_input_voltage
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf8:
- entityID: 0x0A
- entityInstance: 20
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/ps1_input_voltage
- sensorReadingType: 0x01
- multiplierM: 2
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xf9:
- entityID: 0x0A
- entityInstance: 21
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/ps0_output_voltage
- sensorReadingType: 0x01
- multiplierM: 10
- offsetB: 0
- bExp: 0
- rExp: -2
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xfa:
- entityID: 0x0A
- entityInstance: 22
- sensorType: 0x02
- path: /xyz/openbmc_project/sensors/voltage/ps1_output_voltage
- sensorReadingType: 0x01
- multiplierM: 10
- offsetB: 0
- bExp: 0
- rExp: -2
- unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xfb:
- entityID: 0x0A
- entityInstance: 23
- sensorType: 0x03
- path: /xyz/openbmc_project/sensors/current/ps0_output_current
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xfc:
- entityID: 0x0A
- entityInstance: 24
- sensorType: 0x03
- path: /xyz/openbmc_project/sensors/current/ps1_output_current
- sensorReadingType: 0x01
- multiplierM: 1
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xfd:
- entityID: 0x23
- entityInstance: 1
- sensorType: 0x01
- path: /xyz/openbmc_project/sensors/temperature/pcie
- sensorReadingType: 0x01
- multiplierM: 30
- offsetB: 0
- bExp: 0
- rExp: -2
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xfe:
- entityID: 0x40
- entityInstance: 1
- sensorType: 0x01
- path: /xyz/openbmc_project/sensors/temperature/ambient
- sensorReadingType: 0x01
- multiplierM: 20
- offsetB: 0
- bExp: 0
- rExp: -2
- unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
- scale: -3
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/occ_sensors.hardcoded.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/occ_sensors.hardcoded.yaml
deleted file mode 100644
index a52a8f042..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/occ_sensors.hardcoded.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-0x08:
- entityID: 0xD2
- entityInstance: 1
- sensorType: 0x09
- path: /org/open_power/control/occ0
- sensorReadingType: 0x09
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: assertion
- mutability: Mutability::Write|Mutability::Read
- sensorNamePattern: nameLeaf
- interfaces:
- org.open_power.OCC.Status:
- OccActive:
- Offsets:
- 0x00:
- assert: false
- deassert: true
- type: bool
- 0x01:
- assert: true
- deassert: false
- type: bool
-0x09:
- entityID: 0xD2
- entityInstance: 2
- sensorType: 0x09
- path: /org/open_power/control/occ1
- sensorReadingType: 0x09
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: assertion
- mutability: Mutability::Write|Mutability::Read
- sensorNamePattern: nameLeaf
- interfaces:
- org.open_power.OCC.Status:
- OccActive:
- Offsets:
- 0x00:
- assert: false
- deassert: true
- type: bool
- 0x01:
- assert: true
- deassert: false
- type: bool
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/witherspoon_hwmon_sensors.hardcoded.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/witherspoon_hwmon_sensors.hardcoded.yaml
deleted file mode 100644
index 69c4ccdfc..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/witherspoon_hwmon_sensors.hardcoded.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
-0xde:
- entityID: 0x1D
- entityInstance: 2
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan0_1
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xe2:
- entityID: 0x1D
- entityInstance: 4
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan1_1
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xe4:
- entityID: 0x1D
- entityInstance: 6
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan2_1
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
-0xe6:
- entityID: 0x1D
- entityInstance: 8
- sensorType: 0x04
- path: /xyz/openbmc_project/sensors/fan_tach/fan3_1
- sensorReadingType: 0x01
- multiplierM: 100
- offsetB: 0
- bExp: 0
- rExp: 0
- unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
- scale: 0
- serviceInterface: org.freedesktop.DBus.Properties
- readingType: readingData
- sensorNamePattern: nameLeaf
- interfaces:
- xyz.openbmc_project.Sensor.Value:
- Value:
- Offsets:
- 0xFF:
- type: int64_t
-
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
index bb28054c6..3fdcada43 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -1,10 +1,7 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI_append = " \
- file://occ_sensors.hardcoded.yaml \
- file://hwmon_sensors.hardcoded.yaml \
- "
+DEPENDS_append_ibm-ac-server = " acx22-yaml-config"
-# System-specific sensors
-SRC_URI_append_witherspoon = " \
- file://witherspoon_hwmon_sensors.hardcoded.yaml \
- "
+EXTRA_OECONF_ibm-ac-server = " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-sensors.yaml \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/policyTable.json b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/ibm-ac-server/policyTable.json
index 80bfbcfd9..80bfbcfd9 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/policyTable.json
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/ibm-ac-server/policyTable.json
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging_%.bbappend
index 913a0e8bc..9b7806995 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging_%.bbappend
@@ -1,2 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-PACKAGECONFIG += "policy-interface"
+PACKAGECONFIG_append_ibm-ac-server = " policy-interface"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend
index ac35ae9b4..69c9d1d54 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend
@@ -1,12 +1,12 @@
-MBOXD_FLASH_SIZE = "64M"
+MBOXD_FLASH_SIZE_ibm-ac-server = "64M"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SYSTEMD_SERVICE_${PN} += "check-pnor-format.service"
+SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " check-pnor-format.service"
-SRC_URI += "file://check_pnor_format.sh"
+SRC_URI_append_ibm-ac-server = " file://check_pnor_format.sh"
-do_install_append() {
+do_install_append_ibm-ac-server() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/check_pnor_format.sh ${D}${bindir}/check_pnor_format.sh
}
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/network/first-boot-set-mac_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/network/first-boot-set-mac_%.bbappend
index 29d23c8c4..cb167ee3f 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/network/first-boot-set-mac_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/network/first-boot-set-mac_%.bbappend
@@ -1 +1 @@
-SYSTEMD_SERVICE_${PN} += "first-boot-set-mac@eth0.service"
+SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " first-boot-set-mac@eth0.service"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/network/phosphor-network_%.bbappend
index 5137f4e00..ba6e393bb 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/network/phosphor-network_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/network/phosphor-network_%.bbappend
@@ -1,8 +1,8 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/network:"
-SRC_URI += "file://ncsi-netlink.service"
-SYSTEMD_SERVICE_${PN} += "ncsi-netlink.service"
+SRC_URI_append_ibm-ac-server = " file://ncsi-netlink.service"
+SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " ncsi-netlink.service"
-do_install_append() {
+do_install_append_ibm-ac-server() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/ncsi-netlink.service ${D}${systemd_system_unitdir}
}
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 6e0db1e62..386c1e6ec 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -1,5 +1,5 @@
-RDEPENDS_${PN}-inventory += "openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence"
-RDEPENDS_${PN}-fan-control += "witherspoon-fan-watchdog"
-RDEPENDS_${PN}-extras += "witherspoon-pfault-analysis witherspoon-power-supply-sync phosphor-webui"
+RDEPENDS_${PN}-inventory_append_ibm-ac-server = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence"
+RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " witherspoon-fan-watchdog"
+RDEPENDS_${PN}-extras_append_ibm-ac-server = " witherspoon-pfault-analysis witherspoon-power-supply-sync phosphor-webui"
-${PN}-software-extras_df-obmc-ubi-fs += "phosphor-software-manager-sync"
+${PN}-software-extras_append_ibm-ac-server = " phosphor-software-manager-sync"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml
index 66f8a92b6..e14640202 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml
@@ -52,7 +52,7 @@
GPIOAnalysis:
- type: gpuPGOOD
# The PCA9xxx chip device path and address (0xC0 8-bit = 0x60 7-bit)
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-8/8-0060
+ path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0060
gpio_value: low # What GPIO value indicates a fault/problem?
error_function: gpuPGOODError # Extra analysis function to call for this type
option_flags: none
@@ -72,7 +72,7 @@
callout: /system/chassis/motherboard/gv100card3
- type: gpuOverTemp
# The PCA9xxx chip device path and address (0xC0 8-bit = 0x60 7-bit)
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-8/8-0060
+ path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0060
gpio_value: low # What GPIO value indicates a fault/problem?
error_function: gpuOverTempError # Extra analysis function to call for this type
option_flags: shutdownOnFault
@@ -92,7 +92,7 @@
callout: /system/chassis/motherboard/gv100card3
- type: memGOOD0
# The PCA9xxx chip device path and address (0xE8 8-bit = 0x74 7-bit)
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-9/9-0074
+ path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a380.i2c-bus/i2c-9/9-0074
gpio_value: low # What GPIO value indicates a fault/problem?
error_function: memGoodError # Extra analysis function to call for this type
option_flags: none
@@ -136,7 +136,7 @@
callout: /system/chassis/motherboard/dimm6
- type: memGOOD1
# The PCA9xxx chip device path and address (0xE8 8-bit = 0x74 7-bit)
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-10/10-0074
+ path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a3c0.i2c-bus/i2c-10/10-0074
gpio_value: low # What GPIO value indicates a fault/problem?
error_function: memGoodError # Extra analysis function to call for this type
option_flags: none
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis.inc b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis.inc
index db7c16e5d..b73d922d0 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis.inc
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/witherspoon-pfault-analysis"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/witherspoon-pfault-analysis"
-SRCREV = "03c19db6a8f72d7f5408667a7daf915d82190efc"
+SRCREV = "5b2964fa8e57c46d60c0c0d95d5668c9f9a5ce23"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/obmc/power-supply-monitor/power-supply-monitor-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf
index 167e605d0..167e605d0 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/obmc/power-supply-monitor/power-supply-monitor-0.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/swift/obmc/power-supply-monitor/power-supply-monitor-0.conf
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/obmc/power-supply-monitor/power-supply-monitor-1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf
index faa5adec6..faa5adec6 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/obmc/power-supply-monitor/power-supply-monitor-1.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/swift/obmc/power-supply-monitor/power-supply-monitor-1.conf
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf
new file mode 100644
index 000000000..d6732e6b8
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-0.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0069
+INSTANCE=0
+INVENTORY=/system/chassis/motherboard/powersupply0
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=105
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf
new file mode 100644
index 000000000..cace335b1
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis/witherspoon/obmc/power-supply-monitor/power-supply-monitor-1.conf
@@ -0,0 +1,6 @@
+DEVPATH=/sys/bus/i2c/devices/3-0068
+INSTANCE=1
+INVENTORY=/system/chassis/motherboard/powersupply1
+NUM_HISTORY_RECORDS=120
+SYNC_GPIO_PATH=/dev/gpiochip0
+SYNC_GPIO_NUM=105
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules
index fd63e0549..fd63e0549 100755..100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-max31785-hwmon.rules
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/ibm-ac-server/70-hwmon.rules
index 548b219e7..548b219e7 100755..100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/ibm-ac-server/70-hwmon.rules
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
index cddafc1a2..0b97ed559 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
@@ -1,17 +1,9 @@
LABEL_fan1 = "fan0_0"
-CRITLO_fan1 = "3000"
-CRITHI_fan1 = "12000"
LABEL_fan2 = "fan1_0"
-CRITLO_fan2 = "3000"
-CRITHI_fan2 = "12000"
LABEL_fan3 = "fan2_0"
-CRITLO_fan3 = "3000"
-CRITHI_fan3 = "12000"
LABEL_fan4 = "fan3_0"
-CRITLO_fan4 = "3000"
-CRITHI_fan4 = "12000"
TARGET_MODE = "RPM"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
index cddafc1a2..0b97ed559 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/swift/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
@@ -1,17 +1,9 @@
LABEL_fan1 = "fan0_0"
-CRITLO_fan1 = "3000"
-CRITHI_fan1 = "12000"
LABEL_fan2 = "fan1_0"
-CRITLO_fan2 = "3000"
-CRITHI_fan2 = "12000"
LABEL_fan3 = "fan2_0"
-CRITLO_fan3 = "3000"
-CRITHI_fan3 = "12000"
LABEL_fan4 = "fan3_0"
-CRITLO_fan4 = "3000"
-CRITHI_fan4 = "12000"
TARGET_MODE = "RPM"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
index 0aafc9b14..d3df21599 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_air.conf
@@ -1,33 +1,17 @@
LABEL_fan1 = "fan0_0"
-CRITLO_fan1 = "2974"
-CRITHI_fan1 = "12076"
LABEL_fan2 = "fan1_0"
-CRITLO_fan2 = "2974"
-CRITHI_fan2 = "12076"
LABEL_fan3 = "fan2_0"
-CRITLO_fan3 = "2974"
-CRITHI_fan3 = "12076"
LABEL_fan4 = "fan3_0"
-CRITLO_fan4 = "2974"
-CRITHI_fan4 = "12076"
LABEL_fan5 = "fan0_1"
-CRITLO_fan5 = "2974"
-CRITHI_fan5 = "12076"
LABEL_fan6 = "fan1_1"
-CRITLO_fan6 = "2974"
-CRITHI_fan6 = "12076"
LABEL_fan7 = "fan2_1"
-CRITLO_fan7 = "2974"
-CRITHI_fan7 = "12076"
LABEL_fan8 = "fan3_1"
-CRITLO_fan8 = "2974"
-CRITHI_fan8 = "12076"
TARGET_MODE = "RPM"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
index 5c0efe420..c96bfa76b 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/max31785@52_water.conf
@@ -1,25 +1,13 @@
LABEL_fan1 = "fan0_0"
-CRITLO_fan1 = "2549"
-CRITHI_fan1 = "12076"
LABEL_fan3 = "fan2_0"
-CRITLO_fan3 = "2549"
-CRITHI_fan3 = "12076"
LABEL_fan4 = "fan3_0"
-CRITLO_fan4 = "2549"
-CRITHI_fan4 = "12076"
LABEL_fan5 = "fan0_1"
-CRITLO_fan5 = "2549"
-CRITHI_fan5 = "12076"
LABEL_fan7 = "fan2_1"
-CRITLO_fan7 = "2549"
-CRITHI_fan7 = "12076"
LABEL_fan8 = "fan3_1"
-CRITLO_fan8 = "2549"
-CRITHI_fan8 = "12076"
TARGET_MODE = "RPM"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
index 993ca281f..d9d606bd2 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI += " \
+SRC_URI_append_ibm-ac-server = " \
file://70-hwmon.rules \
file://70-max31785-hwmon.rules \
file://start_max31785_hwmon.sh \
@@ -46,15 +46,15 @@ OCCSFMT = "devices/platform/gpio-fsi/fsi0/slave@00--00/{0}.conf"
OCCITEMS = "${@compose_list(d, 'OCCSFMT', 'OCCS')}"
ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE_${PN} += "${@compose_list(d, 'ENVS', 'ITEMS')}"
-SYSTEMD_ENVIRONMENT_FILE_${PN}_append = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}"
-SYSTEMD_ENVIRONMENT_FILE_max31785-msl += "obmc/hwmon-max31785/max31785.conf"
-SYSTEMD_LINK_max31785-msl += "../phosphor-max31785-msl@.service:multi-user.target.wants/phosphor-max31785-msl@${MACHINE}.service"
+SYSTEMD_ENVIRONMENT_FILE_max31785-msl_append_ibm-ac-server = " obmc/hwmon-max31785/max31785.conf"
+SYSTEMD_LINK_max31785-msl_append_ibm-ac-server = " ../phosphor-max31785-msl@.service:multi-user.target.wants/phosphor-max31785-msl@${MACHINE}.service"
-SYSTEMD_SERVICE_${PN} += "max31785-hwmon-helper@.service"
+SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " max31785-hwmon-helper@.service"
-do_install_append() {
+do_install_append_ibm-ac-server() {
install -d ${D}/${base_libdir}/udev/rules.d/
install ${WORKDIR}/70-max31785-hwmon.rules ${D}/${base_libdir}/udev/rules.d/
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
index 02c0e94b4..99f7ffdef 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
@@ -1,2 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI_append = " file://TPMEnable-default-true.override.yml"
+SRC_URI_append_ibm-ac-server = " file://TPMEnable-default-true.override.yml"
diff --git a/meta-ibm/recipes-phosphor/bmcweb/bmcweb_%.bbappend b/meta-ibm/recipes-phosphor/bmcweb/bmcweb_%.bbappend
new file mode 100644
index 000000000..44f4f4695
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/bmcweb/bmcweb_%.bbappend
@@ -0,0 +1,3 @@
+EXTRA_OECMAKE_append = " \
+ -DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE=ON \
+"
diff --git a/meta-ibm/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-ibm/recipes-phosphor/image/obmc-phosphor-image.bbappend
deleted file mode 100644
index bda681ede..000000000
--- a/meta-ibm/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-OBMC_IMAGE_EXTRA_INSTALL_append = "\
- phosphor-nslcd-cert-config \
- phosphor-nslcd-authority-cert-config \
- "
diff --git a/meta-ingrasys/meta-zaius/conf/distro/openbmc-zaius.conf b/meta-ingrasys/meta-zaius/conf/distro/openbmc-zaius.conf
new file mode 100644
index 000000000..854e0fb7b
--- /dev/null
+++ b/meta-ingrasys/meta-zaius/conf/distro/openbmc-zaius.conf
@@ -0,0 +1,2 @@
+require conf/distro/openbmc-openpower.conf
+require conf/distro/include/phosphor-aspeednic-use-mac2.inc
diff --git a/meta-ingrasys/meta-zaius/conf/local.conf.sample b/meta-ingrasys/meta-zaius/conf/local.conf.sample
index c7ccc92b3..d09389ea7 100644
--- a/meta-ingrasys/meta-zaius/conf/local.conf.sample
+++ b/meta-ingrasys/meta-zaius/conf/local.conf.sample
@@ -1,5 +1,5 @@
MACHINE ??= "zaius"
-DISTRO ?= "openbmc-openpower"
+DISTRO ?= "openbmc-zaius"
PACKAGE_CLASSES ?= "package_rpm"
SANITY_TESTED_DISTROS_append ?= " *"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
diff --git a/meta-ingrasys/meta-zaius/conf/machine/zaius.conf b/meta-ingrasys/meta-zaius/conf/machine/zaius.conf
index 8dfb1d8d4..38713cdf8 100644
--- a/meta-ingrasys/meta-zaius/conf/machine/zaius.conf
+++ b/meta-ingrasys/meta-zaius/conf/machine/zaius.conf
@@ -6,9 +6,6 @@ UBOOT_MACHINE = "ast_g5_ncsi_config"
FLASH_SIZE = "65536"
PREFERRED_PROVIDER_virtual/p9-vcs-workaround = 'vcs-control'
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "zaius-ipmi-inventory-map-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-properties = "zaius-ipmi-fru-properties-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory = "zaius-ipmi-sensor-inventory-native"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
diff --git a/meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend b/meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
index 1686be066..ddd2ff8d2 100644
--- a/meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
+++ b/meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
@@ -1,3 +1,2 @@
FILESEXTRAPATHS_prepend_zaius := "${THISDIR}/${PN}:"
-SRC_URI_append_zaius = " file://0001-board-aspeed-Add-reset_phy-for-Zaius.patch \
- file://0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch"
+SRC_URI_append_zaius = " file://0001-board-aspeed-Add-reset_phy-for-Zaius.patch"
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb
new file mode 100644
index 000000000..98dbc15b2
--- /dev/null
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb
@@ -0,0 +1,31 @@
+SUMMARY = "YAML configuration for Zaius"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INGRASYSBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit allarch
+
+SRC_URI = " \
+ file://zaius-ipmi-fru.yaml \
+ file://zaius-ipmi-fru-properties.yaml \
+ file://zaius-ipmi-sensors.yaml \
+ "
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -m 0644 -D zaius-ipmi-fru-properties.yaml \
+ ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
+ install -m 0644 -D zaius-ipmi-fru.yaml \
+ ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
+ install -m 0644 -D zaius-ipmi-sensors.yaml \
+ ${D}${datadir}/${BPN}/ipmi-sensors.yaml
+}
+
+FILES_${PN}-dev = " \
+ ${datadir}/${BPN}/ipmi-extra-properties.yaml \
+ ${datadir}/${BPN}/ipmi-fru-read.yaml \
+ ${datadir}/${BPN}/ipmi-sensors.yaml \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties/extra-properties.yaml b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-fru-properties.yaml
index bfe8e7e30..bfe8e7e30 100644
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties/extra-properties.yaml
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-fru-properties.yaml
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map/config.yaml b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-fru.yaml
index 8b32bd02e..8b32bd02e 100644
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map/config.yaml
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-fru.yaml
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory/config.yaml b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-sensors.yaml
index a7f1a7324..a7f1a7324 100644
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory/config.yaml
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config/zaius-ipmi-sensors.yaml
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..fce21406e
--- /dev/null
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_zaius = " zaius-yaml-config"
+
+EXTRA_OECONF_zaius = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/zaius-yaml-config/ipmi-fru-read.yaml \
+ PROP_YAML=${STAGING_DIR_HOST}${datadir}/zaius-yaml-config/ipmi-extra-properties.yaml \
+ "
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..468e2e175
--- /dev/null
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_zaius = " zaius-yaml-config"
+
+EXTRA_OECONF_zaius = " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/zaius-yaml-config/ipmi-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/zaius-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties-native.bb b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties-native.bb
deleted file mode 100644
index 28dc6218e..000000000
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-fru-properties-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "FRU properties config for ipmi-fru-parser"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://extra-properties.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-properties"
-
-S = "${WORKDIR}"
-
-do_install() {
- DEST=${D}${properties_datadir}
- install -d ${DEST}
- install extra-properties.yaml ${DEST}
-}
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map-native.bb b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map-native.bb
deleted file mode 100644
index e0ccc28b2..000000000
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-inventory-map-native.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Zaius IPMI to DBus Inventory mapping."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INGRASYSBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- # TODO: install this to inventory_datadir
- # after ipmi-fru-parser untangles the host
- # firmware config from the machine inventory.
- DEST=${D}${config_datadir}
-
- install -d ${DEST}
- install config.yaml ${DEST}
-}
-
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory-native.bb b/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory-native.bb
deleted file mode 100644
index 438249f82..000000000
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/ipmi/zaius-ipmi-sensor-inventory-native.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Sensor config for phosphor-host-ipmi"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-PROVIDES += "virtual/phosphor-ipmi-sensor-inventory"
-
-SRC_URI += "file://config.yaml"
-
-S = "${WORKDIR}"
-
-do_install() {
- DEST=${D}${sensor_datadir}
- install -d ${DEST}
- install config.yaml ${DEST}/sensor.yaml
-}
diff --git a/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf
index 2570a9a19..854e0fb7b 100644
--- a/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf
+++ b/meta-inspur/meta-fp5280g2/conf/distro/openbmc-fp5280g2.conf
@@ -1 +1,2 @@
require conf/distro/openbmc-openpower.conf
+require conf/distro/include/phosphor-aspeednic-use-mac2.inc
diff --git a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
index 2e754bc1f..22eedaf2e 100644
--- a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
+++ b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
@@ -4,6 +4,8 @@ KERNEL_DEVICETREE = "${KMACHINE}-bmc-inspur-${MACHINE}.dtb"
UBOOT_MACHINE = "ast_g5_ncsi_config"
PREFERRED_PROVIDER_virtual/p9-vcs-workaround = ''
+PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout = "fp5280g2-openpower-fru-vpd-layout-native"
+PREFERRED_PROVIDER_virtual/openpower-fru-inventory = "fp5280g2-openpower-fru-inventory-native"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb
new file mode 100644
index 000000000..147f30988
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb
@@ -0,0 +1,38 @@
+SUMMARY = "YAML configuration for FP5280G2"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INSPURBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit allarch
+
+SRC_URI = " \
+ file://fp5280g2-ipmi-fru.yaml \
+ file://fp5280g2-ipmi-fru-bmc.yaml \
+ file://fp5280g2-ipmi-fru-properties.yaml \
+ file://fp5280g2-ipmi-inventory-sensors.yaml \
+ file://fp5280g2-ipmi-sensors.yaml \
+ "
+
+S = "${WORKDIR}"
+
+do_install() {
+ cat fp5280g2-ipmi-fru.yaml fp5280g2-ipmi-fru-bmc.yaml > fru-read.yaml
+
+ install -m 0644 -D fp5280g2-ipmi-fru-properties.yaml \
+ ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
+ install -m 0644 -D fru-read.yaml \
+ ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
+ install -m 0644 -D fp5280g2-ipmi-inventory-sensors.yaml \
+ ${D}${datadir}/${BPN}/ipmi-inventory-sensors.yaml
+ install -m 0644 -D fp5280g2-ipmi-sensors.yaml \
+ ${D}${datadir}/${BPN}/ipmi-sensors.yaml
+}
+
+FILES_${PN}-dev = " \
+ ${datadir}/${BPN}/ipmi-extra-properties.yaml \
+ ${datadir}/${BPN}/ipmi-fru-read.yaml \
+ ${datadir}/${BPN}/ipmi-inventory-sensors.yaml \
+ ${datadir}/${BPN}/ipmi-sensors.yaml \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory/bmc-fru-config.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-bmc.yaml
index 597368950..05287a0f1 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-read-bmc-inventory/bmc-fru-config.yaml
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-bmc.yaml
@@ -25,3 +25,13 @@
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
+53:
+ /system/chassis/motherboard/fan3:
+ entityID: 29
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties/extra-properties.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
index ae626ed05..a4eab8a6d 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-fru-properties/extra-properties.yaml
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
@@ -1,159 +1,140 @@
-/system/chassis/motherboard/cpu0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
+/system:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/cpu1:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
/system/chassis/motherboard:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system:
+/system/chassis/motherboard/cpu0:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/cpu1:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
/system/chassis/motherboard/dimm0:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
/system/chassis/motherboard/dimm1:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm2:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm3:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
+/system/chassis/motherboard/dimm10:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm4:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm5:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
+/system/chassis/motherboard/dimm11:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm6:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm7:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
+/system/chassis/motherboard/dimm12:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm8:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm9:
- xyz.openbmc_project.Inventory.Decorator.Replaceable:
- FieldReplaceable: 'true'
+/system/chassis/motherboard/dimm13:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
- xyz.openbmc_project.Inventory.Item:
- Present: 'true'
-
-/system/chassis/motherboard/dimm10:
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Decorator.Cacheable:
- Cached: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm11:
+/system/chassis/motherboard/dimm14:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/dimm15:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm12:
+/system/chassis/motherboard/dimm2:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/dimm3:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm13:
+/system/chassis/motherboard/dimm4:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/dimm5:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm14:
+/system/chassis/motherboard/dimm6:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/dimm7:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
-
-/system/chassis/motherboard/dimm15:
+/system/chassis/motherboard/dimm8:
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+/system/chassis/motherboard/dimm9:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml
new file mode 100644
index 000000000..19859fb2f
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru.yaml
@@ -0,0 +1,546 @@
+1:
+ /system/chassis/motherboard/cpu0:
+ entityID: 3
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Custom Field 2
+ IPMIFruSection: Board
+ IPMIFruValueDelimiter: 58
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+2:
+ /system/chassis/motherboard/cpu1:
+ entityID: 3
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Custom Field 2
+ IPMIFruSection: Board
+ IPMIFruValueDelimiter: 58
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+ Value: false
+3:
+ /system:
+ entityID: 6
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ Model:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Chassis
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Chassis
+ /system/chassis/motherboard/bmc:
+ entityID: 7
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Board
+4:
+ /system/chassis/motherboard/dimm0:
+ entityID: 32
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+5:
+ /system/chassis/motherboard/dimm1:
+ entityID: 32
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+6:
+ /system/chassis/motherboard/dimm2:
+ entityID: 32
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+7:
+ /system/chassis/motherboard/dimm3:
+ entityID: 32
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+8:
+ /system/chassis/motherboard/dimm4:
+ entityID: 32
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+9:
+ /system/chassis/motherboard/dimm5:
+ entityID: 32
+ entityInstance: 6
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+10:
+ /system/chassis/motherboard/dimm6:
+ entityID: 32
+ entityInstance: 7
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+11:
+ /system/chassis/motherboard/dimm7:
+ entityID: 32
+ entityInstance: 8
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+12:
+ /system/chassis/motherboard/dimm8:
+ entityID: 32
+ entityInstance: 9
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+13:
+ /system/chassis/motherboard/dimm9:
+ entityID: 32
+ entityInstance: 10
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+14:
+ /system/chassis/motherboard/dimm10:
+ entityID: 32
+ entityInstance: 11
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+15:
+ /system/chassis/motherboard/dimm11:
+ entityID: 32
+ entityInstance: 12
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+16:
+ /system/chassis/motherboard/dimm12:
+ entityID: 32
+ entityInstance: 13
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+17:
+ /system/chassis/motherboard/dimm13:
+ entityID: 32
+ entityInstance: 14
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+18:
+ /system/chassis/motherboard/dimm14:
+ entityID: 32
+ entityInstance: 15
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+19:
+ /system/chassis/motherboard/dimm15:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+20:
+ /system/chassis/motherboard/bmc/ethernet:
+ entityID: 7
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Item.NetworkInterface:
+ MACAddress:
+ IPMIFruProperty: MACAddress
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Item.Ethernet:
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-inventory-sensors.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-inventory-sensors.yaml
new file mode 100644
index 000000000..5f96f87c1
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-inventory-sensors.yaml
@@ -0,0 +1,340 @@
+/xyz/openbmc_project/inventory/system:
+ eventReadingType: 111
+ offset: 2
+ sensorID: 144
+ sensorType: 18
+/xyz/openbmc_project/inventory/system/chassis/motherboard:
+ eventReadingType: 3
+ offset: 0
+ sensorID: 140
+ sensorType: 199
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 8
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 43
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 44
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 53
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 54
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 55
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 56
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 57
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 58
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 59
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 60
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 61
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 62
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 45
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 63
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 64
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 65
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 66
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 46
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 47
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 48
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 49
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 50
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 51
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 52
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 9
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 67
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 68
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 77
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 78
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 79
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 80
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 81
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 82
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 83
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 84
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 85
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 86
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 69
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 87
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 88
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 89
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 90
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 70
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 71
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 72
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 73
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 74
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 75
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9:
+ eventReadingType: 111
+ offset: 8
+ sensorID: 76
+ sensorType: 7
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 11
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 12
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 21
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 22
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 23
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 24
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 25
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 26
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 13
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 14
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 15
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 16
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 17
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 18
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 19
+ sensorType: 12
+/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9:
+ eventReadingType: 111
+ offset: 4
+ sensorID: 20
+ sensorType: 12
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory/config.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-sensors.yaml
index 1938135e3..bd1059f90 100755..100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/romulus-ipmi-sensor-inventory/config.yaml
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-sensors.yaml
@@ -3558,3 +3558,618 @@
sensorReadingType: 111
sensorType: 31
serviceInterface: org.freedesktop.DBus.Properties
+151:
+ bExp: 0
+ entityID: 50
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Read
+ path: /xyz/openbmc_project/sensors/temperature/inlet
+ offsetB: 0
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+153:
+ bExp: 0
+ entityID: 50
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/outlet
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+155:
+ bExp: 0
+ entityID: 10
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 2
+ path: /xyz/openbmc_project/sensors/voltage/P3V3
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+157:
+ bExp: 0
+ entityID: 10
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 2
+ offsetB: 200
+ path: /xyz/openbmc_project/sensors/voltage/P5V
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+159:
+ bExp: 0
+ entityID: 10
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/voltage/P12V
+ multiplierM: 6
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+161:
+ bExp: 0
+ entityID: 10
+ entityInstance: 10
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDD_CPU0
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+162:
+ bExp: 0
+ entityID: 10
+ entityInstance: 11
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDD_CPU1
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+164:
+ bExp: 0
+ entityID: 10
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVCS_CPU0
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+165:
+ bExp: 0
+ entityID: 10
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/voltage/PVCS_CPU1
+ multiplierM: 6
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+167:
+ bExp: 0
+ entityID: 10
+ entityInstance: 12
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDN_CPU0
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+168:
+ bExp: 0
+ entityID: 10
+ entityInstance: 13
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDN_CPU1
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+169:
+ bExp: 0
+ entityID: 10
+ entityInstance: 14
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVIO_CPU0
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+170:
+ bExp: 0
+ entityID: 10
+ entityInstance: 15
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVIO_CPU1
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+171:
+ bExp: 0
+ entityID: 10
+ entityInstance: 6
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDDQ_CPU0_CH01
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+172:
+ bExp: 0
+ entityID: 10
+ entityInstance: 7
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDDQ_CPU0_CH67
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+173:
+ bExp: 0
+ entityID: 10
+ entityInstance: 8
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDDQ_CPU1_CH01
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+174:
+ bExp: 0
+ entityID: 10
+ entityInstance: 9
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 6
+ path: /xyz/openbmc_project/sensors/voltage/PVDDQ_CPU1_CH67
+ rExp: -3
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+205:
+ bExp: 0
+ entityID: 10
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ mutability: Mutability::Write|Mutability::Read
+ multiplierM: 2
+ path: /xyz/openbmc_project/sensors/voltage/p3v_bat
+ rExp: -2
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 2
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+224:
+ bExp: 0
+ entityID: 50
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Read
+ path: /xyz/openbmc_project/sensors/temperature/psu_inlet
+ offsetB: 0
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+225:
+ bExp: 0
+ entityID: 50
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/ocp_zone
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+226:
+ bExp: 0
+ entityID: 50
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 1
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/bmc_zone
+ rExp: 0
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+240:
+ bExp: 0
+ entityID: 29
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan0_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+241:
+ bExp: 0
+ entityID: 29
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan0_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+242:
+ bExp: 0
+ entityID: 29
+ entityInstance: 3
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan1_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+243:
+ bExp: 0
+ entityID: 29
+ entityInstance: 4
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan1_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+244:
+ bExp: 0
+ entityID: 29
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan2_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+245:
+ bExp: 0
+ entityID: 29
+ entityInstance: 6
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0xFF:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan2_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+246:
+ bExp: 0
+ entityID: 29
+ entityInstance: 7
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan3_0
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+247:
+ bExp: 0
+ entityID: 29
+ entityInstance: 8
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 96
+ mutability: Mutability::Write|Mutability::Read
+ path: /xyz/openbmc_project/sensors/fan_tach/fan3_1
+ rExp: 0
+ readingType: readingData
+ scale: 0
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 4
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS \ No newline at end of file
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console/obmc-console.conf
new file mode 100644
index 000000000..638ae7e5d
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console/obmc-console.conf
@@ -0,0 +1,5 @@
+lpc-address = 0x3f8
+sirq = 4
+local-tty = ttyS0
+local-tty-baud = 115200
+logsize = 256k
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console_%.bbappend
index 72d991c7e..72d991c7e 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/console/obmc-console_%.bbappend
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config.bbappend
new file mode 100644
index 000000000..a5847a64f
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${BPN}:"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
new file mode 100644
index 000000000..f99b943fb
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
@@ -0,0 +1,464 @@
+groups:
+ - name: air_cooled_zone0_fans
+ description: Group of fan inventory objects for air cooled zone 0
+ type: /xyz/openbmc_project/inventory
+ members:
+ - /system/chassis/motherboard/fan0
+ - /system/chassis/motherboard/fan1
+ - /system/chassis/motherboard/fan2
+ - /system/chassis/motherboard/fan3
+ - name: zone0_ambient
+ description: Group of ambient temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/inlet
+ - name: occ0_object
+ description: Dbus object containing OCC0 properties
+ type: /org/open_power/control
+ members:
+ - /occ0
+ - name: occ1_object
+ description: Dbus object containing OCC1 properties
+ type: /org/open_power/control
+ members:
+ - /occ1
+ - name: zone0_cores
+ description: Group of core temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/p0_core0_temp
+ - /temperature/p0_core1_temp
+ - /temperature/p0_core2_temp
+ - /temperature/p0_core3_temp
+ - /temperature/p0_core4_temp
+ - /temperature/p0_core5_temp
+ - /temperature/p0_core6_temp
+ - /temperature/p0_core7_temp
+ - /temperature/p0_core8_temp
+ - /temperature/p0_core9_temp
+ - /temperature/p0_core10_temp
+ - /temperature/p0_core11_temp
+ - /temperature/p0_core12_temp
+ - /temperature/p0_core13_temp
+ - /temperature/p0_core14_temp
+ - /temperature/p0_core15_temp
+ - /temperature/p0_core16_temp
+ - /temperature/p0_core17_temp
+ - /temperature/p0_core18_temp
+ - /temperature/p0_core19_temp
+ - /temperature/p0_core20_temp
+ - /temperature/p0_core21_temp
+ - /temperature/p0_core22_temp
+ - /temperature/p0_core23_temp
+ - /temperature/p1_core0_temp
+ - /temperature/p1_core1_temp
+ - /temperature/p1_core2_temp
+ - /temperature/p1_core3_temp
+ - /temperature/p1_core4_temp
+ - /temperature/p1_core5_temp
+ - /temperature/p1_core6_temp
+ - /temperature/p1_core7_temp
+ - /temperature/p1_core8_temp
+ - /temperature/p1_core9_temp
+ - /temperature/p1_core10_temp
+ - /temperature/p1_core11_temp
+ - /temperature/p1_core12_temp
+ - /temperature/p1_core13_temp
+ - /temperature/p1_core14_temp
+ - /temperature/p1_core15_temp
+ - /temperature/p1_core16_temp
+ - /temperature/p1_core17_temp
+ - /temperature/p1_core18_temp
+ - /temperature/p1_core19_temp
+ - /temperature/p1_core20_temp
+ - /temperature/p1_core21_temp
+ - /temperature/p1_core22_temp
+ - /temperature/p1_core23_temp
+ - name: zone0_dimms
+ description: Group of dimm temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/dimm0_temp
+ - /temperature/dimm1_temp
+ - /temperature/dimm2_temp
+ - /temperature/dimm3_temp
+ - /temperature/dimm4_temp
+ - /temperature/dimm5_temp
+ - /temperature/dimm6_temp
+ - /temperature/dimm7_temp
+ - /temperature/dimm8_temp
+ - /temperature/dimm9_temp
+ - /temperature/dimm10_temp
+ - /temperature/dimm11_temp
+ - /temperature/dimm12_temp
+ - /temperature/dimm13_temp
+ - /temperature/dimm14_temp
+ - /temperature/dimm15_temp
+
+matches:
+ - name: propertiesChanged
+ parameters:
+ - object
+ - interface
+ - name: interfacesAdded
+ parameters:
+ - object
+ - name: nameOwnerChanged
+ parameters:
+ - object
+ - interface
+
+signals:
+ - name: propertiesChanged
+ description: >
+ A property changed match
+ parameters:
+ - type
+ - object
+ - interface
+ - property
+ match: propertiesChanged
+ - name: interfacesAdded
+ description: >
+ An interfaces added match
+ parameters:
+ - type
+ - object
+ - interface
+ - property
+ match: interfacesAdded
+ - name: nameOwnerChanged
+ description: >
+ A name owner changed match
+ parameters:
+ match: nameOwnerChanged
+
+methods:
+ - name: getProperties
+ description: >
+ Get the property values of the given group members
+ by performing a `GetProperty` method call on each
+ parameters:
+ - type
+ - name: nameHasOwner
+ description: >
+ A NameHasOwner method call to be performed on all event group members
+ parameters:
+
+handlers:
+ - name: setProperty
+ description: >
+ Sets a value for the given object/interface/property
+ parameters:
+ - type
+ - name: setService
+ description: >
+ Sets the service name and ownership status for the given group
+ parameters:
+ - group
+
+preconditions:
+ - name: property_states_match
+ description: >
+ All defined properties must match the values given to
+ enable a set speed event otherwise fan speeds are set to full
+ parameters:
+ - groups
+ - name: services_missing_owner
+ description: >
+ Any services missing an owner enable the events given otherwise
+ the events are removed/disabled
+ parameters:
+
+actions:
+ - name: call_actions_based_on_timer
+ description: >
+ Sets up a list of actions to be invoked when the defined timer
+ expires (or for each expiration of a repeating timer)
+ parameters:
+ - timer
+ - actions
+ - name: default_floor_on_missing_owner
+ description: >
+ Set the fan floor to the default floor
+ - name: set_speed_on_missing_owner
+ description: >
+ Set fans to the given speed when any service within the group
+ no longer exists
+ parameters:
+ - speed
+ - name: set_request_speed_base_with_max
+ description: >
+ Set the base request speed of a zone to the max value of a group for
+ calculating a new target speed
+ - name: count_state_before_speed
+ description: Set the speed when a number of properties at a state
+ parameters:
+ - count
+ - property
+ - speed
+ - name: set_floor_from_average_sensor_value
+ description: Set floor speed from first entry with average less than key
+ parameters:
+ - map
+ - name: set_ceiling_from_average_sensor_value
+ description: Set ceiling speed based on key transition values with average
+ parameters:
+ - map
+ - name: set_net_increase_speed
+ description: >
+ Set the speed increase delta based on a factor applied to
+ the delta increase size times the given value and property's
+ value difference
+ parameters:
+ - property
+ - factor
+ - delta
+ - name: set_net_decrease_speed
+ description: >
+ Set the speed decrease delta based on a factor applied to
+ the delta decrease size times the given value and property's
+ value difference
+ parameters:
+ - property
+ - factor
+ - delta
+
+events:
+ - name: default_fan_floor_on_service_fail
+ precondition:
+ name: services_missing_owner
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
+ events:
+ - name: default_fan_floor
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: timer
+ interval: 5000000
+ type: oneshot
+ actions:
+ - name: default_floor_on_missing_owner
+ - name: high_speed_on_occ_service_fail
+ groups:
+ - name: occ0_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ - name: occ1_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ triggers:
+ - name: init
+ method: nameHasOwner
+ handler: setService
+ - name: signal
+ signal: nameOwnerChanged
+ handler: setService
+ actions:
+ - name: call_actions_based_on_timer
+ timer:
+ interval: 5000000
+ type: oneshot
+ actions:
+ - name: set_speed_on_missing_owner
+ speed:
+ value: 255
+ type: uint64_t
+ - name: missing_or_fails_before_high_speed_air
+ groups:
+ - name: air_cooled_zone0_fans
+ interface: xyz.openbmc_project.Inventory.Item
+ property:
+ name: Present
+ type: bool
+ - name: air_cooled_zone0_fans
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: count_state_before_speed
+ count: 1
+ property:
+ value: false
+ type: bool
+ speed:
+ value: 255
+ type: uint64_t
+ - name: set_air_cooled_speed_boundaries_based_on_ambient
+ groups:
+ - name: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 27000: 85
+ - 32000: 112
+ - 37000: 126
+ - 40000: 141
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 175
+ - 27000: 255
+ type: std::map<int64_t, uint64_t>
+ - name: occ_active_speed_changes
+ precondition:
+ name: property_states_match
+ groups:
+ - name: occ0_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ value: true
+ - name: occ1_object
+ interface: org.open_power.OCC.Status
+ property:
+ name: OccActive
+ type: bool
+ value: true
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ events:
+ - name: speed_control_sensors
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ - name: 1sec_speed_change_request_sampling
+ triggers:
+ - name: timer
+ interval: 1000000
+ type: repeating
+ actions:
+ # Speed changes based on core temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 73000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 11
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 70000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 11
+ type: uint64_t
+ # Speed changes based on dimm temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 64000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 6
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 61000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 6
+ type: uint64_t
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config.bbappend
new file mode 100644
index 000000000..a5847a64f
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${BPN}:"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml
new file mode 100644
index 000000000..54e73955a
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-fan-config/fans.yaml
@@ -0,0 +1,21 @@
+fans:
+ - inventory: /system/chassis/motherboard/fan0
+ cooling_zone: 0
+ sensors:
+ - fan0_0
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ - inventory: /system/chassis/motherboard/fan1
+ cooling_zone: 0
+ sensors:
+ - fan1_0
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ - inventory: /system/chassis/motherboard/fan2
+ cooling_zone: 0
+ sensors:
+ - fan2_0
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ - inventory: /system/chassis/motherboard/fan3
+ cooling_zone: 0
+ sensors:
+ - fan3_0
+ target_interface: xyz.openbmc_project.Control.FanPwm
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend
new file mode 100644
index 000000000..a5847a64f
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${BPN}:"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml
new file mode 100644
index 000000000..7dc99b6a2
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml
@@ -0,0 +1,9 @@
+conditions:
+ - name: air_cooled_chassis
+ type: getProperty
+ properties:
+ - property: WaterCooled
+ interface: xyz.openbmc_project.Inventory.Decorator.CoolingType
+ path: /xyz/openbmc_project/inventory/system/chassis
+ type: bool
+ value: false
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config.bbappend
new file mode 100644
index 000000000..956e7bf25
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config.bbappend
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${BPN}:"
+
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config/zones.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config/zones.yaml
new file mode 100644
index 000000000..0486acfe0
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-control-zone-config/zones.yaml
@@ -0,0 +1,15 @@
+manager_configuration:
+ power_on_delay: 20
+
+zone_configuration:
+
+#Air cooled zones
+- zone_conditions:
+ - name: air_cooled_chassis
+
+ zones:
+ - zone: 0
+ full_speed: 255
+ default_floor: 195
+ increase_delay: 5
+ decrease_interval: 30
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend
new file mode 100644
index 000000000..a5847a64f
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${BPN}:"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config/monitor.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config/monitor.yaml
new file mode 100644
index 000000000..a8e10ec2e
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-monitor-config/monitor.yaml
@@ -0,0 +1,87 @@
+fans:
+ - inventory: /system/chassis/motherboard/fan0
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 35
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan0_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 60
+ offset: 0
+ - name: fan0_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 55
+ offset: 0
+
+ - inventory: /system/chassis/motherboard/fan1
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan1_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 60
+ offset: 0
+ - name: fan1_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 55
+ offset: 0
+
+ - inventory: /system/chassis/motherboard/fan2
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan2_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 60
+ offset: 0
+ - name: fan2_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 55
+ offset: 0
+
+ - inventory: /system/chassis/motherboard/fan3
+ functional_delay: 5
+ allowed_out_of_range_time: 30
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan3_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 60
+ offset: 0
+ - name: fan3_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 55
+ offset: 0
+
+sensor_trust_groups:
+ - class: NonzeroSpeed
+ group:
+ # Include all _1 fans to determine trust
+ - name: fan0_1
+ - name: fan1_1
+ - name: fan2_1
+ - name: fan3_1
+ # Add all _0 fans to be included in trust result effects,
+ # but not in determining trust
+ - name: fan0_0
+ in_trust: false
+ - name: fan1_0
+ in_trust: false
+ - name: fan2_0
+ in_trust: false
+ - name: fan3_0
+ in_trust: false
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend
new file mode 100644
index 000000000..a5847a64f
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${BPN}:"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config/config.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config/config.yaml
new file mode 100644
index 000000000..31ac1ba47
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan-presence-config/config.yaml
@@ -0,0 +1,31 @@
+- name: fan0
+ path: /system/chassis/motherboard/fan0
+ methods:
+ - type: gpio
+ key: 1
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0021
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+
+- name: fan1
+ path: /system/chassis/motherboard/fan1
+ methods:
+ - type: gpio
+ key: 2
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0021
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+
+- name: fan2
+ path: /system/chassis/motherboard/fan2
+ methods:
+ - type: gpio
+ key: 3
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0021
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
+
+- name: fan3
+ path: /system/chassis/motherboard/fan3
+ methods:
+ - type: gpio
+ key: 4
+ physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0021
+ devpath: /dev/input/by-path/platform-gpio-keys-polled-event
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf
new file mode 100644
index 000000000..25a4ffc9b
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf
@@ -0,0 +1,2 @@
+OBJPATH="--path=/system/chassis"
+AIR="--air"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service
new file mode 100644
index 000000000..9232b13fc
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Phosphor Cooling Type
+Wants=mapper-wait@-xyz-openbmc_project-inventory.service
+After=mapper-wait@-xyz-openbmc_project-inventory.service
+ConditionPathExists={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+EnvironmentFile={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf
+ExecStart=/usr/bin/env phosphor-cooling-type ${{OBJPATH}} ${{AIR}}
+SyslogIdentifier=phosphor-cooling-type
+
+[Install]
+RequiredBy=multi-user.target
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan_%.bbappend
new file mode 100644
index 000000000..1db0942d8
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -0,0 +1,21 @@
+FILESEXTRAPATHS_prepend_fp5280g2:= "${THISDIR}/${BPN}:"
+
+# Package configuration
+FAN_PACKAGES += " \
+ phosphor-cooling-type \
+"
+
+PACKAGECONFIG_append_fp5280g2 = " cooling-type"
+
+TMPL_COOLING = "phosphor-cooling-type@.service"
+INSTFMT_COOLING = "phosphor-cooling-type@{0}.service"
+COOLING_TGT = "multi-user.target"
+FMT_COOLING = "../${TMPL_COOLING}:${COOLING_TGT}.requires/${INSTFMT_COOLING}"
+
+FILES_phosphor-cooling-type = "${bindir}/phosphor-cooling-type"
+SYSTEMD_SERVICE_phosphor-cooling-type += "${TMPL_COOLING}"
+SYSTEMD_LINK_phosphor-cooling-type += "${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}"
+
+COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf"
+
+SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_fp5280g2 = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/flash/openpower-software-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/flash/openpower-software-manager_%.bbappend
new file mode 100644
index 000000000..a6cbb74b0
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/flash/openpower-software-manager_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_append_fp5280g2 = " verify_pnor_signature"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
new file mode 100644
index 000000000..77ec086f8
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_append_fp5280g2 = " verify_signature"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor.bbappend
new file mode 100644
index 000000000..27e7cf9cf
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor.bbappend
@@ -0,0 +1 @@
+FILESEXTRAPATHS_prepend_fp5280g2 := "${THISDIR}/${PN}:"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop b/meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop
new file mode 100644
index 000000000..1665f01bd
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/host/checkstop-monitor/obmc/gpio/checkstop
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=11
+POLARITY=1
+TARGET=obmc-host-crash@0.target
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/images/obmc-phosphor-image.bbappend
index a19860e12..5248c34a6 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -1 +1 @@
-OBMC_IMAGE_EXTRA_INSTALL_append_fp5280g2 = " mboxd liberation-fonts uart-render-controller"
+OBMC_IMAGE_EXTRA_INSTALL_append_fp5280g2 = " mboxd liberation-fonts uart-render-controller first-boot-set-mac"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
new file mode 100644
index 000000000..ecf943f4a
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append_fp5280g2= " fp5280g2-yaml-config"
+
+EXTRA_OECONF_fp5280g2= " \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/fp5280g2-yaml-config/ipmi-inventory-sensors.yaml \
+ "
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
new file mode 100644
index 000000000..3256e834a
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
@@ -0,0 +1,44 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# Calculate the auxiliary firmware revision to be updated in the dev_id.json
+# file. It is calculated from the VERSION_ID field which currently has two
+# formats. The revision field is 4 bytes, the first two bytes represent the
+# count of commits from the tagging and next two bytes represent the version.
+# Both fields are represented in BCD encoded format, so 9999 is the maximum
+# value both fields can take. With the format "v2.1-216-ga78ace8", Petitboot
+# would display the firmware revision as "Firmware version: 2.01.02160000",
+# "0216" is count and the revision is "0000". With the format
+# "ibm-v2.0-10-r41-0-gd0c319e" Petitboot would display the firmware revision
+# as "Firmware version: 2.00.00100041", "0010" is count and the revision
+# is "0041".
+inherit image_version
+
+unset do_patch[noexec]
+do_patch[depends] = "os-release:do_populate_sysroot"
+
+python do_patch() {
+ import json
+ import re
+ from shutil import copyfile
+ version_id = do_get_version(d)
+
+ # count from the commit version
+ count = re.findall("-(\d{1,4})-", version_id)
+
+ release = re.findall("-r(\d{1,4})", version_id)
+ if release:
+ auxVer = count[0] + "{0:0>4}".format(release[0])
+ else:
+ auxVer = count[0] + "0000"
+
+ workdir = d.getVar('WORKDIR', True)
+ file = os.path.join(workdir, 'dev_id.json')
+
+ # Update dev_id.json with the auxiliary firmware revision
+ with open(file, "r+") as jsonFile:
+ data = json.load(jsonFile)
+ jsonFile.seek(0)
+ jsonFile.truncate()
+ data["aux"] = int(auxVer, 16)
+ json.dump(data, jsonFile)
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
new file mode 100644
index 000000000..9848c38b1
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
@@ -0,0 +1,178 @@
+{
+ "0" : {
+ "name" : "IPMB",
+ "is_valid" : true,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "ipmb",
+ "protocol_type" : "ipmb-1.0",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "1" : {
+ "name" : "eth1",
+ "is_valid" : true,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "lan-802.3",
+ "protocol_type" : "ipmb-1.0",
+ "session_supported" : "multi-session",
+ "is_ipmi" : true
+ }
+ },
+ "2" : {
+ "name" : "eth0",
+ "is_valid" : true,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "lan-802.3",
+ "protocol_type" : "ipmb-1.0",
+ "session_supported" : "multi-session",
+ "is_ipmi" : true
+ }
+ },
+ "3" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "4" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "5" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "6" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "7" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "8" : {
+ "name" : "INTRABMC",
+ "is_valid" : true,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "oem",
+ "protocol_type" : "oem",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "9" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "10" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "11" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "12" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "13" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "14" : {
+ "name" : "SELF",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "ipmb",
+ "protocol_type" : "ipmb-1.0",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ },
+ "15" : {
+ "name" : "SMS",
+ "is_valid" : true,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "system-interface",
+ "protocol_type" : "kcs",
+ "session_supported" : "session-less",
+ "is_ipmi" : true
+ }
+ }
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
new file mode 100644
index 000000000..f4d3f9820
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
@@ -0,0 +1,251 @@
+{
+ "inlet": [
+ {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/inlet", "record_id": 254}
+ ],
+ "baseboard": [
+ {"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/bmc_zone", "record_id": 253},
+ {"instance": 2, "dbus": "/xyz/openbmc_project/sensors/temperature/ocp_zone", "record_id": 252}
+ ],
+ "cpu": [
+ {
+ "instance": 1,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core0_temp",
+ "record_id": 91
+ },
+ {
+ "instance": 2,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core1_temp",
+ "record_id": 92
+ },
+ {
+ "instance": 3,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core2_temp",
+ "record_id": 93
+ },
+ {
+ "instance": 4,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core3_temp",
+ "record_id": 94
+ },
+ {
+ "instance": 5,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core4_temp",
+ "record_id": 95
+ },
+ {
+ "instance": 6,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core5_temp",
+ "record_id": 96
+ },
+ {
+ "instance": 7,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core6_temp",
+ "record_id": 97
+ },
+ {
+ "instance": 8,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core7_temp",
+ "record_id": 98
+ },
+ {
+ "instance": 9,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core8_temp",
+ "record_id": 99
+ },
+ {
+ "instance": 10,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core9_temp",
+ "record_id": 100
+ },
+ {
+ "instance": 11,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core10_temp",
+ "record_id": 101
+ },
+ {
+ "instance": 12,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core11_temp",
+ "record_id": 102
+ },
+ {
+ "instance": 13,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core12_temp",
+ "record_id": 103
+ },
+ {
+ "instance": 14,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core13_temp",
+ "record_id": 104
+ },
+ {
+ "instance": 15,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core14_temp",
+ "record_id": 105
+ },
+ {
+ "instance": 16,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core15_temp",
+ "record_id": 106
+ },
+ {
+ "instance": 17,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core16_temp",
+ "record_id": 107
+ },
+ {
+ "instance": 18,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core17_temp",
+ "record_id": 108
+ },
+ {
+ "instance": 19,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core18_temp",
+ "record_id": 109
+ },
+ {
+ "instance": 20,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core19_temp",
+ "record_id": 110
+ },
+ {
+ "instance": 21,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core20_temp",
+ "record_id": 111
+ },
+ {
+ "instance": 22,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core21_temp",
+ "record_id": 112
+ },
+ {
+ "instance": 23,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core22_temp",
+ "record_id": 113
+ },
+ {
+ "instance": 24,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p0_core23_temp",
+ "record_id": 114
+ },
+ {
+ "instance": 25,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core0_temp",
+ "record_id": 115
+ },
+ {
+ "instance": 26,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core1_temp",
+ "record_id": 116
+ },
+ {
+ "instance": 27,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core2_temp",
+ "record_id": 117
+ },
+ {
+ "instance": 28,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core3_temp",
+ "record_id": 118
+ },
+ {
+ "instance": 29,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core4_temp",
+ "record_id": 119
+ },
+ {
+ "instance": 30,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core5_temp",
+ "record_id": 120
+ },
+ {
+ "instance": 31,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core6_temp",
+ "record_id": 121
+ },
+ {
+ "instance": 32,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core7_temp",
+ "record_id": 122
+ },
+ {
+ "instance": 33,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core8_temp",
+ "record_id": 123
+ },
+ {
+ "instance": 34,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core9_temp",
+ "record_id": 124
+ },
+ {
+ "instance": 35,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core10_temp",
+ "record_id": 125
+ },
+ {
+ "instance": 36,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core11_temp",
+ "record_id": 126
+ },
+ {
+ "instance": 37,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core12_temp",
+ "record_id": 127
+ },
+ {
+ "instance": 38,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core13_temp",
+ "record_id": 128
+ },
+ {
+ "instance": 39,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core14_temp",
+ "record_id": 129
+ },
+ {
+ "instance": 40,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core15_temp",
+ "record_id": 130
+ },
+ {
+ "instance": 41,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core16_temp",
+ "record_id": 131
+ },
+ {
+ "instance": 42,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core17_temp",
+ "record_id": 132
+ },
+ {
+ "instance": 43,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core18_temp",
+ "record_id": 133
+ },
+ {
+ "instance": 44,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core19_temp",
+ "record_id": 134
+ },
+ {
+ "instance": 45,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core20_temp",
+ "record_id": 135
+ },
+ {
+ "instance": 46,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core21_temp",
+ "record_id": 136
+ },
+ {
+ "instance": 47,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core22_temp",
+ "record_id": 137
+ },
+ {
+ "instance": 48,
+ "dbus": "/xyz/openbmc_project/sensors/temperature/p1_core23_temp",
+ "record_id": 138
+ }
+ ]
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
new file mode 100644
index 000000000..dd3f137c2
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
@@ -0,0 +1,2 @@
+{"id": 0, "revision": 128, "addn_dev_support": 141,
+ "manuf_id": 51850, "prod_id": 514, "aux": 0}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..3f7032ccb
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,6 @@
+DEPENDS_append_fp5280g2= " fp5280g2-yaml-config"
+
+EXTRA_OECONF_fp5280g2= " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/fp5280g2-yaml-config/ipmi-fru-read.yaml \
+ PROP_YAML=${STAGING_DIR_HOST}${datadir}/fp5280g2-yaml-config/ipmi-extra-properties.yaml \
+ "
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..0694b7bf2
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,7 @@
+DEPENDS_append_fp5280g2= " fp5280g2-yaml-config"
+
+EXTRA_OECONF_fp5280g2= " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/fp5280g2-yaml-config/ipmi-sensors.yaml \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/fp5280g2-yaml-config/ipmi-inventory-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/fp5280g2-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
new file mode 100644
index 000000000..e85db2197
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
@@ -0,0 +1 @@
+DEFAULT_RMCPP_IFACE = "eth1"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend
new file mode 100644
index 000000000..11c52952e
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend
@@ -0,0 +1 @@
+SYSTEMD_SERVICE_${PN} += "first-boot-set-mac@eth1.service"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/occ/files/occ_sensor.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/occ/files/occ_sensor.yaml
new file mode 100644
index 000000000..ebfaf763a
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/occ/files/occ_sensor.yaml
@@ -0,0 +1,6 @@
+- Instance: 0
+ SensorID: 0x03
+ SensorName: occ0
+- Instance: 1
+ SensorID: 0x04
+ SensorName: occ1
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/occ/fp5280g2-occ-control-config-native.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/occ/fp5280g2-occ-control-config-native.bb
new file mode 100644
index 000000000..ba31df378
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/occ/fp5280g2-occ-control-config-native.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Fp5280g2 OCC Control sensor IDs"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INSPURBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit native
+inherit openpower-occ-control
+
+SRC_URI += "file://occ_sensor.yaml"
+
+PROVIDES += "virtual/openpower-occ-control-config-native"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${YAML_DEST}/
+ install -D occ_sensor.yaml ${YAML_DEST}/occ_sensor.yaml
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
new file mode 100644
index 000000000..220f7b4e1
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -0,0 +1,2 @@
+RDEPENDS_${PN}-inventory_append_fp5280g2 = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type"
+RDEPENDS_${PN}-extras_append_fp5280g2 = " phosphor-webui"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf
new file mode 100644
index 000000000..b629dfc4c
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf
@@ -0,0 +1,69 @@
+MODE_temp1 = "label"
+MODE_temp2 = "label"
+MODE_temp3 = "label"
+MODE_temp4 = "label"
+MODE_temp5 = "label"
+MODE_temp6 = "label"
+MODE_temp7 = "label"
+MODE_temp8 = "label"
+MODE_temp9 = "label"
+MODE_temp10 = "label"
+MODE_temp11 = "label"
+MODE_temp12 = "label"
+MODE_temp13 = "label"
+MODE_temp14 = "label"
+MODE_temp15 = "label"
+MODE_temp16 = "label"
+MODE_temp17 = "label"
+MODE_temp18 = "label"
+MODE_temp19 = "label"
+MODE_temp20 = "label"
+MODE_temp21 = "label"
+MODE_temp22 = "label"
+MODE_temp23 = "label"
+MODE_temp24 = "label"
+MODE_temp25 = "label"
+MODE_temp26 = "label"
+MODE_temp27 = "label"
+MODE_temp28 = "label"
+MODE_temp29 = "label"
+MODE_temp30 = "label"
+MODE_temp31 = "label"
+MODE_temp32 = "label"
+LABEL_temp91 = "p0_core0_temp"
+LABEL_temp92 = "p0_core1_temp"
+LABEL_temp93 = "p0_core2_temp"
+LABEL_temp94 = "p0_core3_temp"
+LABEL_temp95 = "p0_core4_temp"
+LABEL_temp96 = "p0_core5_temp"
+LABEL_temp97 = "p0_core6_temp"
+LABEL_temp98 = "p0_core7_temp"
+LABEL_temp99 = "p0_core8_temp"
+LABEL_temp100 = "p0_core9_temp"
+LABEL_temp101 = "p0_core10_temp"
+LABEL_temp102 = "p0_core11_temp"
+LABEL_temp103 = "p0_core12_temp"
+LABEL_temp104 = "p0_core13_temp"
+LABEL_temp105 = "p0_core14_temp"
+LABEL_temp106 = "p0_core15_temp"
+LABEL_temp107 = "p0_core16_temp"
+LABEL_temp108 = "p0_core17_temp"
+LABEL_temp109 = "p0_core18_temp"
+LABEL_temp110 = "p0_core19_temp"
+LABEL_temp111 = "p0_core20_temp"
+LABEL_temp112 = "p0_core21_temp"
+LABEL_temp113 = "p0_core22_temp"
+LABEL_temp114 = "p0_core23_temp"
+LABEL_temp27 = "dimm0_temp"
+LABEL_temp28 = "dimm1_temp"
+LABEL_temp29 = "dimm2_temp"
+LABEL_temp30 = "dimm3_temp"
+LABEL_temp31 = "dimm4_temp"
+LABEL_temp32 = "dimm5_temp"
+LABEL_temp33 = "dimm6_temp"
+LABEL_temp34 = "dimm7_temp"
+LABEL_power1 = "others"
+LABEL_power2 = "hdd"
+LABEL_power3 = "gpu_01"
+LABEL_power4 = "gpu_23"
+LABEL_power5 = "standby"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf
new file mode 100644
index 000000000..625c96bc5
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2.conf
@@ -0,0 +1,64 @@
+MODE_temp1 = "label"
+MODE_temp2 = "label"
+MODE_temp3 = "label"
+MODE_temp4 = "label"
+MODE_temp5 = "label"
+MODE_temp6 = "label"
+MODE_temp7 = "label"
+MODE_temp8 = "label"
+MODE_temp9 = "label"
+MODE_temp10 = "label"
+MODE_temp11 = "label"
+MODE_temp12 = "label"
+MODE_temp13 = "label"
+MODE_temp14 = "label"
+MODE_temp15 = "label"
+MODE_temp16 = "label"
+MODE_temp17 = "label"
+MODE_temp18 = "label"
+MODE_temp19 = "label"
+MODE_temp20 = "label"
+MODE_temp21 = "label"
+MODE_temp22 = "label"
+MODE_temp23 = "label"
+MODE_temp24 = "label"
+MODE_temp25 = "label"
+MODE_temp26 = "label"
+MODE_temp27 = "label"
+MODE_temp28 = "label"
+MODE_temp29 = "label"
+MODE_temp30 = "label"
+MODE_temp31 = "label"
+MODE_temp32 = "label"
+LABEL_temp115 = "p1_core0_temp"
+LABEL_temp116 = "p1_core1_temp"
+LABEL_temp117 = "p1_core2_temp"
+LABEL_temp118 = "p1_core3_temp"
+LABEL_temp119 = "p1_core4_temp"
+LABEL_temp120 = "p1_core5_temp"
+LABEL_temp121 = "p1_core6_temp"
+LABEL_temp122 = "p1_core7_temp"
+LABEL_temp123 = "p1_core8_temp"
+LABEL_temp124 = "p1_core9_temp"
+LABEL_temp125 = "p1_core10_temp"
+LABEL_temp126 = "p1_core11_temp"
+LABEL_temp127 = "p1_core12_temp"
+LABEL_temp128 = "p1_core13_temp"
+LABEL_temp129 = "p1_core14_temp"
+LABEL_temp130 = "p1_core15_temp"
+LABEL_temp131 = "p1_core16_temp"
+LABEL_temp132 = "p1_core17_temp"
+LABEL_temp133 = "p1_core18_temp"
+LABEL_temp134 = "p1_core19_temp"
+LABEL_temp135 = "p1_core20_temp"
+LABEL_temp136 = "p1_core21_temp"
+LABEL_temp137 = "p1_core22_temp"
+LABEL_temp138 = "p1_core23_temp"
+LABEL_temp35 = "dimm8_temp"
+LABEL_temp36 = "dimm9_temp"
+LABEL_temp37 = "dimm10_temp"
+LABEL_temp38 = "dimm11_temp"
+LABEL_temp39 = "dimm12_temp"
+LABEL_temp40 = "dimm13_temp"
+LABEL_temp41 = "dimm14_temp"
+LABEL_temp42 = "dimm15_temp"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
index a2aeb2c6c..ed2bf19d7 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -15,5 +15,14 @@ ITEMSFMT = "ahb/apb/{0}.conf"
ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}"
ITEMS += "iio-hwmon.conf iio-hwmon-battery.conf"
+OCCS = " \
+ 00--00--00--06/sbefifo1-dev0/occ-hwmon.1 \
+ 00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2 \
+ "
+
+OCCSFMT = "devices/platform/gpio-fsi/fsi0/slave@00--00/{0}.conf"
+OCCITEMS = "${@compose_list(d, 'OCCSFMT', 'OCCS')}"
+
ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE_${PN} += "${@compose_list(d, 'ENVS', 'ITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_fp5280g2 = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_fp5280g2 = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory-native.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory-native.bb
new file mode 100644
index 000000000..915af76c7
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory-native.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Inspur FP5280G2 Inventory config for openpower-vpd-parser"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INSPURBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit native
+inherit openpower-fru-vpd
+
+SRC_URI += "file://inventory"
+
+PROVIDES += "virtual/openpower-fru-inventory"
+
+S = "${WORKDIR}"
+
+do_install() {
+ DEST=${D}${inventory_datadir_native}
+ install -d ${DEST}
+ install inventory ${DEST}
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory/inventory b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory/inventory
new file mode 100644
index 000000000..2e6b39198
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory/inventory
@@ -0,0 +1,3 @@
+FRUS=BMC,ETHERNET
+PATHS=/system/chassis/motherboard/bmc,/system/chassis/motherboard/bmc/ethernet
+EEPROM=/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a080.i2c-bus/i2c-1/1-0050/eeprom
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout-native.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout-native.bb
new file mode 100644
index 000000000..46611fa55
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout-native.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Inspur FP5280G2 VPD layout for openpower-fru-vpd"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INSPURBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit native
+inherit openpower-fru-vpd
+
+SRC_URI += "file://layout.yaml"
+
+PROVIDES += "virtual/openpower-fru-vpd-layout"
+
+S = "${WORKDIR}"
+
+do_install() {
+ DEST=${D}${vpdlayout_datadir}
+
+ install -d ${DEST}
+ install layout.yaml ${DEST}
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout/layout.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout/layout.yaml
new file mode 100644
index 000000000..aab99dbe2
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout/layout.yaml
@@ -0,0 +1,12 @@
+BMC:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ OPFR,VP: PartNumber
+ OPFR,VS: SerialNumber
+ OPFR,VN: Manufacturer
+ xyz.openbmc_project.Inventory.Item:
+ VINI,DR: PrettyName
+ xyz.openbmc_project.Inventory.Item.Bmc:
+ETHERNET:
+ xyz.openbmc_project.Inventory.Item.NetworkInterface:
+ OPFR,B1: MACAddress
+ xyz.openbmc_project.Inventory.Item.Ethernet:
diff --git a/meta-intel/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
index abbb06c81..286c398c7 100755
--- a/meta-intel/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
+++ b/meta-intel/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb
@@ -5,7 +5,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b"
SRC_URI = "git://github.com/openbmc/intel-ipmi-oem"
-SRCREV = "529d415fec12ae7b8981f1a4806722552ad67ebf"
+SRCREV = "edf25e614919d0b379b885384bcdac987580b844"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui/config.json b/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui/config.json
index 15dfaa66c..1543a6249 100644
--- a/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui/config.json
+++ b/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui/config.json
@@ -1,5 +1,4 @@
{
- "redfishSupportEnabled" : true,
"customKeyEnable": true,
"keyType" : "VT100+",
"customConsoleDisplaySize": {
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
new file mode 100644
index 000000000..d0441a69b
--- /dev/null
+++ b/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
@@ -0,0 +1,25 @@
+{
+ "gpio_configs": {
+
+ "power_config": {
+ "power_good_in": "PGOOD",
+ "power_up_outs": [
+ ],
+ "reset_outs": [
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "PGOOD",
+ "pin": "Z1",
+ "direction": "in"
+ },
+ {
+ "name": "POWER_UP_PIN",
+ "pin": "I0",
+ "direction": "both"
+ }
+ ]
+}
diff --git a/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
new file mode 100644
index 000000000..5bb2557a2
--- /dev/null
+++ b/meta-lenovo/meta-hr630/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
@@ -0,0 +1,4 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+FILESEXTRAPATHS_prepend_hr630 := "${THISDIR}/${PN}:"
diff --git a/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample b/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample
new file mode 100644
index 000000000..a14ab61ea
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/conf/bblayers.conf.sample
@@ -0,0 +1,23 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "8"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ##OEROOT##/meta \
+ ##OEROOT##/meta-openembedded/meta-oe \
+ ##OEROOT##/meta-openembedded/meta-networking \
+ ##OEROOT##/meta-openembedded/meta-python \
+ ##OEROOT##/meta-openembedded/meta-webserver \
+ ##OEROOT##/meta-phosphor \
+ ##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-x86 \
+ ##OEROOT##/meta-google \
+ ##OEROOT##/meta-lenovo \
+ ##OEROOT##/meta-lenovo/meta-hr855xg2 \
+ "
diff --git a/meta-lenovo/meta-hr855xg2/conf/conf-notes.txt b/meta-lenovo/meta-hr855xg2/conf/conf-notes.txt
new file mode 100644
index 000000000..96eed07df
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/conf/conf-notes.txt
@@ -0,0 +1,5 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+Common targets are:
+ obmc-phosphor-image
diff --git a/meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf b/meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf
new file mode 100644
index 000000000..fb36e34f4
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/conf/distro/openbmc-hr855xg2.conf
@@ -0,0 +1,7 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+require conf/distro/include/phosphor-base.inc
+
+DISTRO_NAME = "Lenovo Hr855xg2 OpenBMC"
+DISTRO_VERSION = "0.05"
diff --git a/meta-lenovo/meta-hr855xg2/conf/layer.conf b/meta-lenovo/meta-hr855xg2/conf/layer.conf
new file mode 100644
index 000000000..23d6c7a0f
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/conf/layer.conf
@@ -0,0 +1,14 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "hr855xg2-layer"
+BBFILE_PATTERN_hr855xg2-layer := "^${LAYERDIR}/"
+BBFILE_PRIORITY_hr855xg2-layer = "5"
+LAYERSERIES_COMPAT_hr855xg2-layer = "thud warrior"
diff --git a/meta-lenovo/meta-hr855xg2/conf/local.conf.sample b/meta-lenovo/meta-hr855xg2/conf/local.conf.sample
new file mode 100644
index 000000000..b418c09f5
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/conf/local.conf.sample
@@ -0,0 +1,24 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+MACHINE ??= "hr855xg2"
+DISTRO ?= "openbmc-hr855xg2"
+PACKAGE_CLASSES ?= "package_rpm"
+SANITY_TESTED_DISTROS_append ?= " *"
+EXTRA_IMAGE_FEATURES = "debug-tweaks"
+USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+PATCHRESOLVE = "noop"
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+CONF_VERSION = "1"
+INHERIT += "extrausers"
+EXTRA_USERS_PARAMS = " \
+ usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
+ "
diff --git a/meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf b/meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf
new file mode 100644
index 000000000..73cff747c
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/conf/machine/hr855xg2.conf
@@ -0,0 +1,19 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-lenovo-${MACHINE}.dtb"
+
+UBOOT_MACHINE = "ast_g5_phy_config"
+
+require conf/machine/include/ast2500.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/lenovo.inc
+
+FLASH_SIZE = "32768"
+
+PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-bt"
+PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-lenovo-apps"
+PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-lenovo-apps"
+PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-lenovo-apps"
+PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-lenovo-apps"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg b/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg
new file mode 100644
index 000000000..a7303364f
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed/hr855xg2.cfg
@@ -0,0 +1,20 @@
+//"Copyright (c) 2019-present Lenovo
+//Licensed under GPL v2, see COPYING file for details."
+
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_PCA9541=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_SENSORS_ASPEED=y
+CONFIG_SENSORS_TMP421=y
+CONFIG_ASPEED_ADC=y
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_I2C_SLAVE=y
+CONFIG_PMBUS=y
+CONFIG_SPI=y
+CONFIG_SENSORS_MAX31790=y
+CONFIG_EEPROM_AT24=y
+CONFIG_PECI=y
+CONFIG_MFD_INTEL_PECI_CLIENT=y
+CONFIG_PECI_ASPEED=y
+CONFIG_SENSORS_PECI_CPUTEMP=y
+CONFIG_SENSORS_PECI_DIMMTEMP=y
diff --git a/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend
new file mode 100644
index 000000000..330800ab4
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -0,0 +1,5 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
+SRC_URI_append_hr855xg2 = " file://hr855xg2.cfg"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb
new file mode 100644
index 000000000..fcf97f9f8
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config.bb
@@ -0,0 +1,36 @@
+#"Copyright (c) 2019-present Lenovo"
+
+SUMMARY = "YAML configuration for hr855xg2"
+PR = "r1"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${LENOVOBASE}/COPYING.BSD;md5=efc72ac5d37ea632ccf0001f56126210"
+
+inherit allarch
+
+SRC_URI_append_hr855xg2 = "file://hr855xg2-ipmi-fru.yaml \
+ file://hr855xg2-ipmi-fru-properties.yaml \
+ file://hr855xg2-ipmi-sensors.yaml \
+ file://hr855xg2-leds.yaml \
+ "
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -m 0644 -D hr855xg2-ipmi-fru-properties.yaml \
+ ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
+ install -m 0644 -D hr855xg2-ipmi-fru.yaml \
+ ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
+ install -m 0644 -D hr855xg2-ipmi-sensors.yaml \
+ ${D}${datadir}/${BPN}/ipmi-sensors.yaml
+ install -m 0644 -D hr855xg2-leds.yaml \
+ ${D}${datadir}/${BPN}/led.yaml
+}
+
+FILES_${PN}-dev = " \
+ ${datadir}/${BPN}/ipmi-extra-properties.yaml \
+ ${datadir}/${BPN}/ipmi-fru-read.yaml \
+ ${datadir}/${BPN}/ipmi-sensors.yaml \
+ ${datadir}/${BPN}/led.yaml \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml
new file mode 100644
index 000000000..4c52b8cf4
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru-properties.yaml
@@ -0,0 +1,226 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+/system/chassis/motherboard/cpu0:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/cpu1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMA1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMA2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMB1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMB2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMC1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMC2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMD1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMD2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMME1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMME2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMF1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU1_DIMMF2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMA1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMA2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMB1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMB2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMC1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMC2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMD1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMD2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMME1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMME2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMF1:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
+
+/system/chassis/motherboard/CPU2_DIMMF2:
+ xyz.openbmc_project.Inventory.Decorator.Replaceable:
+ FieldReplaceable: 'true'
+ xyz.openbmc_project.Inventory.Decorator.Cacheable:
+ Cached: 'true'
+ xyz.openbmc_project.Inventory.Item:
+ Present: 'true'
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/files/config.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml
index de2e81474..fd626a319 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/ipmi/files/config.yaml
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-fru.yaml
@@ -1,3 +1,7 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+
1:
/system/chassis/motherboard/cpu0:
entityID: 3
@@ -89,7 +93,7 @@
4:
- /system/chassis/motherboard/dimm0:
+ /system/chassis/motherboard/CPU1_DIMMA1:
entityID: 32
entityInstance: 1
interfaces:
@@ -117,7 +121,7 @@
Version:
IPMIFruProperty: Version
5:
- /system/chassis/motherboard/dimm1:
+ /system/chassis/motherboard/CPU1_DIMMA2:
entityID: 32
entityInstance: 2
interfaces:
@@ -145,7 +149,7 @@
Version:
IPMIFruProperty: Version
6:
- /system/chassis/motherboard/dimm2:
+ /system/chassis/motherboard/CPU1_DIMMB1:
entityID: 32
entityInstance: 3
interfaces:
@@ -173,7 +177,7 @@
Version:
IPMIFruProperty: Version
7:
- /system/chassis/motherboard/dimm3:
+ /system/chassis/motherboard/CPU1_DIMMB2:
entityID: 32
entityInstance: 4
interfaces:
@@ -201,7 +205,7 @@
Version:
IPMIFruProperty: Version
8:
- /system/chassis/motherboard/dimm4:
+ /system/chassis/motherboard/CPU1_DIMMC1:
entityID: 32
entityInstance: 5
interfaces:
@@ -229,7 +233,7 @@
Version:
IPMIFruProperty: Version
9:
- /system/chassis/motherboard/dimm5:
+ /system/chassis/motherboard/CPU1_DIMMC2:
entityID: 32
entityInstance: 6
interfaces:
@@ -257,7 +261,7 @@
Version:
IPMIFruProperty: Version
10:
- /system/chassis/motherboard/dimm6:
+ /system/chassis/motherboard/CPU1_DIMMD1:
entityID: 32
entityInstance: 7
interfaces:
@@ -285,7 +289,7 @@
Version:
IPMIFruProperty: Version
11:
- /system/chassis/motherboard/dimm7:
+ /system/chassis/motherboard/CPU1_DIMMD2:
entityID: 32
entityInstance: 8
interfaces:
@@ -313,7 +317,7 @@
Version:
IPMIFruProperty: Version
12:
- /system/chassis/motherboard/dimm8:
+ /system/chassis/motherboard/CPU1_DIMME1:
entityID: 32
entityInstance: 9
interfaces:
@@ -341,7 +345,7 @@
Version:
IPMIFruProperty: Version
13:
- /system/chassis/motherboard/dimm9:
+ /system/chassis/motherboard/CPU1_DIMME2:
entityID: 32
entityInstance: 10
interfaces:
@@ -369,7 +373,7 @@
Version:
IPMIFruProperty: Version
14:
- /system/chassis/motherboard/dimm10:
+ /system/chassis/motherboard/CPU1_DIMMF1:
entityID: 32
entityInstance: 11
interfaces:
@@ -397,7 +401,7 @@
Version:
IPMIFruProperty: Version
15:
- /system/chassis/motherboard/dimm11:
+ /system/chassis/motherboard/CPU1_DIMMF1:
entityID: 32
entityInstance: 12
interfaces:
@@ -425,7 +429,7 @@
Version:
IPMIFruProperty: Version
16:
- /system/chassis/motherboard/dimm12:
+ /system/chassis/motherboard/CPU2_DIMMA1:
entityID: 32
entityInstance: 13
interfaces:
@@ -453,7 +457,7 @@
Version:
IPMIFruProperty: Version
17:
- /system/chassis/motherboard/dimm13:
+ /system/chassis/motherboard/CPU2_DIMMA2:
entityID: 32
entityInstance: 14
interfaces:
@@ -481,7 +485,7 @@
Version:
IPMIFruProperty: Version
18:
- /system/chassis/motherboard/dimm14:
+ /system/chassis/motherboard/CPU2_DIMMB1:
entityID: 32
entityInstance: 15
interfaces:
@@ -509,7 +513,7 @@
Version:
IPMIFruProperty: Version
19:
- /system/chassis/motherboard/dimm15:
+ /system/chassis/motherboard/CPU2_DIMMB2:
entityID: 32
entityInstance: 16
interfaces:
@@ -536,3 +540,227 @@
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
+20:
+ /system/chassis/motherboard/CPU2_DIMMC1:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+21:
+ /system/chassis/motherboard/CPU2_DIMMC2:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+22:
+ /system/chassis/motherboard/CPU2_DIMMD1:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+23:
+ /system/chassis/motherboard/CPU2_DIMMD2:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+24:
+ /system/chassis/motherboard/CPU2_DIMME1:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+25:
+ /system/chassis/motherboard/CPU2_DIMME2:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+26:
+ /system/chassis/motherboard/CPU2_DIMMF1:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+27:
+ /system/chassis/motherboard/CPU2_DIMMF2:
+ entityID: 32
+ entityInstance: 16
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Product
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Product
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Product
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Product
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version \ No newline at end of file
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml
new file mode 100644
index 000000000..283b56231
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-ipmi-sensors.yaml
@@ -0,0 +1,1826 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+
+0x01:
+ entityID: 0x37
+ sensorType: 0x01
+ path: /xyz/openbmc_project/sensors/temperature/Ambient_Temp
+ sensorReadingType: 0x01
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: -3
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x02:
+ entityID: 0x40
+ sensorType: 0x01
+ path: /xyz/openbmc_project/sensors/temperature/Outlet_Temp
+ sensorReadingType: 0x01
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: -3
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+0x03:
+ sensorType: 0x01
+ entityID: 0x03
+ path: /xyz/openbmc_project/sensors/temperature/Die_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x04:
+ sensorType: 0x01
+ entityID: 0x03
+ path: /xyz/openbmc_project/sensors/temperature/Die_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x05:
+ sensorType: 0x01
+ entityID: 0x03
+ path: /xyz/openbmc_project/sensors/temperature/Die_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x06:
+ sensorType: 0x01
+ entityID: 0x03
+ path: /xyz/openbmc_project/sensors/temperature/Die_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+0x0B:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x0C:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x0D:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x0E:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x0F:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x10:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x11:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x38:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x39:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x3A:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x3B:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x3C:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU1
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x3D:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x3E:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x3F:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x51:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x52:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x53:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x54:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x55:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x56:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x57:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x58:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x59:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU2
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x5A:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x5B:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x5C:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x5D:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x5E:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x5F:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x60:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x61:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x62:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x63:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x64:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x65:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU3
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x66:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x67:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_A2_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x68:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x69:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_B2_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x6A:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C1_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x6B:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_C2_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x6C:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x6D:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_D2_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x6E:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x82:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_E2_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x83:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F1_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x84:
+ sensorType: 0x01
+ entityID: 0x20
+ path: /xyz/openbmc_project/sensors/temperature/DIMM_F2_CPU4
+ sensorReadingType: 0x01
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+ scale: 0
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: double
+
+0x21:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P12V_AUX_1
+ sensorReadingType: 0x01
+ multiplierM: 63
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -3
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x22:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P5V_AUX
+ sensorReadingType: 0x01
+ multiplierM: 5
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -2
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x23:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P3V3_AUX
+ sensorReadingType: 0x01
+ multiplierM: 25
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -3
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x24:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P1V8_PCH_AUX
+ sensorReadingType: 0x01
+ multiplierM: 105
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -4
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x25:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/PVNN_PCH_AUX
+ sensorReadingType: 0x01
+ multiplierM: 105
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -4
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+
+0x26:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P1V05_PCH_AUX
+ sensorReadingType: 0x01
+ multiplierM: 70
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -4
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x27:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P1V2_AUX
+ sensorReadingType: 0x01
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -2
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x28:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P1V15_BMC_AUX
+ sensorReadingType: 0x01
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -2
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x2C:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/PVDDQ_CPU1
+ sensorReadingType: 0x01
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -2
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x2A:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/PVCCIO_CPU1
+ sensorReadingType: 0x01
+ multiplierM: 1
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -2
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+0x29:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P12V_AUX_2
+ sensorReadingType: 0x01
+ multiplierM: 63
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -3
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x2D:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P12V
+ sensorReadingType: 0x01
+ multiplierM: 63
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -3
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x2E:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P5V
+ sensorReadingType: 0x01
+ multiplierM: 5
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -2
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x2F:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P3V3
+ sensorReadingType: 0x01
+ multiplierM: 25
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -3
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x2B:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P12V_AUX_3
+ sensorReadingType: 0x01
+ multiplierM: 63
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -3
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x30:
+ entityID: 0x07
+ sensorType: 0x02
+ path: /xyz/openbmc_project/sensors/voltage/P3V_BAT
+ sensorReadingType: 0x01
+ multiplierM: 248
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.Volts
+ scale: -3
+ rExp: -4
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x40:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN0_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+
+0x41:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN1_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+
+0x42:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN2_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+
+0x43:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN3_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x44:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN4_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x45:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN5_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x46:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN6_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+0x47:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN7_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x48:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN8_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+0x49:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN9_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+0x4A:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN10_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x4B:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN11_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x4C:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN12_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+0x4D:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/FAN13_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x4E:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/PDB_FAN0_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x4F:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/PDB_FAN1_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
+
+0x50:
+ entityID: 0x1D
+ sensorType: 0x04
+ path: /xyz/openbmc_project/sensors/fan_tach/PDB_FAN2_Speed
+ sensorReadingType: 0x01
+ multiplierM: 115
+ offsetB: 0
+ bExp: 0
+ unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS
+ scale: 0
+ rExp: 0
+ mutability: Mutability::Read
+ serviceInterface: org.freedesktop.DBus.Properties
+ readingType: readingData
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 0x0:
+ type: int64_t
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml
new file mode 100644
index 000000000..b8b9ff620
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/configuration/hr855xg2-yaml-config/hr855xg2-leds.yaml
@@ -0,0 +1,14 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+bmc_booted:
+ heartbeat:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+
+enclosure_fault:
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
new file mode 100644
index 000000000..41eb4e204
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
@@ -0,0 +1,4 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
new file mode 100644
index 000000000..0c53f576e
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dcmi_sensors.json
@@ -0,0 +1,11 @@
+{
+ "inlet": [
+
+ ],
+ "baseboard": [
+
+ ],
+ "cpu": [
+
+ ]
+}
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
new file mode 100644
index 000000000..071c45b88
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-config/dev_id.json
@@ -0,0 +1,2 @@
+{"id": 32, "revision": 1, "addn_dev_support": 141,
+ "manuf_id": 19046, "prod_id": 502 , "aux": 5}
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend
new file mode 100644
index 000000000..585250667
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-flash_%.bbappend
@@ -0,0 +1,7 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+PACKAGECONFIG_append_hr855xg2 = " static-bmc"
+PACKAGECONFIG_append_hr855xg2 = " aspeed-lpc"
+PACKAGECONFIG_append_hr855xg2 = " reboot-update"
+IPMI_FLASH_BMC_ADDRESS_hr855xg2 = "0x98000000"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..fcc0afb34
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,9 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+DEPENDS_append_hr855xg2 = " hr855xg2-yaml-config"
+
+EXTRA_OECONF_append_hr855xg2 = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-fru-read.yaml \
+ PROP_YAML=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-extra-properties.yaml \
+ "
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..98129d588
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,9 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+DEPENDS_append_hr855xg2 = " hr855xg2-yaml-config"
+
+EXTRA_OECONF_append_hr855xg2 = " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
new file mode 100644
index 000000000..1a96799d0
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/leds/phosphor-led-manager_%.bbappend
@@ -0,0 +1,6 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+DEPENDS_append_hr855xg2 = " hr855xg2-yaml-config"
+
+EXTRA_OECONF_append_hr855xg2 = "YAML_PATH=${STAGING_DIR_HOST}${datadir}/hr855xg2-yaml-config/" \ No newline at end of file
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend
new file mode 100644
index 000000000..0c4285949
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/network/phosphor-network_%.bbappend
@@ -0,0 +1,6 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
+
+EXTRA_OECONF_append_hr855xg2 = " --disable-link-local-autoconfiguration"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf
new file mode 100644
index 000000000..1dcd8cbfb
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@49.conf
@@ -0,0 +1,8 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+LABEL_temp1 = "Outlet_Temp"
+WARNHI_temp1 = "60000"
+WARNLO_temp1 = "0"
+CRITHI_temp1 = "70000"
+CRITLO_temp1 = "0"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf
new file mode 100644
index 000000000..31e44e6db
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/tmp75@4d.conf
@@ -0,0 +1,9 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+
+LABEL_temp1 = "Ambient_Temp"
+WARNHI_temp1 = "35000"
+WARNLO_temp1 = "0"
+CRITHI_temp1 = "37000"
+CRITLO_temp1 = "0"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
new file mode 100644
index 000000000..e84c0162a
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
@@ -0,0 +1,40 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+
+# hr855xg2 has 14 fan ports
+LABEL_fan1 = "FAN0_Speed"
+LABEL_fan2 = "FAN1_Speed"
+LABEL_fan3 = "FAN2_Speed"
+LABEL_fan4 = "FAN3_Speed"
+LABEL_fan5 = "FAN4_Speed"
+LABEL_fan6 = "FAN5_Speed"
+LABEL_fan7 = "FAN6_Speed"
+LABEL_fan8 = "FAN7_Speed"
+LABEL_fan9 = "FAN8_Speed"
+LABEL_fan10 = "FAN9_Speed"
+LABEL_fan11 = "FAN10_Speed"
+LABEL_fan12 = "FAN11_Speed"
+LABEL_fan13 = "FAN12_Speed"
+LABEL_fan14 = "FAN13_Speed"
+LABEL_fan15 = "PDB_FAN0_Speed"
+LABEL_fan16 = "PDB_FAN1_Speed"
+LABEL_fan16 = "PDB_FAN2_Speed"
+
+PWM_TARGET_fan1 = "1"
+PWM_TARGET_fan2 = "1"
+PWM_TARGET_fan3 = "2"
+PWM_TARGET_fan4 = "2"
+PWM_TARGET_fan5 = "3"
+PWM_TARGET_fan6 = "3"
+PWM_TARGET_fan7 = "4"
+PWM_TARGET_fan8 = "4"
+PWM_TARGET_fan9 = "5"
+PWM_TARGET_fan10 = "5"
+PWM_TARGET_fan11 = "6"
+PWM_TARGET_fan12 = "6"
+PWM_TARGET_fan13 = "7"
+PWM_TARGET_fan14 = "7"
+PWM_TARGET_fan15 = "8"
+PWM_TARGET_fan16 = "8"
+
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf
new file mode 100644
index 000000000..8c69aa5d1
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon-battery.conf
@@ -0,0 +1,12 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+LABEL_in1=P3V_BAT
+GAIN_in1=2.00
+
+# GPIOS4 needs to be pulled high for battery voltage reading
+GPIOCHIP_in1=0
+GPIO_in1=148
+
+# Read it every day so it does not impact battery life
+INTERVAL=10
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
new file mode 100644
index 000000000..f96313837
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/iio-hwmon.conf
@@ -0,0 +1,27 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+LABEL_in1=P12V_AUX_1
+GAIN_in1=8.90
+LABEL_in2=P5V_AUX
+GAIN_in2=3.68
+LABEL_in3=P3V3_AUX
+GAIN_in3=2.435
+LABEL_in4=P1V8_PCH_AUX
+GAIN_in4=1.50
+LABEL_in5=PVNN_PCH_AUX
+LABEL_in6=P1V05_PCH_AUX
+LABEL_in7=P1V2_AUX
+LABEL_in8=P1V15_BMC_AUX
+LABEL_in9=P12V_AUX_2
+GAIN_in9=8.90
+LABEL_in10=PVCCIO_CPU1
+LABEL_in11=P12V_AUX_3
+GAIN_in11=8.90
+LABEL_in12=PVDDQ_CPU1
+LABEL_in13=P12V
+GAIN_in13=8.90
+LABEL_in14=P5V
+GAIN_in14=3.68
+LABEL_in15=P3V3
+GAIN_in15=2.435
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
new file mode 100644
index 000000000..9a26ca04e
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -0,0 +1,15 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
+
+CHIPS = " bus@1e78a000/i2c-bus@1c0/tmp75@49 bus@1e78a000/i2c-bus@1c0/tmp75@4d pwm-tacho-controller@1e786000 "
+ITEMSFMT = "ahb/apb/{0}.conf"
+
+HR855XG2_ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}"
+HR855XG2_ITEMS += "iio-hwmon.conf"
+
+HR855XG2_ITEMS += "iio-hwmon-battery.conf"
+
+ENVS = "obmc/hwmon/{0}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_hr855xg2 := "${@compose_list(d, 'ENVS', 'HR855XG2_ITEMS')}"
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
new file mode 100644
index 000000000..d8213fdae
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
@@ -0,0 +1,35 @@
+{
+ "gpio_configs": {
+
+ "power_config": {
+ "power_good_in": "PGOOD",
+ "power_up_outs": [
+ ],
+ "reset_outs": [
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "PGOOD",
+ "pin": "H7",
+ "direction": "in"
+ },
+ {
+ "name": "POWER_BUTTON",
+ "pin": "I1",
+ "direction": "both"
+ },
+ {
+ "name": "RESET_BUTTON",
+ "pin": "R0",
+ "direction": "both"
+ },
+ {
+ "name": "ID_BTN",
+ "pin": "Y2",
+ "direction": "both"
+ }
+ ]
+}
diff --git a/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
new file mode 100644
index 000000000..41eb4e204
--- /dev/null
+++ b/meta-lenovo/meta-hr855xg2/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
@@ -0,0 +1,4 @@
+#"Copyright (c) 2019-present Lenovo
+#Licensed under BSD-3, see COPYING.BSD file for details."
+
+FILESEXTRAPATHS_prepend_hr855xg2 := "${THISDIR}/${PN}:"
diff --git a/meta-microsoft/COPYING.MIT b/meta-microsoft/COPYING.MIT
new file mode 100644
index 000000000..89de35479
--- /dev/null
+++ b/meta-microsoft/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/meta-microsoft/COPYING.apache-2.0 b/meta-microsoft/COPYING.apache-2.0
new file mode 100644
index 000000000..67db85882
--- /dev/null
+++ b/meta-microsoft/COPYING.apache-2.0
@@ -0,0 +1,175 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
diff --git a/meta-microsoft/LICENSE b/meta-microsoft/LICENSE
new file mode 100644
index 000000000..8e1727d08
--- /dev/null
+++ b/meta-microsoft/LICENSE
@@ -0,0 +1,13 @@
+Full Description:
+Different components of meta-microsoft are under different licenses (a mix
+of MIT and Apache-2.0). Please see:
+
+COPYING.Apache-2.0
+COPYING.MIT (MIT)
+
+All metadata is MIT licensed unless otherwise stated. Source code
+included in tree for individual recipes is under the LICENSE stated in
+the associated recipe (.bb file) unless otherwise stated.
+
+License information for any other files is either explicitly stated
+or defaults to Apache-2.0.
diff --git a/meta-microsoft/README.md b/meta-microsoft/README.md
new file mode 100644
index 000000000..1980d6070
--- /dev/null
+++ b/meta-microsoft/README.md
@@ -0,0 +1,2 @@
+# meta-microsoft
+The meta-olympus OCP project is committed by AMI.
diff --git a/meta-microsoft/conf/layer.conf b/meta-microsoft/conf/layer.conf
new file mode 100755
index 000000000..b97d9ef28
--- /dev/null
+++ b/meta-microsoft/conf/layer.conf
@@ -0,0 +1,6 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+BBFILE_COLLECTIONS += "microsoft-layer"
+BBFILE_PATTERN_microsoft-layer = ""
+LAYERSERIES_COMPAT_microsoft-layer = "warrior"
diff --git a/meta-microsoft/meta-olympus/conf/bblayers.conf.sample b/meta-microsoft/meta-olympus/conf/bblayers.conf.sample
new file mode 100755
index 000000000..730455080
--- /dev/null
+++ b/meta-microsoft/meta-olympus/conf/bblayers.conf.sample
@@ -0,0 +1,29 @@
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "8"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ##OEROOT##/meta \
+ ##OEROOT##/meta-openembedded/meta-oe \
+ ##OEROOT##/meta-openembedded/meta-networking \
+ ##OEROOT##/meta-openembedded/meta-perl \
+ ##OEROOT##/meta-openembedded/meta-python \
+ ##OEROOT##/meta-phosphor \
+ ##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-microsoft \
+ ##OEROOT##/meta-microsoft/meta-olympus \
+ "
+BBLAYERS_NON_REMOVABLE ?= " \
+ ##OEROOT##/meta \
+ ##OEROOT##/meta-openembedded/meta-oe \
+ ##OEROOT##/meta-openembedded/meta-networking \
+ ##OEROOT##/meta-openembedded/meta-perl \
+ ##OEROOT##/meta-openembedded/meta-python \
+ ##OEROOT##/meta-phosphor \
+ ##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-microsoft \
+ ##OEROOT##/meta-microsoft/meta-olympus \
+ "
diff --git a/meta-microsoft/meta-olympus/conf/conf-notes.txt b/meta-microsoft/meta-olympus/conf/conf-notes.txt
new file mode 100755
index 000000000..9b3c01a55
--- /dev/null
+++ b/meta-microsoft/meta-olympus/conf/conf-notes.txt
@@ -0,0 +1,2 @@
+Common targets are:
+ obmc-phosphor-image
diff --git a/meta-microsoft/meta-olympus/conf/layer.conf b/meta-microsoft/meta-olympus/conf/layer.conf
new file mode 100755
index 000000000..f510b82e8
--- /dev/null
+++ b/meta-microsoft/meta-olympus/conf/layer.conf
@@ -0,0 +1,12 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "olympus-layer"
+BBFILE_PATTERN_olympus-layer = "^${LAYERDIR}/"
+BBFILE_PRIORITY_olympus-layer = "6"
+
+LAYERSERIES_COMPAT_olympus-layer = "warrior"
diff --git a/meta-microsoft/meta-olympus/conf/local.conf.sample b/meta-microsoft/meta-olympus/conf/local.conf.sample
new file mode 100755
index 000000000..ed8fb71fc
--- /dev/null
+++ b/meta-microsoft/meta-olympus/conf/local.conf.sample
@@ -0,0 +1,245 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "olympus"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "openbmc-phosphor"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_rpm"
+
+#
+# SDK/ADT target architecture
+#
+# This variable specifies the architecture to build SDK/ADT items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES = "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. This assumes there is a
+# libsdl library available on your build system.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Set the root password to '0penBmc'
+INHERIT += "extrausers"
+
+EXTRA_USERS_PARAMS = " \
+ usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \
+ "
diff --git a/meta-microsoft/meta-olympus/conf/machine/olympus.conf b/meta-microsoft/meta-olympus/conf/machine/olympus.conf
new file mode 100755
index 000000000..6d4406e31
--- /dev/null
+++ b/meta-microsoft/meta-olympus/conf/machine/olympus.conf
@@ -0,0 +1,12 @@
+
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-microsoft-${MACHINE}.dtb"
+
+require conf/machine/include/ast2400.inc
+require conf/machine/include/obmc-bsp-common.inc
+
+UBOOT_MACHINE_olympus = "ast_g4_phy_config"
+UBOOT_ENTRYPOINT = "0x40008000"
+UBOOT_LOADADDRESS = "0x40008000"
+
+FLASH_SIZE = "32768"
diff --git a/meta-microsoft/meta-olympus/recipes.txt b/meta-microsoft/meta-olympus/recipes.txt
new file mode 100755
index 000000000..3ec3f4a42
--- /dev/null
+++ b/meta-microsoft/meta-olympus/recipes.txt
@@ -0,0 +1,2 @@
+recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
+recipes-phosphor - Phosphor OpenBMC applications and configuration
diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc b/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc
index f5cb0fca3..d11327d82 100644
--- a/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc
+++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc
@@ -3,11 +3,11 @@ SECTION = "bootloaders"
DEPENDS += "flex-native bison-native"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
-UBRANCH = "npcm7xx"
+UBRANCH = "npcm7xx-v2019.01"
SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}"
-SRCREV = "5d036755c2e13b5244f63ce052657e4ef3089bd5"
+SRCREV = "d8d75f72b9e324f47b0657dcaac9edf4433267ea"
S = "${WORKDIR}/git"
diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb b/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb
index 42bc7a306..7fc880ffd 100644
--- a/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb
+++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_git.bb
@@ -1,7 +1,7 @@
require u-boot-common-nuvoton.inc
SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-DEPENDS = "mtd-utils"
+DEPENDS = "mtd-utils bison-native"
PROVIDES += "u-boot-fw-utils"
@@ -14,7 +14,7 @@ inherit uboot-config
do_compile () {
oe_runmake ${UBOOT_MACHINE}
- oe_runmake env
+ oe_runmake envtools
}
do_install () {
diff --git a/meta-openbmc-mods/conf/machine/include/intel.inc b/meta-openbmc-mods/conf/machine/include/intel.inc
index 588a71bbf..70297bab8 100644
--- a/meta-openbmc-mods/conf/machine/include/intel.inc
+++ b/meta-openbmc-mods/conf/machine/include/intel.inc
@@ -13,6 +13,8 @@ VIRTUAL-RUNTIME_obmc-inventory-manager = "entity-manager"
VIRTUAL-RUNTIME_obmc-led-monitor = ""
VIRTUAL-RUNTIME_obmc-host-state-manager = "intel-chassis-control"
VIRTUAL-RUNTIME_obmc-chassis-state-manager = "intel-chassis-control"
+VIRTUAL-RUNTIME_obmc-discover-system-state = "intel-chassis-control"
+VIRTUAL-RUNTIME_obmc-settings-mgmt = "settings"
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs"
PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-intel-apps"
diff --git a/meta-openbmc-mods/meta-ast2500/conf/machine/include/intel-ast2500.inc b/meta-openbmc-mods/meta-ast2500/conf/machine/include/intel-ast2500.inc
index cc9e30495..1bbd64381 100644
--- a/meta-openbmc-mods/meta-ast2500/conf/machine/include/intel-ast2500.inc
+++ b/meta-openbmc-mods/meta-ast2500/conf/machine/include/intel-ast2500.inc
@@ -8,12 +8,6 @@ require conf/distro/include/phosphor-tiny.inc
UBOOT_MACHINE = "ast_g5_phy_config"
-#Developer to specify the appropriate IMAGE_TYPE and FLASH_SIZE
-#On Intel Whitley platforms PFR feature requires 128MB flash, default is 64MB
-#IMAGE_TYPE = "default" or "pfr" or "non-pfr"
-# "non-pfr" setting for future which is for BMC secure boot
-#for PFR its 128MB in KBs - 128*1024=131072, for non-pfr its 64MB= 64*1024 = 65536
-#pfr IMAGE_TYPE enforces the image signature verification during the image update
-IMAGE_TYPE = "default"
-
VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config"
+
+IMAGE_CLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'image_types_intel_pfr', '', d)}"
diff --git a/meta-openbmc-mods/meta-ast2500/conf/machine/include/obmc-bsp-si-common.inc b/meta-openbmc-mods/meta-ast2500/conf/machine/include/obmc-bsp-si-common.inc
index 24ec3113b..f4f8a7b9f 100644
--- a/meta-openbmc-mods/meta-ast2500/conf/machine/include/obmc-bsp-si-common.inc
+++ b/meta-openbmc-mods/meta-ast2500/conf/machine/include/obmc-bsp-si-common.inc
@@ -21,7 +21,7 @@ MACHINEOVERRIDES =. "openbmc:"
OBMC_PHOSPHOR_IMAGE_OVERLAY= "1"
OBMC_IMAGE_EXTRA_INSTALL_append = " u-boot-fw-utils-aspeed"
-IMAGE_CLASSES += "image_types image_types_phosphor_auto"
+IMAGE_CLASSES += "image_types image_types_phosphor_auto qemuboot"
INITRAMFS_CTYPE ?= "lzma"
INITRAMFS_IMAGE = "obmc-phosphor-initramfs"
@@ -29,3 +29,12 @@ INITRAMFS_IMAGE = "obmc-phosphor-initramfs"
MACHINE_FEATURES_BACKFILL_CONSIDERED = "qemu-usermode"
KERNEL_IMAGETYPES += "zImage"
+
+# runqemu
+QB_SYSTEM_NAME = "qemu-system-arm"
+QB_DEFAULT_FSTYPE = "mtd"
+QB_ROOTFS_OPT = "-drive file=@ROOTFS@,format=raw,if=mtd"
+QB_MACHINE = "-M intel-ast2500"
+QB_OPT_APPEND += " -nographic"
+QB_NETWORK_DEVICE = "-net nic,macaddr=C0:FF:EE:00:00:02,model=ftgmac100"
+QB_DEFAULT_KERNEL = "none"
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-platforms.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-platforms.patch
index 88a9c5624..613118843 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-platforms.patch
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-arm-dts-add-DTS-for-Intel-platforms.patch
@@ -1,4 +1,4 @@
-From fbbad6c3a18ec7f1e9d95c09e44e765de303329c Mon Sep 17 00:00:00 2001
+From a2505e885fafd674fe0eb3a2e6daa69392e46684 Mon Sep 17 00:00:00 2001
From: Yuan Li <yuan.li@linux.intel.com>
Date: Tue, 19 Sep 2017 15:55:39 +0800
Subject: [PATCH] arm: dts: add DTS for Intel platforms
@@ -10,17 +10,20 @@ Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
Signed-off-by: James Feist <james.feist@linux.intel.com>
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
+Signed-off-by: Zhu, Yunge <yunge.zhu@linux.intel.com>
+Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com>
+Signed-off-by: Qiang XU <qiang.xu@linux.intel.com>
---
- arch/arm/boot/dts/aspeed-bmc-intel-purley.dts | 388 ++++++++++++++++++++++++++
- 1 file changed, 388 insertions(+)
+ arch/arm/boot/dts/aspeed-bmc-intel-purley.dts | 410 ++++++++++++++++++++++++++
+ 1 file changed, 410 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
new file mode 100644
-index 0000000..421699c
+index 000000000000..e94a1473045f
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-@@ -0,0 +1,388 @@
+@@ -0,0 +1,410 @@
+/dts-v1/;
+
+#include "aspeed-g5.dtsi"
@@ -146,7 +149,7 @@ index 0000000..421699c
+ /*D0-D7*/ "","","","","","","","",
+ /*E0-E7*/ "RESET_BUTTON","RESET_OUT","POWER_BUTTON","POWER_OUT","","","","",
+ /*F0-F7*/ "","","","","CPU_ERR0","CPU_ERR1","","",
-+ /*G0-G7*/ "CPU_ERR2","CPU_CATERR","","","","","","",
++ /*G0-G7*/ "CPU_ERR2","CPU_CATERR","PCH_BMC_THERMTRIP","","","","","",
+ /*H0-H7*/ "","","","","","","","",
+ /*I0-I7*/ "","","","","","","","",
+ /*J0-J7*/ "","","","","","","","",
@@ -166,7 +169,7 @@ index 0000000..421699c
+ /*X0-X7*/ "","","","","","","","",
+ /*Y0-Y7*/ "SIO_S3","SIO_S5","","SIO_ONCONTROL","","","","",
+ /*Z0-Z7*/ "","SIO_POWER_GOOD","","","","","","",
-+ /*AA0-AA7*/ "","","","","","","","POST_COMPLETE",
++ /*AA0-AA7*/ "P3VBAT_BRIDGE_EN","","","","","","SMI","POST_COMPLETE",
+ /*AB0-AB7*/ "","NMI_BUTTON","ID_BUTTON","PS_PWROK","","","","",
+ /*AC0-AC7*/ "","","","","","","","";
+};
@@ -270,31 +273,36 @@ index 0000000..421699c
+&i2c0 {
+ multi-master;
+ general-call;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
-+
-+ ipmb0@10 {
-+ compatible = "slave-mqueue";
-+ reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
-+ };
+};
+
+&i2c1 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
+&i2c2 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
+&i2c3 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
+&i2c4 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+
+ hsbp0@10 {
@@ -306,6 +314,8 @@ index 0000000..421699c
+&i2c5 {
+ bus-frequency = <1000000>;
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+
+ smlink0@10 {
@@ -316,22 +326,37 @@ index 0000000..421699c
+
+&i2c6 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
+&i2c7 {
+ multi-master;
+ #retries = <3>;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
+&i2c9 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
++ status = "okay";
++};
++
++&i2c11 {
++ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
+&i2c13 {
+ multi-master;
++ aspeed,dma-buf-size = <4095>;
++ aspeed,hw-timeout-ms = <300>;
+ status = "okay";
+};
+
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-aspeed-pwm-tacho-change-default-fan-speed.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-aspeed-pwm-tacho-change-default-fan-speed.patch
new file mode 100644
index 000000000..40afce9be
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0001-aspeed-pwm-tacho-change-default-fan-speed.patch
@@ -0,0 +1,28 @@
+From 80795ca1de706c4111ac7e8874e1490e7ebf8100 Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Tue, 2 Jul 2019 10:14:59 -0700
+Subject: [PATCH] aspeed-pwm-tacho: change default fan speed
+
+Change it from max to 58%
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ drivers/hwmon/aspeed-pwm-tacho.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/hwmon/aspeed-pwm-tacho.c b/drivers/hwmon/aspeed-pwm-tacho.c
+index 40c489be62ea..ae5771f881b5 100644
+--- a/drivers/hwmon/aspeed-pwm-tacho.c
++++ b/drivers/hwmon/aspeed-pwm-tacho.c
+@@ -160,7 +160,7 @@
+ */
+ #define M_TACH_MODE 0x02 /* 10b */
+ #define M_TACH_UNIT 0x0210
+-#define INIT_FAN_CTRL 0xFF
++#define INIT_FAN_CTRL 150 /* 58% */
+
+ /* How long we sleep in us while waiting for an RPM result. */
+ #define ASPEED_RPM_STATUS_SLEEP_USEC 500
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0002-Enable-pass-through-on-GPIOE1-and-GPIOE3-free.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0002-Enable-pass-through-on-GPIOE1-and-GPIOE3-free.patch
index b05ad2502..0ce4163dd 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0002-Enable-pass-through-on-GPIOE1-and-GPIOE3-free.patch
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0002-Enable-pass-through-on-GPIOE1-and-GPIOE3-free.patch
@@ -1,4 +1,4 @@
-From 9537923d6e6a793cb2bf3c1daacd12562263bc0a Mon Sep 17 00:00:00 2001
+From 56faf4c5a3957012f3a3a8467b3dfde760093784 Mon Sep 17 00:00:00 2001
From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
Date: Fri, 3 May 2019 16:12:39 -0700
Subject: [PATCH] Enable pass-through on GPIOE1 and GPIOE3 free
@@ -20,10 +20,10 @@ Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
3 files changed, 64 insertions(+)
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
-index 187abd7..beb0729 100644
+index e20e2a259141..fbc9a68bd88c 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
-@@ -2498,6 +2498,7 @@ static const struct pinmux_ops aspeed_g5_pinmux_ops = {
+@@ -2605,6 +2605,7 @@ static const struct pinmux_ops aspeed_g5_pinmux_ops = {
.get_function_groups = aspeed_pinmux_get_fn_groups,
.set_mux = aspeed_pinmux_set_mux,
.gpio_request_enable = aspeed_gpio_request_enable,
@@ -32,11 +32,11 @@ index 187abd7..beb0729 100644
};
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.c b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
-index eb87ab7..f06d752 100644
+index 18f46177b4af..6feea140b438 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
-@@ -538,6 +538,66 @@ int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
- return aspeed_sig_expr_enable(expr, pdata->maps);
+@@ -356,6 +356,66 @@ int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
+ return aspeed_sig_expr_enable(&pdata->pinmux, expr);
}
+void aspeed_gpio_disable_free(struct pinctrl_dev *pctldev,
@@ -68,11 +68,11 @@ index eb87ab7..f06d752 100644
+ return;
+
+ /* Disable any functions of higher priority than GPIO just in case */
-+ while (funcs = *prios) {
++ while ((funcs = *prios)) {
+ if (aspeed_gpio_in_exprs(funcs))
+ break;
+
-+ ret = aspeed_disable_sig(funcs, pdata->maps);
++ ret = aspeed_disable_sig(&pdata->pinmux, funcs);
+ if (ret)
+ return;
+
@@ -96,17 +96,17 @@ index eb87ab7..f06d752 100644
+ prios--;
+ funcs = *prios;
+ expr = *funcs;
-+ aspeed_sig_expr_enable(expr, pdata->maps);
++ aspeed_sig_expr_enable(&pdata->pinmux, expr);
+}
+
int aspeed_pinctrl_probe(struct platform_device *pdev,
struct pinctrl_desc *pdesc,
struct aspeed_pinctrl_data *pdata)
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.h b/drivers/pinctrl/aspeed/pinctrl-aspeed.h
-index d4d7f03..0037b11 100644
+index 11cc0eb6666b..735162ebb855 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed.h
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.h
-@@ -595,6 +595,9 @@ int aspeed_pinmux_set_mux(struct pinctrl_dev *pctldev, unsigned int function,
+@@ -64,6 +64,9 @@ int aspeed_pinmux_set_mux(struct pinctrl_dev *pctldev, unsigned int function,
int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range,
unsigned int offset);
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0003-Enable-GPIOE0-and-GPIOE2-pass-through-by-default.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0003-Enable-GPIOE0-and-GPIOE2-pass-through-by-default.patch
index 1d26b9667..c38134b8c 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0003-Enable-GPIOE0-and-GPIOE2-pass-through-by-default.patch
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0003-Enable-GPIOE0-and-GPIOE2-pass-through-by-default.patch
@@ -1,4 +1,4 @@
-From d26dd7c4ef1a2cb88440420deccc54eb88129c60 Mon Sep 17 00:00:00 2001
+From 7513371d16158cb638dd97e81b402bbef7ed3156 Mon Sep 17 00:00:00 2001
From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
Date: Mon, 6 May 2019 14:18:27 -0700
Subject: [PATCH] Enable GPIOE0 and GPIOE2 pass-through by default
@@ -23,10 +23,10 @@ Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2 files changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-index 45556ac..051e927 100644
+index b049f816bf67..4815104459f1 100644
--- a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-@@ -124,6 +124,10 @@
+@@ -116,6 +116,10 @@
&gpio {
status = "okay";
@@ -35,21 +35,21 @@ index 45556ac..051e927 100644
+ pinctrl-0 = <&pinctrl_gpie0_default
+ &pinctrl_gpie2_default>;
gpio-line-names =
- /*A0-A8*/ "","","","","","","","",
- /*B0-B8*/ "","","","","","","","",
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "","","","","","","","",
diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
-index 2175070..f47d139 100644
+index 13d80bfbc3b6..e426452a28f7 100644
--- a/drivers/gpio/gpio-aspeed.c
+++ b/drivers/gpio/gpio-aspeed.c
-@@ -1157,6 +1157,7 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
+@@ -1152,6 +1152,7 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
+ {
const struct of_device_id *gpio_id;
struct aspeed_gpio *gpio;
- struct resource *res;
+ struct pinctrl *pinctrl;
int rc, i, banks;
gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
-@@ -1205,6 +1206,15 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
+@@ -1199,6 +1200,15 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
return -ENOMEM;
/*
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0004-Test-code-for-LPC-MBOX.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0004-Test-code-for-LPC-MBOX.patch
deleted file mode 100644
index dbb163d20..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0004-Test-code-for-LPC-MBOX.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 2f3587cf9e44f261fe74413ef6a54467686c910b Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Tue, 20 Nov 2018 15:49:15 -0800
-Subject: [PATCH] Test code for LPC MBOX
-
-Blocked interrupt driven code for test.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- drivers/misc/aspeed-lpc-mbox.c | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/misc/aspeed-lpc-mbox.c b/drivers/misc/aspeed-lpc-mbox.c
-index 0f0c711bafee..0933e0553953 100644
---- a/drivers/misc/aspeed-lpc-mbox.c
-+++ b/drivers/misc/aspeed-lpc-mbox.c
-@@ -19,6 +19,8 @@
-
- #define DEVICE_NAME "aspeed-mbox"
-
-+#define MBX_USE_INTERRUPT 0
-+
- #define ASPEED_MBOX_NUM_REGS 16
-
- #define ASPEED_MBOX_DATA_0 0x00
-@@ -79,12 +81,14 @@ static int aspeed_mbox_open(struct inode *inode, struct file *file)
- struct aspeed_mbox *mbox = file_mbox(file);
-
- if (atomic_inc_return(&aspeed_mbox_open_count) == 1) {
-+#if MBX_USE_INTERRUPT
- /*
- * Clear the interrupt status bit if it was left on and unmask
- * interrupts.
- * ASPEED_MBOX_CTRL_RECV bit is W1C, this also unmasks in 1 step
- */
- aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
-+#endif
- return 0;
- }
-
-@@ -106,6 +110,7 @@ static ssize_t aspeed_mbox_read(struct file *file, char __user *buf,
- if (count + *ppos > ASPEED_MBOX_NUM_REGS)
- return -EINVAL;
-
-+#if MBX_USE_INTERRUPT
- if (file->f_flags & O_NONBLOCK) {
- if (!(aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) &
- ASPEED_MBOX_CTRL_RECV))
-@@ -115,6 +120,7 @@ static ssize_t aspeed_mbox_read(struct file *file, char __user *buf,
- ASPEED_MBOX_CTRL_RECV)) {
- return -ERESTARTSYS;
- }
-+#endif
-
- mutex_lock(&mbox->mutex);
-
-@@ -129,8 +135,10 @@ static ssize_t aspeed_mbox_read(struct file *file, char __user *buf,
- count--;
- }
-
-+#if MBX_USE_INTERRUPT
- /* ASPEED_MBOX_CTRL_RECV bit is write to clear, this also unmasks in 1 step */
- aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
-+#endif
- ret = p - buf;
-
- out_unlock:
-@@ -180,7 +188,9 @@ static unsigned int aspeed_mbox_poll(struct file *file, poll_table *wait)
-
- poll_wait(file, &mbox->queue, wait);
-
-+#if MBX_USE_INTERRUPT
- if (aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) & ASPEED_MBOX_CTRL_RECV)
-+#endif
- mask |= POLLIN;
-
- return mask;
-@@ -206,6 +216,7 @@ static irqreturn_t aspeed_mbox_irq(int irq, void *arg)
- {
- struct aspeed_mbox *mbox = arg;
-
-+#if MBX_USE_INTERRUPT
- if (!(aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) & ASPEED_MBOX_CTRL_RECV))
- return IRQ_NONE;
-
-@@ -216,6 +227,7 @@ static irqreturn_t aspeed_mbox_irq(int irq, void *arg)
-
- /* Mask it off, we'll clear it when we the data gets read */
- aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_MASK, ASPEED_MBOX_BMC_CTRL);
-+#endif
-
- wake_up(&mbox->queue);
- return IRQ_HANDLED;
-@@ -248,7 +260,14 @@ static int aspeed_mbox_config_irq(struct aspeed_mbox *mbox,
- aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_0);
- aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_1);
-
-- aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
-+ aspeed_mbox_outb(mbox, aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) | ASPEED_MBOX_CTRL_MASK, ASPEED_MBOX_BMC_CTRL);
-+
-+ /*
-+ * Because mailbox data register init value is random, need to give a
-+ * init value to mailbox data register.
-+ */
-+ aspeed_mbox_outb(mbox, 0x00, ASPEED_MBOX_DATA_0);
-+
- return 0;
- }
-
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch
index 03b4f4da4..14b7154bf 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0005-128MB-flashmap-for-PFR.patch
@@ -1,4 +1,4 @@
-From ddfbe1364c6ecf77f06990e6550dfe5a3791e6bf Mon Sep 17 00:00:00 2001
+From 9a71adc7aecbfdf066ba54c763c2ecd8fb09d3cd Mon Sep 17 00:00:00 2001
From: Vikram Bodireddy <vikram.bodireddy@intel.com>
Date: Wed, 6 Feb 2019 15:59:34 +0530
Subject: [PATCH] Selecting 128MB for PFR
@@ -13,10 +13,10 @@ Signed-off-by: Vikram Bodireddy <vikram.bodireddy@intel.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-index 8aba46cdce46..6959a06d04e2 100644
+index 4815104459f1..df02bb1aaf36 100644
--- a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-@@ -90,7 +90,7 @@
+@@ -89,7 +89,7 @@
flash@0 {
status = "okay";
m25p,fast-read;
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0006-Allow-monitoring-of-power-control-input-GPIOs.patch b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0006-Allow-monitoring-of-power-control-input-GPIOs.patch
index d3b850efe..c1207055d 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0006-Allow-monitoring-of-power-control-input-GPIOs.patch
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/0006-Allow-monitoring-of-power-control-input-GPIOs.patch
@@ -1,4 +1,4 @@
-From 2e834ae04eba975066f80102c6f4656da314ca1e Mon Sep 17 00:00:00 2001
+From 029cf5d5ff436ea14ab2d33da32238910be0a8b2 Mon Sep 17 00:00:00 2001
From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
Date: Fri, 24 May 2019 12:42:59 -0700
Subject: [PATCH] Allow monitoring of power control input GPIOs
@@ -27,10 +27,10 @@ Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
-index beb0729..05d1081 100644
+index fbc9a68bd88c..6f151e7c8d81 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
-@@ -250,7 +250,7 @@ FUNC_GROUP_DECL(SD2, F19, E21, F20, D20, D21, E20, G18, C21);
+@@ -272,7 +272,7 @@ FUNC_GROUP_DECL(SD2, F19, E21, F20, D20, D21, E20, G18, C21);
#define B20 32
SIG_EXPR_LIST_DECL_SINGLE(NCTS3, NCTS3, SIG_DESC_SET(SCU80, 16));
@@ -39,7 +39,7 @@ index beb0729..05d1081 100644
SIG_EXPR_DECL(GPIE0IN, GPIE, GPIE_DESC);
SIG_EXPR_LIST_DECL_DUAL(GPIE0IN, GPIE0, GPIE);
MS_PIN_DECL(B20, GPIOE0, NCTS3, GPIE0IN);
-@@ -270,7 +270,7 @@ FUNC_GROUP_DECL(GPIE0, B20, C20);
+@@ -292,7 +292,7 @@ FUNC_GROUP_DECL(GPIE0, B20, C20);
#define F18 34
SIG_EXPR_LIST_DECL_SINGLE(NDSR3, NDSR3, SIG_DESC_SET(SCU80, 18));
@@ -48,7 +48,7 @@ index beb0729..05d1081 100644
SIG_EXPR_DECL(GPIE2IN, GPIE, GPIE_DESC);
SIG_EXPR_LIST_DECL_DUAL(GPIE2IN, GPIE2, GPIE);
MS_PIN_DECL(F18, GPIOE2, NDSR3, GPIE2IN);
-@@ -1349,7 +1349,7 @@ FUNC_GROUP_DECL(ADC15, H4);
+@@ -1371,7 +1371,7 @@ FUNC_GROUP_DECL(ADC15, H4);
#define R22 192
SIG_EXPR_DECL(SIOS3, SIOS3, SIG_DESC_SET(SCUA4, 8));
@@ -57,7 +57,7 @@ index beb0729..05d1081 100644
SIG_EXPR_LIST_DECL_DUAL(SIOS3, SIOS3, ACPI);
SIG_EXPR_LIST_DECL_SINGLE(DASHR22, DASHR22, SIG_DESC_SET(SCU94, 10));
MS_PIN_DECL(R22, GPIOY0, SIOS3, DASHR22);
-@@ -1357,7 +1357,7 @@ FUNC_GROUP_DECL(SIOS3, R22);
+@@ -1379,7 +1379,7 @@ FUNC_GROUP_DECL(SIOS3, R22);
#define R21 193
SIG_EXPR_DECL(SIOS5, SIOS5, SIG_DESC_SET(SCUA4, 9));
@@ -66,7 +66,7 @@ index beb0729..05d1081 100644
SIG_EXPR_LIST_DECL_DUAL(SIOS5, SIOS5, ACPI);
SIG_EXPR_LIST_DECL_SINGLE(DASHR21, DASHR21, SIG_DESC_SET(SCU94, 10));
MS_PIN_DECL(R21, GPIOY1, SIOS5, DASHR21);
-@@ -1373,7 +1373,7 @@ FUNC_GROUP_DECL(SIOPWREQ, P22);
+@@ -1395,7 +1395,7 @@ FUNC_GROUP_DECL(SIOPWREQ, P22);
#define P21 195
SIG_EXPR_DECL(SIOONCTRL, SIOONCTRL, SIG_DESC_SET(SCUA4, 11));
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/intel-ast2500.cfg b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/intel-ast2500.cfg
index 155ba3ae4..9860a2815 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/intel-ast2500.cfg
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed/intel-ast2500.cfg
@@ -12,7 +12,6 @@ CONFIG_PECI_CHARDEV=y
CONFIG_PECI_ASPEED=y
CONFIG_SENSORS_PECI_CPUTEMP=y
CONFIG_SENSORS_PECI_DIMMTEMP=y
-CONFIG_OF_CONFIGFS=y
CONFIG_CONFIGFS_FS=y
CONFIG_BLK_DEV_RAM_SIZE=49152
CONFIG_MAGIC_SYSRQ=y
@@ -21,10 +20,12 @@ CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_ASPEED_ESPI_SLAVE=y
CONFIG_ASPEED_KCS_IPMI_BMC=y
CONFIG_I2C_SLAVE=y
-CONFIG_I2C_SLAVE_EEPROM=n
CONFIG_I2C_SLAVE_MQUEUE=y
CONFIG_I2C_SLAVE_MQUEUE_MESSAGE_SIZE=256
CONFIG_I2C_SLAVE_MQUEUE_QUEUE_SIZE=32
+CONFIG_ASPEED_BT_IPMI_BMC=n
+CONFIG_ASPEED_LPC_CTRL=n
+CONFIG_ASPEED_LPC_MBOX=y
CONFIG_ASPEED_LPC_SIO=y
CONFIG_JTAG=y
CONFIG_JTAG_ASPEED=y
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed_%.bbappend
index 0ba716442..1ef28afb5 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-ast2500/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -3,7 +3,7 @@ SRC_URI += "file://intel-ast2500.cfg \
file://0001-arm-dts-add-DTS-for-Intel-platforms.patch \
file://0002-Enable-pass-through-on-GPIOE1-and-GPIOE3-free.patch \
file://0003-Enable-GPIOE0-and-GPIOE2-pass-through-by-default.patch \
- file://0004-Test-code-for-LPC-MBOX.patch \
file://0006-Allow-monitoring-of-power-control-input-GPIOs.patch \
+ file://0001-aspeed-pwm-tacho-change-default-fan-speed.patch \
"
-SRC_URI += "${@bb.utils.contains('IMAGE_TYPE', 'pfr', 'file://0005-128MB-flashmap-for-PFR.patch', '', d)}"
+SRC_URI += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'file://0005-128MB-flashmap-for-PFR.patch', '', d)}"
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/CYP-baseboard.json b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/CYP-baseboard.json
index 2bbaa0238..42e313568 100644..100755
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/CYP-baseboard.json
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/CYP-baseboard.json
@@ -224,6 +224,12 @@
"Type": "ADC"
},
{
+ "BridgeGpio": [
+ {
+ "Name": "P3VBAT_BRIDGE_EN",
+ "Polarity": "High"
+ }
+ ],
"Index": 7,
"Name": "P3VBAT",
"ScaleFactor": 0.3333,
@@ -661,20 +667,6 @@
},
{
"Direction": "Input",
- "Index": 48,
- "Name": "Cpu Err2",
- "Polarity": "Low",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
- "Index": 49,
- "Name": "Cpu Caterr",
- "Polarity": "Low",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
"Index": 50,
"Name": "PCH Thermaltrip",
"Polarity": "Low",
@@ -1150,6 +1142,90 @@
"Type": "Gpio"
},
{
+ "Address": "0x71",
+ "Bus": 2,
+ "ChannelNames": [
+ "M2_Slot1",
+ "M2_Slot2",
+ "",
+ ""
+ ],
+ "Name": "M.2 Mux",
+ "Type": "PCA9543Mux"
+ },
+ {
+ "Address": "0x70",
+ "Bus": 4,
+ "ChannelNames": [
+ "U2_Slot1",
+ "U2_Slot2",
+ "U2_Slot3",
+ "U2_Slot4"
+ ],
+ "Name": "HSBP 1 Mux",
+ "Type": "PCA9546Mux"
+ },
+ {
+ "Address": "0x74",
+ "Bus": 4,
+ "ChannelNames": [
+ "U2_Slot5",
+ "U2_Slot6",
+ "U2_Slot7",
+ "U2_Slot8"
+ ],
+ "Name": "HSBP 1 Mux2",
+ "Type": "PCA9546Mux"
+ },
+ {
+ "Address": "0x77",
+ "Bus": 4,
+ "ChannelNames": [
+ "U2_Slot1",
+ "U2_Slot2",
+ "U2_Slot3",
+ "U2_Slot4"
+ ],
+ "Name": "HSBP 2 Mux",
+ "Type": "PCA9546Mux"
+ },
+ {
+ "Address": "0x73",
+ "Bus": 4,
+ "ChannelNames": [
+ "U2_Slot5",
+ "U2_Slot6",
+ "U2_Slot7",
+ "U2_Slot8"
+ ],
+ "Name": "HSBP 2 Mux2",
+ "Type": "PCA9546Mux"
+ },
+ {
+ "Address": "0x76",
+ "Bus": 4,
+ "ChannelNames": [
+ "U2_Slot1",
+ "U2_Slot2",
+ "U2_Slot3",
+ "U2_Slot4"
+ ],
+ "Name": "HSBP 3 Mux",
+ "Type": "PCA9546Mux"
+ },
+ {
+ "Address": "0x72",
+ "Bus": 4,
+ "ChannelNames": [
+ "U2_Slot5",
+ "U2_Slot6",
+ "U2_Slot7",
+ "U2_Slot8"
+ ],
+ "Name": "HSBP 3 Mux2",
+ "Type": "PCA9546Mux"
+ },
+ {
"Address": "0x4D",
"Bus": 6,
"Name": "CPU0 VR Temp",
@@ -1343,13 +1419,17 @@
}
],
"Name": "CYP Baseboard",
- "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*CYP'})",
- "Type": "Board",
+ "Probe": [
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'M50CYP2SB2U'})",
+ "OR",
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*CYP'})"
+ ],
"ProductId": 152,
+ "Type": "Board",
"xyz.openbmc_project.Inventory.Decorator.Asset": {
"Manufacturer": "$PRODUCT_MANUFACTURER",
"Model": "$PRODUCT_PRODUCT_NAME",
"PartNumber": "$PRODUCT_PART_NUMBER",
"SerialNumber": "$PRODUCT_SERIAL_NUMBER"
}
-}
+} \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/TNP-baseboard.json b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/TNP-baseboard.json
index 39e101e77..235e7965a 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/TNP-baseboard.json
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/TNP-baseboard.json
@@ -193,6 +193,12 @@
"Type": "ADC"
},
{
+ "BridgeGpio": [
+ {
+ "Name": "P3VBAT_BRIDGE_EN",
+ "Polarity": "High"
+ }
+ ],
"Index": 7,
"Name": "P3VBAT",
"ScaleFactor": 0.3333,
@@ -558,33 +564,12 @@
},
{
"Direction": "Input",
- "Index": 49,
- "Name": "Cpu Caterr",
- "Polarity": "Low",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
- "Index": 48,
- "Name": "Cpu Err2",
- "Polarity": "Low",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
"Index": 63,
"Name": "PU 240VA Status",
"Polarity": "Low",
"Type": "Gpio"
},
{
- "Direction": "Out",
- "Index": 208,
- "Name": "P3v3bat BridgeEn",
- "Polarity": "High",
- "Type": "Gpio"
- },
- {
"Direction": "Input",
"Index": 214,
"Name": "Nmi Button",
@@ -1687,6 +1672,39 @@
"Type": "IpmbSensor"
},
{
+ "Address": "0x20",
+ "Bus": 10,
+ "Class": "NodePower",
+ "Name": "Node Power",
+ "Thresholds": [
+ {
+ "Direction": "greater than",
+ "Name": "upper critical",
+ "Severity": 1,
+ "Value": 255
+ },
+ {
+ "Direction": "greater than",
+ "Name": "upper non critical",
+ "Severity": 0,
+ "Value": 250
+ },
+ {
+ "Direction": "less than",
+ "Name": "lower non critical",
+ "Severity": 0,
+ "Value": 5
+ },
+ {
+ "Direction": "less than",
+ "Name": "lower critical",
+ "Severity": 1,
+ "Value": 0
+ }
+ ],
+ "Type": "MP5920"
+ },
+ {
"GpioPins": [
27,
26
@@ -1818,7 +1836,11 @@
}
],
"Name": "TNP Baseboard",
- "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*TNP'})",
+ "Probe": [
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'D50TNP1SB'})",
+ "OR",
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*TNP'})"
+ ],
"ProductId": 153,
"Type": "Board",
"xyz.openbmc_project.Inventory.Decorator.Asset": {
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WC-Baseboard.json b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WC-Baseboard.json
index ce98132d6..9431c30a6 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WC-Baseboard.json
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WC-Baseboard.json
@@ -162,7 +162,12 @@
"Type": "ADC"
},
{
- "BridgeGpio": 208,
+ "BridgeGpio": [
+ {
+ "Name": "P3VBAT_BRIDGE_EN",
+ "Polarity": "High"
+ }
+ ],
"Index": 7,
"Name": "P3VBAT",
"ScaleFactor": 0.3333,
@@ -656,13 +661,6 @@
"Type": "FanRedundancy"
},
{
- "Direction": "Out",
- "Index": 208,
- "Name": "Bridge P3VBAT",
- "Polarity": "Low",
- "Type": "Gpio"
- },
- {
"Direction": "Input",
"Index": 40,
"Name": "NMI Input",
@@ -671,20 +669,6 @@
},
{
"Direction": "Input",
- "Index": 48,
- "Name": "CPU ERR2",
- "Polarity": "High",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
- "Index": 49,
- "Name": "CPU CATERR",
- "Polarity": "High",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
"Index": 214,
"Name": "SMI Input",
"Polarity": "High",
@@ -1197,7 +1181,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 65.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1439,7 +1423,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1464,7 +1448,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1490,7 +1474,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1515,7 +1499,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1541,7 +1525,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1567,7 +1551,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1592,7 +1576,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1669,7 +1653,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 75.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1686,16 +1670,18 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "VR 1 Temp"
+ "CPU1 VR Mem ABCD Temp",
+ "CPU1 VR Mem ABCD Temp",
+ "CPU1 VR P1V8"
],
- "Name": "VR 1 Temp",
+ "Name": "CPU 1 VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 85.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1711,16 +1697,18 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "VR 2 Temp"
+ "CPU2 VR Mem ABCD Temp",
+ "CPU2 VR Mem ABCD Temp",
+ "CPU2 VR P1V8"
],
- "Name": "VR 2 Temp",
+ "Name": "CPU 2 VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 85.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -2036,7 +2024,11 @@
}
],
"Name": "WC Baseboard",
- "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*WC'})",
+ "Probe": [
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'WilsonCity'})",
+ "OR",
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*WC'})"
+ ],
"ProductId": 145,
"Type": "Board",
"xyz.openbmc_project.Inventory.Decorator.Asset": {
@@ -2044,5 +2036,9 @@
"Model": "$PRODUCT_PRODUCT_NAME",
"PartNumber": "$PRODUCT_PART_NUMBER",
"SerialNumber": "$PRODUCT_SERIAL_NUMBER"
- }
+ },
+ "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+ "AssetTag": "$PRODUCT_ASSET_TAG"
+ },
+ "xyz.openbmc_project.Inventory.Item.System": {}
} \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WP-Baseboard.json b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WP-Baseboard.json
index 923924a0b..7da6fe261 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WP-Baseboard.json
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/configuration/entity-manager/WP-Baseboard.json
@@ -162,7 +162,12 @@
"Type": "ADC"
},
{
- "BridgeGpio": 208,
+ "BridgeGpio": [
+ {
+ "Name": "P3VBAT_BRIDGE_EN",
+ "Polarity": "High"
+ }
+ ],
"Index": 7,
"Name": "P3VBAT",
"ScaleFactor": 0.3333,
@@ -656,20 +661,6 @@
"Type": "FanRedundancy"
},
{
- "Direction": "Out",
- "Index": 208,
- "Name": "Bridge P3VBAT",
- "Polarity": "Low",
- "Type": "Gpio"
- },
- {
- "Direction": "Input",
- "Index": 49,
- "Name": "CPU CATERR",
- "Polarity": "High",
- "Type": "Gpio"
- },
- {
"Direction": "Input",
"Index": 214,
"Name": "SMI Input",
@@ -1183,7 +1174,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 65.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1425,7 +1416,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1450,7 +1441,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1476,7 +1467,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1501,7 +1492,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1527,7 +1518,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1553,7 +1544,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1578,7 +1569,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 80.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1655,7 +1646,7 @@
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 75.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1672,16 +1663,18 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "VR 1 Temp"
+ "CPU1 VR Mem ABCD Temp",
+ "CPU1 VR Mem ABCD Temp",
+ "CPU1 VR P1V8"
],
- "Name": "VR 1 Temp",
+ "Name": "CPU 1 VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 85.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -1697,16 +1690,18 @@
"ILimitMax": 100,
"ILimitMin": 30,
"Inputs": [
- "VR 2 Temp"
+ "CPU2 VR Mem ABCD Temp",
+ "CPU2 VR Mem ABCD Temp",
+ "CPU2 VR P1V8"
],
- "Name": "VR 2 Temp",
+ "Name": "CPU 2 VR Temp",
"NegativeHysteresis": 5.0,
"OutLimitMax": 100,
"OutLimitMin": 30,
"Outputs": [],
"PCoefficient": -0.15,
"PositiveHysteresis": 0.0,
- "SetPoint": 60.0,
+ "SetPoint": 85.0,
"SlewNeg": -1,
"SlewPos": 0.0,
"Type": "Pid",
@@ -2022,7 +2017,11 @@
}
],
"Name": "WP Baseboard",
- "Probe": "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*WP'})",
+ "Probe": [
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': 'WilsonPoint'})",
+ "OR",
+ "xyz.openbmc_project.FruDevice({'PRODUCT_PRODUCT_NAME': '.*WP'})"
+ ],
"ProductId": 154,
"Type": "Board",
"xyz.openbmc_project.Inventory.Decorator.Asset": {
@@ -2030,5 +2029,9 @@
"Model": "$PRODUCT_PRODUCT_NAME",
"PartNumber": "$PRODUCT_PART_NUMBER",
"SerialNumber": "$PRODUCT_SERIAL_NUMBER"
- }
-}
+ },
+ "xyz.openbmc_project.Inventory.Decorator.AssetTag": {
+ "AssetTag": "$PRODUCT_ASSET_TAG"
+ },
+ "xyz.openbmc_project.Inventory.Item.System": {}
+} \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed.bb b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed.bb
deleted file mode 100644
index 9c10c5b3d..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Set Wolfpass fan default speeds"
-DESCRIPTION = "Sets all fans to a single speed"
-
-inherit allarch
-inherit obmc-phosphor-systemd
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-RDEPENDS_${PN} += "python"
-
-S = "${WORKDIR}"
-SRC_URI += "file://set_fan_speeds.py"
-
-SYSTEMD_SERVICE_${PN} += "fan-default-speed.service"
-
-do_install() {
- install -d ${D}/${bindir}
- install -m 0755 ${WORKDIR}/set_fan_speeds.py ${D}/${bindir}/set_fan_speeds.py
-}
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service
deleted file mode 100644
index 267fdee43..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Set fans to a default speed
-ConditionFileNotEmpty={bindir}/set_fan_speeds.py
-
-[Service]
-ExecStart={bindir}/set_fan_speeds.py 150
-Type=oneshot
-
-[Install]
-WantedBy=default.target
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py
deleted file mode 100644
index 70ba64799..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/python
-import os
-import glob
-import time
-import sys
-
-HWMON_DIR = "/sys/class/hwmon/hwmon0"
-
-count = 0
-inputs = None
-while not inputs:
- count += 1
- if count > 20:
- print("pwm missing!")
- sys.exit(0)
-
- inputs = glob.glob(os.path.join(HWMON_DIR, "pwm*"))
- time.sleep(5)
-
-inputs = glob.glob(os.path.join(HWMON_DIR, "pwm*"))
-for pwm in inputs:
- with open(pwm, 'w') as f:
- f.write(sys.argv[1])
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru.bb b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru.bb
index 1ae1680e0..b8b8f7524 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru.bb
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru.bb
@@ -8,13 +8,25 @@ SYSTEMD_SERVICE_${PN} = "SetBaseboardFru.service"
S = "${WORKDIR}"
SRC_URI = "file://checkFru.sh \
file://SetBaseboardFru.service \
- file://*.fru.bin"
+ file://create_fru.py"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
RDEPENDS_${PN} = "bash"
+python do_compile() {
+ import sys
+ workdir = d.getVar('WORKDIR', True)
+ sys.path.insert(0, workdir)
+ from create_fru import create_fru
+ create_fru('S2600WFT')
+ create_fru('WilsonCity')
+ create_fru('WilsonPoint')
+ create_fru('M50CYP2SB2U')
+ create_fru('D50TNP1SB')
+}
+
do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/checkFru.sh ${D}/${bindir}/checkFru.sh
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin
deleted file mode 100644
index ba5b96392..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600CYP.fru.bin
+++ /dev/null
Binary files differ
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600TNP.fru.bin b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600TNP.fru.bin
deleted file mode 100644
index afd58e6b9..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600TNP.fru.bin
+++ /dev/null
Binary files differ
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WC.fru.bin b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WC.fru.bin
deleted file mode 100644
index 76c4b8d4b..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WC.fru.bin
+++ /dev/null
Binary files differ
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin
deleted file mode 100644
index 1b9f97ff4..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WFT.fru.bin
+++ /dev/null
Binary files differ
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WP.fru.bin b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WP.fru.bin
deleted file mode 100644
index fb219c0ce..000000000
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/S2600WP.fru.bin
+++ /dev/null
Binary files differ
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/checkFru.sh b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/checkFru.sh
index 1eb79b299..4b7910198 100755
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/checkFru.sh
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/checkFru.sh
@@ -22,16 +22,16 @@ done
# wp
if (($result == 62)); then
- cat S2600WP.fru.bin > $fruFile
+ cat WilsonPoint.fru.bin > $fruFile
# wc
elif (($result == 45)); then
- cat S2600WC.fru.bin > $fruFile
+ cat WilsonCity.fru.bin > $fruFile
# cyp
elif (($result == 60)); then
- cat S2600CYP.fru.bin > $fruFile
+ cat M50CYP2SB2U.fru.bin > $fruFile
# tnp
elif (($result == 12)); then
- cat S2600TNP.fru.bin > $fruFile
+ cat D50TNP1SB.fru.bin > $fruFile
# default to wft
else
cat S2600WFT.fru.bin > $fruFile
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/create_fru.py b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/create_fru.py
new file mode 100755
index 000000000..7f11cbf2d
--- /dev/null
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/fru/default-fru/create_fru.py
@@ -0,0 +1,154 @@
+#!/usr/bin/python3
+
+"""
+This script generates a default baseboard fru file.
+"""
+
+
+def create_fru(name):
+ if len(name) > 16:
+ raise Exception('Product Name Too Large: {}'.format(name))
+
+ fill_char = ord('.')
+ eof = 0xC1
+
+ filename = '{}.fru.bin'.format(name)
+ name = name.encode('ascii')
+
+ name_len = (0x3 << 6) | len(name)
+
+ # internal area
+ internal = [0x01] + ([0] * 6) + [0x01]
+
+ # chassis area
+ chassis = [0x01, # Chassis Info Area Format Version Bit Fields
+ 0xFF, # Chassis Info Area Length (in multiples of 8 bytes)
+ 0x17] # Chassis Type (Main Server Chassis)
+
+ fill_len = 18
+
+ # Chassis Part Number
+ chassis += [0x3 << 6 | fill_len] + ([fill_char] * fill_len)
+
+ # Chassis Serial Number
+ chassis += [0x3 << 6 | fill_len] + ([fill_char] * fill_len)
+
+ fill_len = 31
+ chassis += [0x3 << 6 | fill_len] + ([fill_char] * fill_len) # Info AM1
+ chassis += [0x3 << 6 | fill_len] + ([fill_char] * fill_len) # Info AM2
+
+ chassis.append(eof)
+
+ chassis.append(0) # need room for checksum
+
+ while len(chassis) % 8: # pad
+ chassis.append(0)
+
+ chassis[1] = int(len(chassis) / 8) # populate length
+ chassis[-1] = (256 - sum(chassis)) & 0xFF # populate checksum
+
+ # board area
+ board = [0x1, # Board Info Area Format Version Bit Fields
+ 0xFF, # Board Info Area Length (in multiples of 8 bytes)
+ 0x0, # Language Code
+ 0x0, # Mfg. Date/Time
+ 0x0, # Mfg. Date/Time
+ 0x0, # Mfg. Date/Time
+ 0xD1] # Product Manufacturer Name Len
+
+ corp = b'Intel Corporation'
+ board += bytearray(corp) # Manufacturer Name
+
+ board.append(name_len)
+ board += bytearray(name) # Board Product Name
+
+ fill_len = 12
+ board += [0x3 << 6 | fill_len] + ([fill_char] * fill_len) # board SN
+
+ fill_len = 10
+ board += [0x3 << 6 | fill_len] + ([fill_char] * fill_len) # board PN
+
+ version = b'FRU Ver 0.01'
+
+ board += [0x3 << 6 | len(version)] # FRU File version ID string
+ board += bytearray(version)
+
+ board.append(eof)
+
+ board.append(0) # need room for checksum
+
+ while len(board) % 8:
+ board.append(0)
+
+ board[1] = int(len(board) / 8) # populate length
+ board[-1] = (256 - sum(board)) & 0xFF # populate checksum
+
+ # product area
+ product = [1, # Product Info Area Format Version Bit Fields
+ 0xFF, # Product Info Area Length (in multiples of 8 bytes)
+ 0x0, # Language Code
+ 0xD1] # Product Manufacturer Name Len
+
+ product += bytearray(corp) # Manufacturer Name
+
+ product.append(name_len) # Product Name Len
+ product += bytearray(name) # Product Name
+
+ fill_len = 10
+
+ # Product Part Number
+ product += [0x3 << 6 | fill_len] + ([fill_char] * fill_len)
+
+ # Product Version
+ fill_len = 20
+ product += [0x3 << 6 | fill_len] + ([fill_char] * fill_len)
+
+ # Product Serial Number
+ fill_len = 12
+ product += [0x3 << 6 | fill_len] + ([fill_char] * fill_len)
+
+ # Asset Tag
+ fill_len = 20
+ product += [0x3 << 6 | fill_len] + ([fill_char] * fill_len)
+
+ product.append(0xC0) # FRU File ID (Not used)
+ product.append(eof)
+
+ product.append(0) # need room for checksum
+
+ while len(product) % 8:
+ product.append(0)
+
+ product[1] = int(len(product) / 8)
+ product[-1] = (256 - sum(product)) & 0xFF
+
+ header = [0x1]
+ length = 1 # internal
+ header.append(length)
+ length += int(len(internal) / 8)
+ header.append(length)
+ length += int(len(chassis) / 8)
+ header.append(length)
+ length += int(len(board) / 8)
+ header.append(length)
+ header.append(0)
+ header.append(0)
+ header.append((256 - sum(header)) & 0xFF)
+
+ result = header + internal + chassis + board + product
+
+ while len(result) < 0x1FF:
+ result.append(0)
+
+ result = bytearray(result)
+
+ # print(result)
+
+ with open(filename, 'wb') as out:
+ out.write(result)
+
+
+if __name__ == '__main__':
+ product_name = input('Enter Product Name: ')
+ create_fru(product_name)
+
diff --git a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/workbook/wolfpass-config.bb b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/workbook/wolfpass-config.bb
index ead62f47e..c91053536 100644
--- a/meta-openbmc-mods/meta-ast2500/recipes-phosphor/workbook/wolfpass-config.bb
+++ b/meta-openbmc-mods/meta-ast2500/recipes-phosphor/workbook/wolfpass-config.bb
@@ -7,4 +7,4 @@ inherit config-in-skeleton
LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
SRCREV = "946064239016e38cd1cc346047b1d26960c06cdb"
-SKELETON_URI = "git://git-amr-1.devtools.intel.com:29418/openbmc-skeleton.git;protocol=ssh;branch=intel"
+SKELETON_URI = "git://git@github.com/Intel-BMC/skeleton.git;protocol=ssh;branch=intel"
diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch
new file mode 100644
index 000000000..cca6c838b
--- /dev/null
+++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch
@@ -0,0 +1,83 @@
+From 2ad1d60c39a2a9a08bcd29188362efba4e92e546 Mon Sep 17 00:00:00 2001
+From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
+Date: Tue, 9 Apr 2019 16:18:07 -0700
+Subject: [PATCH] hw/arm/aspeed: Add an intel-ast2500 machine type
+
+Include the HW strap setting and some I2C temperature sensors.
+
+Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ hw/arm/aspeed.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
+index 465e65f323..80e8466aa9 100644
+--- a/hw/arm/aspeed.c
++++ b/hw/arm/aspeed.c
+@@ -60,6 +60,21 @@ struct AspeedBoardState {
+ SCU_HW_STRAP_MAC0_RGMII) & \
+ ~SCU_HW_STRAP_2ND_BOOT_WDT)
+
++/* intel ast2500 hardware value: 0xF3CCC286 */
++#define INTEL_AST2500_BMC_HW_STRAP1 (( \
++ AST2500_HW_STRAP1_DEFAULTS | \
++ SCU_AST2500_HW_STRAP_SPI_AUTOFETCH_ENABLE | \
++ SCU_AST2500_HW_STRAP_GPIO_STRAP_ENABLE | \
++ SCU_AST2500_HW_STRAP_UART_DEBUG | \
++ SCU_AST2500_HW_STRAP_ESPI_ENABLE | \
++ SCU_AST2500_HW_STRAP_DDR4_ENABLE | \
++ SCU_HW_STRAP_GPIOE_PT_EN | \
++ SCU_AST2400_HW_STRAP_ACPI_DIS | \
++ SCU_HW_STRAP_CLK_48M_IN | \
++ SCU_HW_STRAP_VGA_CLASS_CODE | \
++ SCU_HW_STRAP_MAC1_RGMII) & \
++ ~SCU_HW_STRAP_2ND_BOOT_WDT)
++
+ /* Romulus hardware value: 0xF10AD206 */
+ #define ROMULUS_BMC_HW_STRAP1 ( \
+ AST2500_HW_STRAP1_DEFAULTS | \
+@@ -281,6 +296,24 @@ static void ast2500_evb_i2c_init(AspeedBoardState *bmc)
+ i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), "ds1338", 0x32);
+ }
+
++static void intel_ast2500_i2c_init(AspeedBoardState *bmc)
++{
++ AspeedSoCState *soc = &bmc->soc;
++ DeviceState *dev;
++
++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp421", 0x4d);
++ object_property_set_int(OBJECT(dev), 50000, "temperature0", &error_abort);
++ /* The s2600wf expects a TMP75 but a TMP105 is compatible */
++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x48);
++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort);
++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x49);
++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort);
++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x4a);
++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort);
++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x4b);
++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort);
++}
++
+ static void romulus_bmc_i2c_init(AspeedBoardState *bmc)
+ {
+ AspeedSoCState *soc = &bmc->soc;
+@@ -390,6 +423,15 @@ static const AspeedBoardConfig aspeed_boards[] = {
+ .spi_model = "mx25l25635e",
+ .num_cs = 1,
+ .i2c_init = ast2500_evb_i2c_init,
++ }, {
++ .name = MACHINE_TYPE_NAME("intel-ast2500"),
++ .desc = "Intel AST2500 BMC (ARM1176)",
++ .soc_name = "ast2500-a1",
++ .hw_strap1 = INTEL_AST2500_BMC_HW_STRAP1,
++ .fmc_model = "n25q512a",
++ .spi_model = "n25q512a",
++ .num_cs = 1,
++ .i2c_init = intel_ast2500_i2c_init,
+ }, {
+ .name = MACHINE_TYPE_NAME("romulus-bmc"),
+ .desc = "OpenPOWER Romulus BMC (ARM1176)",
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-Turn-Off-FFWUPD-Jumper.patch b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-Turn-Off-FFWUPD-Jumper.patch
new file mode 100644
index 000000000..2f81895d0
--- /dev/null
+++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-Turn-Off-FFWUPD-Jumper.patch
@@ -0,0 +1,32 @@
+From db99abbddc9fe958353e47fcd91c741bd7a93066 Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Wed, 19 Jun 2019 14:15:07 -0700
+Subject: [PATCH] Turn Off FFWUPD Jumper
+
+This disabled the jumper so we don't get stuck during
+boot.
+
+TODO: Do this the "right way", if there is one.
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ hw/gpio/aspeed_gpio.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c
+index 12d8a49666..ca6f8dd0dd 100644
+--- a/hw/gpio/aspeed_gpio.c
++++ b/hw/gpio/aspeed_gpio.c
+@@ -29,6 +29,9 @@ static uint64_t aspeed_gpio_read(void *opaque, hwaddr addr,
+ val = s->regs[addr];
+ }
+
++ if (addr == 0x0){
++ val |= 1 << 0x18; // ffupd jumper
++ }
+ return val;
+ }
+
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend
new file mode 100644
index 000000000..4b4630d7c
--- /dev/null
+++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI = "git://github.com/openbmc/qemu.git \
+ file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch \
+ file://0002-Turn-Off-FFWUPD-Jumper.patch"
+
+QEMU_TARGETS = "arm"
+
+S = "${WORKDIR}/git"
+SRCREV = "5dca85cb0b85ac309d131f9db1fb57af282d67cc"
diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend
new file mode 100644
index 000000000..fb0a749bb
--- /dev/null
+++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI = "git://github.com/openbmc/qemu.git \
+ file://powerpc_rom.bin \
+ file://run-ptest \
+ file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch \
+ file://0002-Turn-Off-FFWUPD-Jumper.patch"
+
+QEMU_TARGETS = "arm"
+
+S = "${WORKDIR}/git"
+SRCREV = "5dca85cb0b85ac309d131f9db1fb57af282d67cc"
diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend
new file mode 100644
index 000000000..b25c0f2e8
--- /dev/null
+++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend
@@ -0,0 +1,7 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI = "git://github.com/openbmc/qemu.git \
+ file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch \
+ file://0002-Turn-Off-FFWUPD-Jumper.patch"
+
+S = "${WORKDIR}/git"
+SRCREV = "5dca85cb0b85ac309d131f9db1fb57af282d67cc"
diff --git a/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
new file mode 100644
index 000000000..834c09229
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/classes/image_types_intel_pfr.bbclass
@@ -0,0 +1,112 @@
+
+
+inherit obmc-phosphor-full-fitimage
+
+require recipes-core/os-release/version-vars.inc
+
+IMAGE_TYPES += "intel-pfr"
+
+IMAGE_TYPEDEP_intel-pfr = "mtd-auto"
+IMAGE_TYPES_MASKED += "intel-pfr"
+
+# PFR macros
+# directory where PFR scripts and key are copied
+PFR_STAGING_DIR = "${STAGING_DIR}/intel-pfr-files"
+# PFR images directory
+PFR_IMAGES_DIR = "${DEPLOY_DIR_IMAGE}/pfr_images"
+
+# Refer flash map in manifest.json for the addresses offset
+PFM_OFFSET = "0x80000"
+
+# 0x80000/1024 = 0x200 or 512, 1K Page size.
+PFM_OFFSET_PAGE = "512"
+
+# RC_IMAGE
+RC_IMAGE_OFFSET = "0x02a00000"
+
+# RC_IMAGE_PAGE= 0x02a00000/1024 = 0xA800 or 43008
+RC_IMAGE_PAGE = "43008"
+
+do_image_pfr () {
+ bbplain "Generating Intel PFR compliant BMC image"
+
+ bbplain "Build Version = ${build_version}"
+ bbplain "Build Number = ${build_number}"
+ bbplain "Build Hash = ${build_hash}"
+
+ mkdir -p "${PFR_IMAGES_DIR}"
+ cd "${PFR_IMAGES_DIR}"
+
+ # python script that does the creating PFM, BMC compressed and unsigned images from BMC 128MB raw binary file.
+ python ${PFR_STAGING_DIR}/pfr_image.py ${PFR_STAGING_DIR}/pfr_image-manifest.json ${DEPLOY_DIR_IMAGE}/image-mtd ${build_version} ${build_number} ${build_hash}
+
+ # sign the PFM region
+ ${PFR_STAGING_DIR}/blocksign -c ${PFR_STAGING_DIR}/pfm_config.xml -o ${PFR_IMAGES_DIR}/pfm_signed.bin ${PFR_IMAGES_DIR}/pfm.bin
+
+ # Add the signed PFM to rom image
+ dd bs=1k conv=notrunc seek=${PFM_OFFSET_PAGE} if=${PFR_IMAGES_DIR}/pfm_signed.bin of=${PFR_IMAGES_DIR}/image-mtd-pfr
+
+ # Create unsigned BMC update capsule - append with 1. pfm_signed, 2. pbc, 3. bmc compressed
+ dd if=${PFR_IMAGES_DIR}/pfm_signed.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
+
+ dd if=${PFR_IMAGES_DIR}/pbc.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
+
+ dd if=${PFR_IMAGES_DIR}/bmc_compressed.bin bs=1k >> ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
+
+ # Sign the BMC update capsule
+ ${PFR_STAGING_DIR}/blocksign -c ${PFR_STAGING_DIR}/bmc_config.xml -o ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin
+
+ # Add the signed bmc update capsule to full rom image @ 0x2a00000
+ dd bs=1k conv=notrunc seek=${RC_IMAGE_PAGE} if=${PFR_IMAGES_DIR}/bmc_signed_cap.bin of=${PFR_IMAGES_DIR}/image-mtd-pfr
+
+ # Append date and time to all the PFR images
+ mv ${PFR_IMAGES_DIR}/pfm_signed.bin ${PFR_IMAGES_DIR}/pfm_signed-${DATETIME}.bin
+ mv ${PFR_IMAGES_DIR}/pfm.bin ${PFR_IMAGES_DIR}/pfm-${DATETIME}.bin
+ mv ${PFR_IMAGES_DIR}/pbc.bin ${PFR_IMAGES_DIR}/pbc-${DATETIME}.bin
+ mv ${PFR_IMAGES_DIR}/bmc_compressed.bin ${PFR_IMAGES_DIR}/bmc_compressed-${DATETIME}.bin
+ mv ${PFR_IMAGES_DIR}/bmc_unsigned_cap.bin ${PFR_IMAGES_DIR}/bmc_unsigned-cap_${DATETIME}.bin
+ mv ${PFR_IMAGES_DIR}/bmc_signed_cap.bin ${PFR_IMAGES_DIR}/bmc_signed_cap-${DATETIME}.bin
+ mv ${PFR_IMAGES_DIR}/image-mtd-pfr ${PFR_IMAGES_DIR}/image-mtd-pfr-${DATETIME}
+}
+
+do_image_pfr[vardepsexclude] += "DATETIME"
+do_image_pfr[vardeps] += "IPMI_MAJOR IPMI_MINOR IPMI_AUX13 IPMI_AUX14 IPMI_AUX15 IPMI_AUX16"
+
+python() {
+ types = d.getVar('IMAGE_FSTYPES', True).split()
+
+ if 'intel-pfr' in types:
+
+ bld_ver1 = d.getVar('IPMI_MAJOR', True)
+ bld_ver1 = int(bld_ver1) << 8
+
+ bld_ver2 = d.getVar('IPMI_MINOR', True)
+ bld_ver2 = int(bld_ver2)
+
+ bld_ver = bld_ver1 | bld_ver2
+ d.setVar('build_version', str(bld_ver))
+
+ bld_num = d.getVar('IPMI_AUX13', True)
+
+ d.setVar('build_number', bld_num)
+
+ bld_hash1 = d.getVar('IPMI_AUX14', True)
+ bld_hash2 = d.getVar('IPMI_AUX15', True)
+ bld_hash3 = d.getVar('IPMI_AUX16', True)
+
+ bld_hash1 = int(bld_hash1, 16)
+ bld_hash2 = int(bld_hash2, 16)
+ bld_hash3 = int(bld_hash3, 16)
+
+ bld_hash = bld_hash3 << 16
+ bld_hash |= bld_hash2 << 8
+ bld_hash |= bld_hash1
+
+ d.setVar('build_hash', str(bld_hash))
+
+ bb.build.addtask(# task, depends_on_task, task_depends_on, d )
+ 'do_image_pfr',
+ 'do_build',
+ 'do_generate_auto', d)
+}
+
diff --git a/meta-openbmc-mods/meta-common/classes/image_types_phosphor_auto.bbclass b/meta-openbmc-mods/meta-common/classes/image_types_phosphor_auto.bbclass
index 24469356f..f90a19c4b 100644
--- a/meta-openbmc-mods/meta-common/classes/image_types_phosphor_auto.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/image_types_phosphor_auto.bbclass
@@ -19,11 +19,13 @@ IMAGE_TYPES_MASKED += "mtd-auto"
# Flash characteristics in KB unless otherwise noted
python() {
+ types = d.getVar('IMAGE_FSTYPES', True).split()
+
# TODO: find partition list in DTS
d.setVar('FLASH_UBOOT_OFFSET', str(0))
- if d.getVar('IMAGE_TYPE', True) == 'pfr':
+ if 'intel-pfr' in types:
d.setVar('FLASH_SIZE', str(128*1024))
- DTB_FULL_FIT_IMAGE_OFFSETS = [0x1100000]
+ DTB_FULL_FIT_IMAGE_OFFSETS = [0xb00000]
else:
d.setVar('FLASH_SIZE', str(64*1024))
DTB_FULL_FIT_IMAGE_OFFSETS = [0x80000, 0x2480000]
@@ -42,7 +44,7 @@ mk_nor_image() {
}
do_generate_auto() {
- bbdebug 1 "do_generate_auto IMAGE_TYPE=${IMAGE_TYPE} size=${FLASH_SIZE}KB (${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.auto.mtd)"
+ bbdebug 1 "do_generate_auto IMAGE_TYPES=${IMAGE_TYPES} size=${FLASH_SIZE}KB (${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.auto.mtd)"
# Assemble the flash image
mk_nor_image ${IMGDEPLOYDIR}/${IMAGE_NAME}.auto.mtd ${FLASH_SIZE}
dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
diff --git a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass
index fefa65569..26c895951 100644
--- a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-full-fitimage.bbclass
@@ -10,14 +10,6 @@ DEPS = " ${PN}:do_image_${@d.getVar('IMAGE_BASETYPE', True).replace('-', '_')} \
virtual/kernel:do_deploy \
u-boot:do_populate_sysroot "
-python() {
- if d.getVar('IMAGE_TYPE', True) == 'pfr':
- d.appendVar('DEPS', ' openssl-native:do_populate_sysroot \
- ${SIGNING_KEY_DEPENDS} \
- ${PN}:do_copy_signing_pubkey')
-}
-
-
# Options for the device tree compiler passed to mkimage '-D' feature:
UBOOT_MKIMAGE_DTCOPTS ??= ""
@@ -478,14 +470,6 @@ python do_generate_phosphor_manifest() {
fd.write('HashType=RSA-SHA256\n')
}
-make_signatures() {
- signature_files=""
- for file in "$@"; do
- openssl dgst -sha256 -sign ${SIGNING_KEY} -out "${file}.sig" $file
- signature_files="${signature_files} ${file}.sig"
- done
-}
-
def get_pubkey_type(d):
return os.listdir(get_pubkey_basedir(d))[0]
@@ -534,14 +518,7 @@ do_image_fitimage_rootfs() {
# touch the required files to minimize change
touch image-kernel image-rofs image-rwfs
- if [ "${IMAGE_TYPE}" = "pfr" ]; then
- ln -sf ${S}/publickey publickey
- make_signatures image-u-boot image-kernel image-rofs image-rwfs image-runtime MANIFEST publickey
- # tar up the update package
- tar -h -cvf "${DEPLOY_DIR_IMAGE}/${PN}-image-update-${MACHINE}-${DATETIME}.tar" image-u-boot image-runtime image-kernel image-rofs image-rwfs MANIFEST publickey ${signature_files}
- else
- tar -h -cvf "${DEPLOY_DIR_IMAGE}/${PN}-image-update-${MACHINE}-${DATETIME}.tar" MANIFEST image-u-boot image-runtime image-kernel image-rofs image-rwfs
- fi
+ tar -h -cvf "${DEPLOY_DIR_IMAGE}/${PN}-image-update-${MACHINE}-${DATETIME}.tar" MANIFEST image-u-boot image-runtime image-kernel image-rofs image-rwfs
# make a symlink
ln -sf "${PN}-image-update-${MACHINE}-${DATETIME}.tar" "${DEPLOY_DIR_IMAGE}/image-update-${MACHINE}"
ln -sf "image-update-${MACHINE}" "${DEPLOY_DIR_IMAGE}/image-update"
diff --git a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
index 4ad3b2b92..a495b76fa 100644
--- a/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
+++ b/meta-openbmc-mods/meta-common/classes/obmc-phosphor-image-common.bbclass
@@ -1,7 +1,6 @@
inherit obmc-phosphor-image
IMAGE_INSTALL_append = " \
- fan-default-speed \
bmcweb \
dbus-broker \
dtc \
@@ -19,7 +18,6 @@ IMAGE_INSTALL_append = " \
smbios-mdrv1 \
phosphor-certificate-manager \
phosphor-sel-logger \
- gpiodaemon \
smbios-mdrv2 \
obmc-ikvm \
system-watchdog \
@@ -31,8 +29,10 @@ IMAGE_INSTALL_append = " \
mtd-utils-ubifs \
special-mode-mgr \
rsyslog \
- rsyslog-policy \
static-mac-addr \
+ phosphor-u-boot-mgr \
+ prov-mode-mgr \
+ ac-boot-check \
"
# this package was flagged as a security risk
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0002-intel-layout-environment-addr.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0002-intel-layout-environment-addr.patch
index 86fa5b7d5..8937047c5 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0002-intel-layout-environment-addr.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0002-intel-layout-environment-addr.patch
@@ -1,28 +1,16 @@
-Index: u-boot/include/configs/ast-common.h
-===================================================================
---- u-boot.orig/include/configs/ast-common.h
-+++ u-boot/include/configs/ast-common.h
-@@ -103,10 +103,13 @@
- #define CONFIG_SYS_MAX_FLASH_BANKS (CONFIG_FMC_CS)
- #define CONFIG_SYS_MAX_FLASH_SECT (8192) /* max number of sectors on one chip */
- #define CONFIG_ENV_IS_IN_FLASH 1
--#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + 0x60000)
-+#define CONFIG_ENV_OFFSET 0x2400000 /* environment starts here */
-+#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET)
-+#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
-
--#define CONFIG_ENV_OFFSET 0x60000 /* environment starts here */
--#define CONFIG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */
-+#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
-+#define CONFIG_ENV_ADDR_REDUND (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET_REDUND)
-+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
-
- #define CONFIG_BOOTCOMMAND "bootm 20080000"
- #define CONFIG_ENV_OVERWRITE
-Index: u-boot/common/board_r.c
-===================================================================
---- u-boot.orig/common/board_r.c
-+++ u-boot/common/board_r.c
+From 7979a73fba832747ed3c037c0b47c9e67dcf283e Mon Sep 17 00:00:00 2001
+From: Vernon Mauery <vernon.mauery@intel.com>
+Date: Mon, 30 Apr 2018 10:52:37 -0700
+
+---
+ common/board_r.c | 8 ++++++--
+ include/configs/ast-common.h | 9 ++++++---
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/common/board_r.c b/common/board_r.c
+index d959ad3..74797ed 100644
+--- a/common/board_r.c
++++ b/common/board_r.c
@@ -494,10 +494,14 @@ static int should_load_env(void)
static int initr_env(void)
{
@@ -40,3 +28,24 @@ Index: u-boot/common/board_r.c
#ifdef CONFIG_OF_CONTROL
setenv_addr("fdtcontroladdr", gd->fdt_blob);
#endif
+diff --git a/include/configs/ast-common.h b/include/configs/ast-common.h
+index eff6d2b..b7d7192 100644
+--- a/include/configs/ast-common.h
++++ b/include/configs/ast-common.h
+@@ -103,10 +103,13 @@
+ #define CONFIG_SYS_MAX_FLASH_BANKS (CONFIG_FMC_CS)
+ #define CONFIG_SYS_MAX_FLASH_SECT (8192) /* max number of sectors on one chip */
+ #define CONFIG_ENV_IS_IN_FLASH 1
+-#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + 0x60000)
++#define CONFIG_ENV_OFFSET 0x2400000 /* environment starts here */
++#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET)
++#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
+
+-#define CONFIG_ENV_OFFSET 0x60000 /* environment starts here */
+-#define CONFIG_ENV_SIZE 0x20000 /* Total Size of Environment Sector */
++#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
++#define CONFIG_ENV_ADDR_REDUND (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET_REDUND)
++#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
+
+ #define CONFIG_BOOTCOMMAND "bootm 20080000"
+ #define CONFIG_ENV_OVERWRITE
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Make-sure-debug-uart-is-using-24MHz-clock-source.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Make-sure-debug-uart-is-using-24MHz-clock-source.patch
index 8bc0a3ed3..e7e6c56d7 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Make-sure-debug-uart-is-using-24MHz-clock-source.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0004-Make-sure-debug-uart-is-using-24MHz-clock-source.patch
@@ -1,4 +1,4 @@
-From 2f0e14630abec2c9679d21901072648c7802f2c4 Mon Sep 17 00:00:00 2001
+From 954e7dd9ff9c5d1159f0896afa34c673061b82ea Mon Sep 17 00:00:00 2001
From: Yong Li <yong.b.li@linux.intel.com>
Date: Tue, 11 Sep 2018 16:24:06 +0800
Subject: [PATCH] Make sure debug uart is using 24MHz clock source
@@ -7,6 +7,7 @@ u-boot defines the uart5(debug console) as 24MHz,
set the SCU14[28] to 0, to make sure the clock source is 24M
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
+
---
arch/arm/include/asm/arch-aspeed/ast_scu.h | 2 ++
arch/arm/include/asm/arch-aspeed/platform.h | 1 +
@@ -15,10 +16,10 @@ Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
4 files changed, 17 insertions(+)
diff --git a/arch/arm/include/asm/arch-aspeed/ast_scu.h b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-index d248416..98e6335 100644
+index dcbc673..06825ce 100644
--- a/arch/arm/include/asm/arch-aspeed/ast_scu.h
+++ b/arch/arm/include/asm/arch-aspeed/ast_scu.h
-@@ -45,4 +45,6 @@ extern void ast_scu_init_eth(u8 num);
+@@ -46,4 +46,6 @@ extern void ast_scu_init_eth(u8 num);
extern void ast_scu_multi_func_eth(u8 num);
extern void ast_scu_multi_func_romcs(u8 num);
@@ -26,7 +27,7 @@ index d248416..98e6335 100644
+
#endif
diff --git a/arch/arm/include/asm/arch-aspeed/platform.h b/arch/arm/include/asm/arch-aspeed/platform.h
-index c9c7a81..a423052 100644
+index 1c02914..92ea33b 100644
--- a/arch/arm/include/asm/arch-aspeed/platform.h
+++ b/arch/arm/include/asm/arch-aspeed/platform.h
@@ -27,6 +27,7 @@
@@ -38,10 +39,10 @@ index c9c7a81..a423052 100644
#err "No define for platform.h"
#endif
diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c
-index 0cc0d67..902263b 100644
+index 12de9b8..fff02dc 100644
--- a/arch/arm/mach-aspeed/ast-scu.c
+++ b/arch/arm/mach-aspeed/ast-scu.c
-@@ -496,3 +496,9 @@ void ast_scu_get_who_init_dram(void)
+@@ -538,3 +538,9 @@ void ast_scu_get_who_init_dram(void)
break;
}
}
@@ -70,6 +71,3 @@ index e67a4bf..5a1fade 100644
int board_init(void)
{
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0005-enable-passthrough-in-uboot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0005-enable-passthrough-in-uboot.patch
index 0385a5e31..6bd063e39 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0005-enable-passthrough-in-uboot.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0005-enable-passthrough-in-uboot.patch
@@ -1,7 +1,7 @@
-From b344cf4462acb1f043ed903ccee713e24ce7226d Mon Sep 17 00:00:00 2001
+From 7e11461d6b65969005605f13677269eb91d39643 Mon Sep 17 00:00:00 2001
From: Kuiying Wang <kuiying.wang@intel.com>
Date: Wed, 7 Nov 2018 13:57:57 +0800
-Subject: [PATCH 1/1] enable passthrough in uboot
+Subject: [PATCH] enable passthrough in uboot
---
arch/arm/mach-aspeed/ast-scu.c | 22 ++++++++++++++++++++++
@@ -9,10 +9,10 @@ Subject: [PATCH 1/1] enable passthrough in uboot
2 files changed, 24 insertions(+)
diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c
-index 902263b28b..c83931ed54 100644
+index fff02dc..d27f3d3 100644
--- a/arch/arm/mach-aspeed/ast-scu.c
+++ b/arch/arm/mach-aspeed/ast-scu.c
-@@ -502,3 +502,25 @@ void ast_config_uart5_clk(void)
+@@ -544,3 +544,25 @@ void ast_config_uart5_clk(void)
ast_scu_write(ast_scu_read(AST_SCU_MISC2_CTRL) &
~(1 << 28), AST_SCU_MISC2_CTRL);
}
@@ -39,7 +39,7 @@ index 902263b28b..c83931ed54 100644
+ }
+}
diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index 5a1fadeedd..b492003f51 100644
+index 5a1fade..b492003 100644
--- a/board/aspeed/ast-g5/ast-g5.c
+++ b/board/aspeed/ast-g5/ast-g5.c
@@ -20,6 +20,8 @@ int board_early_init_f(void)
@@ -51,6 +51,3 @@ index 5a1fadeedd..b492003f51 100644
return 0;
}
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0006-Add-Aspeed-g5-interrupt-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0006-Add-Aspeed-g5-interrupt-support.patch
index dbaf7b362..4f90d6dfe 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0006-Add-Aspeed-g5-interrupt-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0006-Add-Aspeed-g5-interrupt-support.patch
@@ -1,7 +1,7 @@
-From f33755167ddcdebbf56bc875e4091990273c6997 Mon Sep 17 00:00:00 2001
+From e782f6a90468fee35877b78e248a17f39f67c94c Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Wed, 14 Nov 2018 10:21:40 -0800
-Subject: [PATCH 1/7] Add Aspeed g5 interrupt support
+Subject: [PATCH] Add Aspeed g5 interrupt support
This adds a few new files to the board g5 directory. Several Intel
features require interrupts running in U-Boot, so this adds basic
@@ -9,25 +9,26 @@ interrupt registration and handling support.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Change-Id: Id7072f1408dcf364968b1b74f2192e50a22a82f0
+
---
- Kconfig | 13 ++
- arch/arm/lib/interrupts.c | 11 ++
- board/aspeed/ast-g5/Makefile | 4 +-
- board/aspeed/ast-g5/ast-g5-irq.c | 176 ++++++++++++++++++++++++++++
- board/aspeed/ast-g5/ast-g5-irq.h | 39 ++++++
+ Kconfig | 13 +++
+ arch/arm/lib/interrupts.c | 11 +++
+ board/aspeed/ast-g5/Makefile | 3 +-
+ board/aspeed/ast-g5/ast-g5-irq.c | 176 ++++++++++++++++++++++++++++++++++++
+ board/aspeed/ast-g5/ast-g5-irq.h | 39 ++++++++
board/aspeed/ast-g5/ast-g5.c | 3 +
board/aspeed/ast-g5/ast-g5.h | 7 ++
cmd/Kconfig | 5 +
configs/ast_g5_ncsi_2boot_defconfig | 1 +
configs/ast_g5_ncsi_defconfig | 1 +
configs/ast_g5_phy_defconfig | 1 +
- 11 files changed, 260 insertions(+), 1 deletion(-)
+ 11 files changed, 259 insertions(+), 1 deletion(-)
create mode 100644 board/aspeed/ast-g5/ast-g5-irq.c
create mode 100644 board/aspeed/ast-g5/ast-g5-irq.h
create mode 100644 board/aspeed/ast-g5/ast-g5.h
diff --git a/Kconfig b/Kconfig
-index 3ceff25032..d6439d01ca 100644
+index 3ceff25..d6439d0 100644
--- a/Kconfig
+++ b/Kconfig
@@ -115,6 +115,19 @@ if EXPERT
@@ -51,7 +52,7 @@ index 3ceff25032..d6439d01ca 100644
menu "Boot images"
diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c
-index ed83043abb..a96b3aa070 100644
+index ed83043..a96b3aa 100644
--- a/arch/arm/lib/interrupts.c
+++ b/arch/arm/lib/interrupts.c
@@ -94,6 +94,17 @@ int disable_interrupts (void)
@@ -73,7 +74,7 @@ index ed83043abb..a96b3aa070 100644
int interrupt_init (void)
{
diff --git a/board/aspeed/ast-g5/Makefile b/board/aspeed/ast-g5/Makefile
-index d1d7f8525e..d41b11589f 100644
+index d1d7f85..df4e639 100644
--- a/board/aspeed/ast-g5/Makefile
+++ b/board/aspeed/ast-g5/Makefile
@@ -1 +1,2 @@
@@ -82,7 +83,7 @@ index d1d7f8525e..d41b11589f 100644
+obj-y += ast-g5-irq.o
diff --git a/board/aspeed/ast-g5/ast-g5-irq.c b/board/aspeed/ast-g5/ast-g5-irq.c
new file mode 100644
-index 0000000000..860f16cf05
+index 0000000..860f16c
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-irq.c
@@ -0,0 +1,176 @@
@@ -264,7 +265,7 @@ index 0000000000..860f16cf05
+#endif
diff --git a/board/aspeed/ast-g5/ast-g5-irq.h b/board/aspeed/ast-g5/ast-g5-irq.h
new file mode 100644
-index 0000000000..703eeabf13
+index 0000000..703eeab
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-irq.h
@@ -0,0 +1,39 @@
@@ -308,7 +309,7 @@ index 0000000000..703eeabf13
+
+#endif /* __AST_G5_IRQ_H__ */
diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index b492003f51..2472aa3603 100644
+index b492003..2472aa3 100644
--- a/board/aspeed/ast-g5/ast-g5.c
+++ b/board/aspeed/ast-g5/ast-g5.c
@@ -14,6 +14,8 @@
@@ -330,7 +331,7 @@ index b492003f51..2472aa3603 100644
}
diff --git a/board/aspeed/ast-g5/ast-g5.h b/board/aspeed/ast-g5/ast-g5.h
new file mode 100644
-index 0000000000..9fd10eccb3
+index 0000000..9fd10ec
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5.h
@@ -0,0 +1,7 @@
@@ -342,7 +343,7 @@ index 0000000000..9fd10eccb3
+
+#endif /* _AST_G5_H_ */
diff --git a/cmd/Kconfig b/cmd/Kconfig
-index d69b817c82..33be2407d2 100644
+index d69b817..33be240 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -313,6 +313,11 @@ endmenu
@@ -358,7 +359,7 @@ index d69b817c82..33be2407d2 100644
bool "dm - Access to driver model information"
depends on DM
diff --git a/configs/ast_g5_ncsi_2boot_defconfig b/configs/ast_g5_ncsi_2boot_defconfig
-index 2d28c86966..d5b7894a9e 100644
+index 2d28c86..d5b7894 100644
--- a/configs/ast_g5_ncsi_2boot_defconfig
+++ b/configs/ast_g5_ncsi_2boot_defconfig
@@ -33,3 +33,4 @@ CONFIG_CMD_CRC32=y
@@ -367,7 +368,7 @@ index 2d28c86966..d5b7894a9e 100644
CONFIG_CMD_MX_CYCLIC=y
+CONFIG_USE_IRQ=y
diff --git a/configs/ast_g5_ncsi_defconfig b/configs/ast_g5_ncsi_defconfig
-index 74029ed514..9481e5fb6e 100644
+index 74029ed..9481e5f 100644
--- a/configs/ast_g5_ncsi_defconfig
+++ b/configs/ast_g5_ncsi_defconfig
@@ -11,3 +11,4 @@ CONFIG_HUSH_PARSER=y
@@ -376,7 +377,7 @@ index 74029ed514..9481e5fb6e 100644
CONFIG_SYS_NS16550=y
+CONFIG_USE_IRQ=y
diff --git a/configs/ast_g5_phy_defconfig b/configs/ast_g5_phy_defconfig
-index 767f3af605..4aefcf49e8 100644
+index 767f3af..4aefcf4 100644
--- a/configs/ast_g5_phy_defconfig
+++ b/configs/ast_g5_phy_defconfig
@@ -12,3 +12,4 @@ CONFIG_HUSH_PARSER=y
@@ -384,6 +385,3 @@ index 767f3af605..4aefcf49e8 100644
CONFIG_SPI_FLASH=y
CONFIG_SYS_NS16550=y
+CONFIG_USE_IRQ=y
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0007-Add-espi-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0007-Add-espi-support.patch
index 18cc2f9c8..b37aee7e6 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0007-Add-espi-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0007-Add-espi-support.patch
@@ -1,7 +1,7 @@
-From 7ad0ea13337550f35c1e726f21d4751bf74078d6 Mon Sep 17 00:00:00 2001
+From c46cb2dd703f55ca63ed9c5cf2a97868a7e6c209 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Wed, 14 Nov 2018 10:21:40 -0800
-Subject: [PATCH 2/7] Add espi support
+Subject: [PATCH] Add espi support
This adds basic eSPI support for U-Boot. The eSPI driver works best with
interrupts because the timing of the initialization with the PCH is not
@@ -13,18 +13,19 @@ functions.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Change-Id: Id7072f1408dcf364968b1b74f2192e50a22a82f0
+
---
arch/arm/include/asm/arch-aspeed/regs-scu.h | 2 +
- board/aspeed/ast-g5/Makefile | 1 +
- board/aspeed/ast-g5/ast-g5-espi.c | 231 ++++++++++++++++++++
+ board/aspeed/ast-g5/Makefile | 2 +
+ board/aspeed/ast-g5/ast-g5-espi.c | 231 ++++++++++++++++++++++++++++
board/aspeed/ast-g5/ast-g5-intel.c | 16 ++
board/aspeed/ast-g5/ast-g5.c | 3 +
- 5 files changed, 253 insertions(+)
+ 5 files changed, 254 insertions(+)
create mode 100644 board/aspeed/ast-g5/ast-g5-espi.c
create mode 100644 board/aspeed/ast-g5/ast-g5-intel.c
diff --git a/arch/arm/include/asm/arch-aspeed/regs-scu.h b/arch/arm/include/asm/arch-aspeed/regs-scu.h
-index b714fa9234..10b983a966 100644
+index b714fa9..10b983a 100644
--- a/arch/arm/include/asm/arch-aspeed/regs-scu.h
+++ b/arch/arm/include/asm/arch-aspeed/regs-scu.h
@@ -552,6 +552,8 @@
@@ -37,7 +38,7 @@ index b714fa9234..10b983a966 100644
#define SCU_HW_STRAP_SUPER_IO_CONFIG (0x1 << 16)
#define SCU_HW_STRAP_VGA_CLASS_CODE (0x1 << 15)
diff --git a/board/aspeed/ast-g5/Makefile b/board/aspeed/ast-g5/Makefile
-index d41b11589f..58e0c648f4 100644
+index df4e639..58e0c64 100644
--- a/board/aspeed/ast-g5/Makefile
+++ b/board/aspeed/ast-g5/Makefile
@@ -1,2 +1,4 @@
@@ -47,7 +48,7 @@ index d41b11589f..58e0c648f4 100644
obj-y += ast-g5-irq.o
diff --git a/board/aspeed/ast-g5/ast-g5-espi.c b/board/aspeed/ast-g5/ast-g5-espi.c
new file mode 100644
-index 0000000000..79ef253b86
+index 0000000..79ef253
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-espi.c
@@ -0,0 +1,231 @@
@@ -284,7 +285,7 @@ index 0000000000..79ef253b86
+}
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
new file mode 100644
-index 0000000000..e79235c8d0
+index 0000000..e79235c
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -0,0 +1,16 @@
@@ -305,7 +306,7 @@ index 0000000000..e79235c8d0
+ espi_init();
+}
diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index 2472aa3603..d41ef9cbd3 100644
+index 2472aa3..d41ef9c 100644
--- a/board/aspeed/ast-g5/ast-g5.c
+++ b/board/aspeed/ast-g5/ast-g5.c
@@ -18,6 +18,8 @@
@@ -325,6 +326,3 @@ index 2472aa3603..d41ef9cbd3 100644
return 0;
}
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0008-add-sgio-support-for-port80-snoop-post-LEDs.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0008-add-sgio-support-for-port80-snoop-post-LEDs.patch
index e16b0f158..5fa4bffa1 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0008-add-sgio-support-for-port80-snoop-post-LEDs.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0008-add-sgio-support-for-port80-snoop-post-LEDs.patch
@@ -1,4 +1,4 @@
-From c3b44c02392d33cfec85056fd323d93fdc6e523f Mon Sep 17 00:00:00 2001
+From 40e02e4ffa13c0128db555a3a3982a7cdc0ebf60 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Wed, 14 Nov 2018 12:09:52 -0800
Subject: [PATCH] add sgio support for port80 snoop post LEDs
@@ -8,6 +8,7 @@ ultimately drives the POST code LEDs.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Change-Id: Iaa1b91cd40f4b6323dba0598da373cb631459e66
+
---
arch/arm/include/asm/arch-aspeed/ast_scu.h | 1 +
arch/arm/mach-aspeed/ast-scu.c | 8 +++
@@ -155,6 +156,3 @@ index e79235c..c2a8b33 100644
espi_init();
+ sgpio_init();
}
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0009-Add-basic-GPIO-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0009-Add-basic-GPIO-support.patch
index a49f196ac..f7dd80504 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0009-Add-basic-GPIO-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0009-Add-basic-GPIO-support.patch
@@ -1,7 +1,7 @@
-From 89728d8c255204c8d9ec46a1dc0d412b04708f22 Mon Sep 17 00:00:00 2001
+From 0fbd5fe6fa08f709b64bdbad6440ea77b422fc4b Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Fri, 16 Nov 2018 09:58:01 -0800
-Subject: [PATCH 4/7] Add basic GPIO support
+Subject: [PATCH] Add basic GPIO support
Add a table of well-known gpios (such as FP LEDs and FF UPD jumper) and
initialize them at boot.
@@ -10,18 +10,19 @@ Add a mechanism to get/set well known gpios from command line.
Change-Id: I4136a5ccb048b3604f13b17ea0c18a4bc596c249
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+
---
board/aspeed/ast-g5/Makefile | 1 +
- board/aspeed/ast-g5/ast-g5-gpio.c | 195 +++++++++++++++++++++++++++++
- board/aspeed/ast-g5/ast-g5-gpio.h | 102 +++++++++++++++
- board/aspeed/ast-g5/ast-g5-intel.c | 42 +++++++
+ board/aspeed/ast-g5/ast-g5-gpio.c | 195 +++++++++++++++++++++++++++++++++++++
+ board/aspeed/ast-g5/ast-g5-gpio.h | 102 +++++++++++++++++++
+ board/aspeed/ast-g5/ast-g5-intel.c | 42 ++++++++
board/aspeed/ast-g5/ast-g5.h | 1 +
5 files changed, 341 insertions(+)
create mode 100644 board/aspeed/ast-g5/ast-g5-gpio.c
create mode 100644 board/aspeed/ast-g5/ast-g5-gpio.h
diff --git a/board/aspeed/ast-g5/Makefile b/board/aspeed/ast-g5/Makefile
-index 58e0c648f4..2970ae5741 100644
+index 58e0c64..2970ae5 100644
--- a/board/aspeed/ast-g5/Makefile
+++ b/board/aspeed/ast-g5/Makefile
@@ -2,3 +2,4 @@ obj-y += ast-g5.o
@@ -31,7 +32,7 @@ index 58e0c648f4..2970ae5741 100644
+obj-y += ast-g5-gpio.o
diff --git a/board/aspeed/ast-g5/ast-g5-gpio.c b/board/aspeed/ast-g5/ast-g5-gpio.c
new file mode 100644
-index 0000000000..d596c15914
+index 0000000..d596c15
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-gpio.c
@@ -0,0 +1,195 @@
@@ -232,7 +233,7 @@ index 0000000000..d596c15914
+ "");
diff --git a/board/aspeed/ast-g5/ast-g5-gpio.h b/board/aspeed/ast-g5/ast-g5-gpio.h
new file mode 100644
-index 0000000000..a820c0fcad
+index 0000000..a820c0f
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-gpio.h
@@ -0,0 +1,102 @@
@@ -339,7 +340,7 @@ index 0000000000..a820c0fcad
+
+#endif /* __HW_GPIO_H__ */
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index fca4d91115..252a05dd73 100644
+index c2a8b33..069e7a3 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -14,6 +14,47 @@
@@ -399,7 +400,7 @@ index fca4d91115..252a05dd73 100644
sgpio_init();
}
diff --git a/board/aspeed/ast-g5/ast-g5.h b/board/aspeed/ast-g5/ast-g5.h
-index 9fd10eccb3..908db1477b 100644
+index 9fd10ec..908db14 100644
--- a/board/aspeed/ast-g5/ast-g5.h
+++ b/board/aspeed/ast-g5/ast-g5.h
@@ -3,5 +3,6 @@
@@ -409,6 +410,3 @@ index 9fd10eccb3..908db1477b 100644
+#include "ast-g5-gpio.h"
#endif /* _AST_G5_H_ */
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0010-Update-Force-Firmware-Update-Jumper-to-use-new-gpio.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0010-Update-Force-Firmware-Update-Jumper-to-use-new-gpio.patch
index c97e6d74f..c6ee49f57 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0010-Update-Force-Firmware-Update-Jumper-to-use-new-gpio.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0010-Update-Force-Firmware-Update-Jumper-to-use-new-gpio.patch
@@ -1,4 +1,4 @@
-From 1f710737f2fe8dea4bc5ebef1e6011de294764b4 Mon Sep 17 00:00:00 2001
+From d08d22af794eed7b928ab96030a103cfb7bf6ce1 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Fri, 16 Nov 2018 14:59:04 -0800
Subject: [PATCH] Update Force Firmware Update Jumper to use new gpio API
@@ -8,17 +8,18 @@ functions, such as autoboot.
Change-Id: I8ead931e9dd828522095a0ef386875be652ec885
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+
---
- .../include/asm/arch-aspeed/ast-g5-intel.h | 19 +++++++++++++++++++
- arch/arm/include/asm/arch-aspeed/platform.h | 1 +
- board/aspeed/ast-g5/ast-g5-intel.c | 5 +++++
- common/autoboot.c | 6 ++++++
+ arch/arm/include/asm/arch-aspeed/ast-g5-intel.h | 19 +++++++++++++++++++
+ arch/arm/include/asm/arch-aspeed/platform.h | 1 +
+ board/aspeed/ast-g5/ast-g5-intel.c | 5 +++++
+ common/autoboot.c | 6 ++++++
4 files changed, 31 insertions(+)
create mode 100644 arch/arm/include/asm/arch-aspeed/ast-g5-intel.h
diff --git a/arch/arm/include/asm/arch-aspeed/ast-g5-intel.h b/arch/arm/include/asm/arch-aspeed/ast-g5-intel.h
new file mode 100644
-index 0000000000..cd9a0994fa
+index 0000000..cd9a099
--- /dev/null
+++ b/arch/arm/include/asm/arch-aspeed/ast-g5-intel.h
@@ -0,0 +1,19 @@
@@ -42,7 +43,7 @@ index 0000000000..cd9a0994fa
+
+#endif /* __AST_INTEL_G5_H__ */
diff --git a/arch/arm/include/asm/arch-aspeed/platform.h b/arch/arm/include/asm/arch-aspeed/platform.h
-index 9f339e913a..3ea1c99089 100644
+index 92ea33b..3b06e52 100644
--- a/arch/arm/include/asm/arch-aspeed/platform.h
+++ b/arch/arm/include/asm/arch-aspeed/platform.h
@@ -27,6 +27,7 @@
@@ -54,7 +55,7 @@ index 9f339e913a..3ea1c99089 100644
#else
#err "No define for platform.h"
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 252a05dd73..58ad6a55b8 100644
+index 069e7a3..144765a 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -145,6 +145,11 @@ static void sgpio_init(void)
@@ -70,7 +71,7 @@ index 252a05dd73..58ad6a55b8 100644
void ast_g5_intel(void)
{
diff --git a/common/autoboot.c b/common/autoboot.c
-index c52bad84a4..d66c0fa63a 100644
+index c52bad8..d66c0fa 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -14,6 +14,7 @@
@@ -93,6 +94,3 @@ index c52bad84a4..d66c0fa63a 100644
if (bootdelay >= 0)
abort = __abortboot(bootdelay);
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0011-Add-basic-timer-support-for-Aspeed-g5-in-U-Boot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0011-Add-basic-timer-support-for-Aspeed-g5-in-U-Boot.patch
index 11a474b96..26b4c4fc9 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0011-Add-basic-timer-support-for-Aspeed-g5-in-U-Boot.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0011-Add-basic-timer-support-for-Aspeed-g5-in-U-Boot.patch
@@ -1,25 +1,26 @@
-From 83d67b5b3cbffcefda5efdc0060b9e30f44c9aca Mon Sep 17 00:00:00 2001
+From 320cf189fd017e3578b6949ff640213d7bddb20c Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Fri, 16 Nov 2018 14:44:49 -0800
-Subject: [PATCH 6/7] Add basic timer support for Aspeed g5 in U-Boot
+Subject: [PATCH] Add basic timer support for Aspeed g5 in U-Boot
Timers will be used for timing events and making blinky LEDs. This just
adds the API and infrastructure.
Change-Id: I8ff03b26070b43a47fb970ddf6124d6c3f29b058
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+
---
board/aspeed/ast-g5/Makefile | 1 +
board/aspeed/ast-g5/ast-g5-intel.c | 1 +
- board/aspeed/ast-g5/ast-g5-timer.c | 66 ++++++++++++++++++++++++++++++
- board/aspeed/ast-g5/ast-g5-timer.h | 27 ++++++++++++
+ board/aspeed/ast-g5/ast-g5-timer.c | 66 ++++++++++++++++++++++++++++++++++++++
+ board/aspeed/ast-g5/ast-g5-timer.h | 27 ++++++++++++++++
board/aspeed/ast-g5/ast-g5.h | 1 +
5 files changed, 96 insertions(+)
create mode 100644 board/aspeed/ast-g5/ast-g5-timer.c
create mode 100644 board/aspeed/ast-g5/ast-g5-timer.h
diff --git a/board/aspeed/ast-g5/Makefile b/board/aspeed/ast-g5/Makefile
-index 2970ae5741..90224333c4 100644
+index 2970ae5..9022433 100644
--- a/board/aspeed/ast-g5/Makefile
+++ b/board/aspeed/ast-g5/Makefile
@@ -3,3 +3,4 @@ obj-y += ast-g5-intel.o
@@ -28,7 +29,7 @@ index 2970ae5741..90224333c4 100644
obj-y += ast-g5-gpio.o
+obj-y += ast-g5-timer.o
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 58ad6a55b8..23bf4e4352 100644
+index 144765a..6e45cb4 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -15,6 +15,7 @@
@@ -41,7 +42,7 @@ index 58ad6a55b8..23bf4e4352 100644
enum gpio_names {
diff --git a/board/aspeed/ast-g5/ast-g5-timer.c b/board/aspeed/ast-g5/ast-g5-timer.c
new file mode 100644
-index 0000000000..56157222d9
+index 0000000..5615722
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-timer.c
@@ -0,0 +1,66 @@
@@ -113,7 +114,7 @@ index 0000000000..56157222d9
+}
diff --git a/board/aspeed/ast-g5/ast-g5-timer.h b/board/aspeed/ast-g5/ast-g5-timer.h
new file mode 100644
-index 0000000000..4b1ac28a9f
+index 0000000..4b1ac28
--- /dev/null
+++ b/board/aspeed/ast-g5/ast-g5-timer.h
@@ -0,0 +1,27 @@
@@ -145,7 +146,7 @@ index 0000000000..4b1ac28a9f
+
+#endif /* __AST_G5_TIMER_H__ */
diff --git a/board/aspeed/ast-g5/ast-g5.h b/board/aspeed/ast-g5/ast-g5.h
-index 908db1477b..28fe5eafcb 100644
+index 908db14..28fe5ea 100644
--- a/board/aspeed/ast-g5/ast-g5.h
+++ b/board/aspeed/ast-g5/ast-g5.h
@@ -4,5 +4,6 @@
@@ -155,6 +156,3 @@ index 908db1477b..28fe5eafcb 100644
+#include "ast-g5-timer.h"
#endif /* _AST_G5_H_ */
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
index 5a2c2206f..16eb31250 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0012-Add-status-and-ID-LED-support.patch
@@ -1,7 +1,7 @@
-From f0e3631ea3005640f988727f051106d83b5dfdaf Mon Sep 17 00:00:00 2001
+From bc6ea87d8213ecdc5ab7cced8b2fc4284fdef019 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Wed, 14 Nov 2018 12:16:53 -0800
-Subject: [PATCH 7/7] Add status and ID LED support
+Subject: [PATCH] Add status and ID LED support
Add status (amber and green) and ID (blue) LED support. In the
bootloader phase, the LEDs should be blinking. When booting linux, they
@@ -9,12 +9,13 @@ should turn to a fixed state.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Change-Id: Ic9595621b21000ef465ff57ed2047855296e2714
+
---
- board/aspeed/ast-g5/ast-g5-intel.c | 118 +++++++++++++++++++++++++++++
- 1 file changed, 118 insertions(+)
+ board/aspeed/ast-g5/ast-g5-intel.c | 110 +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 110 insertions(+)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 23bf4e4352..5ff2cbd0e2 100644
+index 6e45cb4..e53f5eb 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -146,6 +146,110 @@ static void sgpio_init(void)
@@ -128,7 +129,7 @@ index 23bf4e4352..5ff2cbd0e2 100644
int intel_force_firmware_jumper_enabled(void)
{
return gpio_get_value(GPIO_FF_UPD_JUMPER);
-@@ -157,4 +269,10 @@ void ast_g5_intel(void)
+@@ -157,4 +261,10 @@ void ast_g5_intel(void)
gpio_init(gpio_table, ARRAY_SIZE(gpio_table));
espi_init();
sgpio_init();
@@ -139,6 +140,3 @@ index 23bf4e4352..5ff2cbd0e2 100644
+ id_led_control(GPIO_GREEN_LED, EIDLED_On);
+ }
}
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0013-aspeed-Add-Pwm-Driver.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0013-aspeed-Add-Pwm-Driver.patch
index d235aea62..10a45fa23 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0013-aspeed-Add-Pwm-Driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0013-aspeed-Add-Pwm-Driver.patch
@@ -1,18 +1,19 @@
-From 3134584998f624bb6c4ee11102b0bd9b7bb1cbba Mon Sep 17 00:00:00 2001
+From 34ccbd14d8f5caa66523a762e2030b6f105206cb Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Fri, 16 Nov 2018 15:57:57 -0800
-Subject: [PATCH 1/1] aspeed: add Pwm Driver
+Subject: [PATCH] aspeed: add Pwm Driver
Change-Id: Ia8b80212f7c70aafcc6a71782936ec95cf9b7f38
+
---
- board/aspeed/ast-g5/ast-g5-intel.c | 105 +++++++++++++++++++++++++++++
+ board/aspeed/ast-g5/ast-g5-intel.c | 105 +++++++++++++++++++++++++++++++++++++
1 file changed, 105 insertions(+)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 5ff2cbd0e2..f810ded4e7 100644
+index e53f5eb..c7ae566 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
-@@ -263,9 +263,114 @@ int intel_force_firmware_jumper_enabled(void)
+@@ -255,9 +255,114 @@ int intel_force_firmware_jumper_enabled(void)
return gpio_get_value(GPIO_FF_UPD_JUMPER);
}
@@ -127,6 +128,3 @@ index 5ff2cbd0e2..f810ded4e7 100644
gpio_init(gpio_table, ARRAY_SIZE(gpio_table));
espi_init();
sgpio_init();
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0014-Keep-interrupts-enabled-until-last-second.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0014-Keep-interrupts-enabled-until-last-second.patch
index 91665e064..22191f07a 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0014-Keep-interrupts-enabled-until-last-second.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0014-Keep-interrupts-enabled-until-last-second.patch
@@ -1,7 +1,7 @@
-From 2078771e0ff84be710250b2e9b2e887f7238f9cc Mon Sep 17 00:00:00 2001
+From 040c9c13778076403198ce93f43c4aa3a1ed3907 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Sat, 17 Nov 2018 14:17:27 -0800
-Subject: [PATCH 2/3] Keep interrupts enabled until last second
+Subject: [PATCH] Keep interrupts enabled until last second
The U-Boot bootm command disabled interrupts almost first thing. This
would prevent a person hitting the power button on the host immediatly
@@ -10,6 +10,7 @@ and the host would power off.
Change-Id: I6c0fb5cca1be6c326da4c9a3d3dfbab89dac9928
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+
---
board/aspeed/ast-g5/ast-g5-intel.c | 8 ++++++++
common/bootm.c | 7 -------
@@ -17,10 +18,10 @@ Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
3 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index f810ded4e7..4d399be392 100644
+index c7ae566..01f8a13 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
-@@ -263,6 +263,14 @@ int intel_force_firmware_jumper_enabled(void)
+@@ -255,6 +255,14 @@ int intel_force_firmware_jumper_enabled(void)
return gpio_get_value(GPIO_FF_UPD_JUMPER);
}
@@ -36,7 +37,7 @@ index f810ded4e7..4d399be392 100644
#define PWM_BASE_ADDR 0x1E786000
diff --git a/common/bootm.c b/common/bootm.c
-index 2431019b3f..46909ecdbb 100644
+index 2431019..46909ec 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -602,7 +602,6 @@ int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
@@ -75,7 +76,7 @@ index 2431019b3f..46909ecdbb 100644
bootstage_error(BOOTSTAGE_ID_DECOMP_UNIMPL);
else if (ret == BOOTM_ERR_RESET)
diff --git a/common/bootm_os.c b/common/bootm_os.c
-index 9ec84bd0db..b56eb39780 100644
+index 9ec84bd..b56eb39 100644
--- a/common/bootm_os.c
+++ b/common/bootm_os.c
@@ -476,6 +476,7 @@ __weak void arch_preboot_os(void)
@@ -86,6 +87,3 @@ index 9ec84bd0db..b56eb39780 100644
arch_preboot_os();
boot_fn(state, argc, argv, images);
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0015-Rewrite-memmove-to-optimize-on-word-transfers.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0015-Rewrite-memmove-to-optimize-on-word-transfers.patch
index 475b8c3ff..d93d9c4a1 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0015-Rewrite-memmove-to-optimize-on-word-transfers.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0015-Rewrite-memmove-to-optimize-on-word-transfers.patch
@@ -1,4 +1,4 @@
-From a71794fc928429e199c5ea48181e5edfbb0c4f39 Mon Sep 17 00:00:00 2001
+From 711c7bc5a07b62e8369bc76a9db265c960bacef8 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@linux.intel.com>
Date: Mon, 19 Nov 2018 11:04:02 -0800
Subject: [PATCH] Rewrite memmove to optimize on word transfers
@@ -10,12 +10,13 @@ trailer, where the body is all done with word-sized transfers.
Change-Id: Ie0a1f3261e507fb34a908571883d9bf04a1059ee
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+
---
- lib/string.c | 77 +++++++++++++++++++++++++++++++++++++++++++---------
+ lib/string.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 64 insertions(+), 13 deletions(-)
diff --git a/lib/string.c b/lib/string.c
-index 67d5f6a421..0bf472f1f6 100644
+index 67d5f6a..0bf472f 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -505,26 +505,77 @@ void * memcpy(void *dest, const void *src, size_t count)
@@ -109,6 +110,3 @@ index 67d5f6a421..0bf472f1f6 100644
return dest;
}
#endif
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0019-u-boot-full-platform-reset-espi-oob-ready.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0019-u-boot-full-platform-reset-espi-oob-ready.patch
index 1d2b02954..8a63edbb7 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0019-u-boot-full-platform-reset-espi-oob-ready.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0019-u-boot-full-platform-reset-espi-oob-ready.patch
@@ -1,4 +1,4 @@
-From bb490aa226dcf261d3d6865be37130765ecbe9f4 Mon Sep 17 00:00:00 2001
+From 9b05a276af65dd436f30b1b2680a09821c5a81aa Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@intel.com>
Date: Mon, 17 Dec 2018 20:37:23 -0800
Subject: [PATCH] u-boot: full platform reset + espi oob-ready
@@ -8,12 +8,13 @@ reset and then immediately set oob-ready so the espi master controller
can initiate communication.
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
+
---
arch/arm/mach-aspeed/platform_g5.S | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-aspeed/platform_g5.S b/arch/arm/mach-aspeed/platform_g5.S
-index 2ac1ca4721..66427b6f33 100644
+index 2ac1ca4..66427b6 100644
--- a/arch/arm/mach-aspeed/platform_g5.S
+++ b/arch/arm/mach-aspeed/platform_g5.S
@@ -139,7 +139,7 @@
@@ -43,6 +44,3 @@ index 2ac1ca4721..66427b6f33 100644
/* Enable Timer separate clear mode */
ldr r0, =0x1e782038
mov r1, #0xAE
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Add-system-reset-status-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Add-system-reset-status-support.patch
index 2e541561a..afdd610b3 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Add-system-reset-status-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Add-system-reset-status-support.patch
@@ -1,4 +1,4 @@
-From 06445210bfda7f9bbbb36133e6818575bd6a0cc1 Mon Sep 17 00:00:00 2001
+From 54616ade08517374200a332e50f68ee9d0fbf5c5 Mon Sep 17 00:00:00 2001
From: Yong Li <yong.b.li@linux.intel.com>
Date: Tue, 9 Apr 2019 14:42:05 +0800
Subject: [PATCH] Add system reset status support
@@ -7,13 +7,16 @@ Will display the reset reasons and other CPU information in u-boot,
and save the reset reasons into kernel command line,
for applications to query.
+Change-Id: I87ada3ecf14368519e4d09035bb1e09fdc05469b
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
- arch/arm/include/asm/arch-aspeed/platform.h | 2 ++
- arch/arm/mach-aspeed/ast-scu.c | 4 ++++
- board/aspeed/ast-g5/ast-g5-intel.c | 30 +++++++++++++++++++++++++++++
- board/aspeed/ast-g5/ast-g5.c | 7 +++++++
- 4 files changed, 43 insertions(+)
+ arch/arm/include/asm/arch-aspeed/platform.h | 2 +
+ arch/arm/mach-aspeed/ast-scu.c | 4 ++
+ board/aspeed/ast-g5/ast-g5-intel.c | 73 +++++++++++++++++++++++++++++
+ board/aspeed/ast-g5/ast-g5.c | 7 +++
+ 4 files changed, 86 insertions(+)
diff --git a/arch/arm/include/asm/arch-aspeed/platform.h b/arch/arm/include/asm/arch-aspeed/platform.h
index 3b06e52..4e4140d 100644
@@ -51,41 +54,84 @@ index 3a9ba05..976c59b 100644
u32 ast_scu_get_vga_memsize(void)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index bcaf81e..1e8708a 100644
+index 01f8a13..e0bf9ee 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
-@@ -303,6 +303,36 @@ static inline void ast_scu_write(uint32_t val, uint32_t reg)
+@@ -303,6 +303,79 @@ static inline void ast_scu_write(uint32_t val, uint32_t reg)
#endif
}
-+void ast_g5_intel_late_init(void)
++
++static void update_bootargs_cmd(const char *key, const char *value)
+{
-+ char *cmdline = NULL;
-+ char *cmdline_new = NULL;
-+ char buf[32];
-+ u32 rest = 0;
++ int buf_len;
++ char *buf;
++ char *cmdline;
++ char comp_key[128];
+
-+ /* save and clear reset status */
-+ rest = ast_scu_read(AST_SCU_SYS_CTRL);
-+ snprintf(buf, sizeof(buf), " resetreason=0x%x", rest);
-+ ast_scu_write(0, AST_SCU_SYS_CTRL);
++ if (!key || (key[0] == '\0')) {
++ printf("%s - Empty key not allowed\n", __func__);
++ return;
++ }
+
+ cmdline = getenv("bootargs");
-+ if (!cmdline) {
-+ printf("Get bootargs fail!\n");
++
++ /* Allocate space for maximum possible new command line */
++ if (value)
++ buf_len = strlen(cmdline) + strlen(key) + 3 + strlen(value);
++ else
++ buf_len = strlen(cmdline) + strlen(key) + 3;
++
++ buf = malloc(buf_len);
++ if (!buf) {
++ printf("%s: out of memory\n", __func__);
+ return;
+ }
++ memset(buf, 0, buf_len);
+
-+ cmdline_new = malloc(strlen(cmdline) + strlen(buf) + 1);
-+ if (!cmdline_new) {
-+ printf("Cannot malloc memory!\n");
++ if (!cmdline) {
++ /* lets add key-value, though bootargs are empty */
++ snprintf(buf, buf_len, "%s=%s", key, (value ? value : ""));
++ setenv("bootargs", buf);
++ free(buf);
+ return;
+ }
+
-+ /* append the reset status into kernel command line */
-+ snprintf(cmdline_new, strlen(cmdline) + strlen(buf) + 1, "%s%s", cmdline, buf);
-+ setenv("bootargs", cmdline_new);
-+ free(cmdline_new);
++ snprintf(comp_key, sizeof(comp_key), "%s=", key);
++ char *start = strstr(cmdline, comp_key);
++
++ /* Check for full word match. Match should be start of cmdline
++ * or there should be space before match */
++ if (start && ((start == cmdline) || (*(start-1) == ' '))) {
++ char *end = strchr(start, ' ');
++ strncpy(buf, cmdline, (start - cmdline));
++
++ if (end)
++ snprintf(buf, buf_len, "%s%s=%s %s", buf, key,
++ (value ? value : ""), end+1);
++ else
++ snprintf(buf, buf_len, "%s%s=%s", buf, key,
++ (value ? value : ""));
++ } else {
++ snprintf(buf, buf_len, "%s %s=%s", cmdline, key,
++ (value ? value : ""));
++ }
++
++ setenv("bootargs", buf);
++ free(buf);
++}
++
++void ast_g5_intel_late_init(void)
++{
++ char value[32];
++ u32 reset_reason = 0;
++
++ /* save and clear reset status */
++ reset_reason = ast_scu_read(AST_SCU_SYS_CTRL);
++ snprintf(value, sizeof(value), "0x%x", reset_reason);
++ ast_scu_write(0, AST_SCU_SYS_CTRL);
++
++ update_bootargs_cmd("resetreason", value);
+}
+
static void pwm_init(void)
@@ -116,6 +162,3 @@ index d41ef9c..0953677 100644
int dram_init(void)
{
u32 vga = ast_scu_get_vga_memsize();
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Enable-PCIe-L1-support.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Enable-PCIe-L1-support.patch
index bdf3d2ddd..6949856db 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Enable-PCIe-L1-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0020-Enable-PCIe-L1-support.patch
@@ -1,4 +1,4 @@
-From 22c61ba094d8ebdbdcb44f848eef1f5d87a4be87 Mon Sep 17 00:00:00 2001
+From 647cc2538ed6b64054c742b4668386fda9394221 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Tue, 8 Jan 2019 13:33:15 -0800
Subject: [PATCH] Enable PCIe L1 support
@@ -6,12 +6,13 @@ Subject: [PATCH] Enable PCIe L1 support
This commit enables PCIe L1 support using magic registers.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+
---
arch/arm/mach-aspeed/platform_g5.S | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/mach-aspeed/platform_g5.S b/arch/arm/mach-aspeed/platform_g5.S
-index 66427b6f33e7..b4043534b083 100644
+index 66427b6..b404353 100644
--- a/arch/arm/mach-aspeed/platform_g5.S
+++ b/arch/arm/mach-aspeed/platform_g5.S
@@ -2432,6 +2432,18 @@ spi_cbr_end:
@@ -33,6 +34,3 @@ index 66427b6f33e7..b4043534b083 100644
/******************************************************************************
Configure MAC timing
******************************************************************************/
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0021-Config-host-uart-clock-source-using-environment-vari.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0021-Config-host-uart-clock-source-using-environment-vari.patch
index 310d9359b..32a40261f 100755
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0021-Config-host-uart-clock-source-using-environment-vari.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0021-Config-host-uart-clock-source-using-environment-vari.patch
@@ -1,4 +1,4 @@
-From c82ba33ea40e0007945cbc93da58f296fdeedeaf Mon Sep 17 00:00:00 2001
+From 30c634b4969b8a3cd3afc079d60d23d2cb9f5f5c Mon Sep 17 00:00:00 2001
From: Yong Li <yong.b.li@linux.intel.com>
Date: Mon, 11 Feb 2019 15:19:56 +0800
Subject: [PATCH] Config host uart clock source using environment variable
@@ -25,6 +25,7 @@ ipmitool raw 0x32 0x90 1 3; reboot
cat /sys/class/tty/ttyS*/uartclk, ttyS0/12/3 should be 192MHz
Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
+
---
arch/arm/include/asm/arch-aspeed/regs-scu.h | 5 ++++
board/aspeed/ast-g5/ast-g5-intel.c | 39 +++++++++++++++++++++++++++++
@@ -47,7 +48,7 @@ index 10b983a..8a596ce 100644
#define SCU_PCIE_MAPPING_HIGH (1 << 15)
#define SCU_MALI_DTY_MODE (1 << 8)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 1e8708a..f810a40 100644
+index e0bf9ee..e19df03 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -103,6 +103,9 @@ static const GPIOValue gpio_table[] = {
@@ -60,9 +61,9 @@ index 1e8708a..f810a40 100644
static void sgpio_init(void)
{
uint32_t value;
-@@ -310,6 +313,42 @@ void ast_g5_intel_late_init(void)
- char buf[32];
- u32 rest = 0;
+@@ -368,6 +371,42 @@ void ast_g5_intel_late_init(void)
+ char value[32];
+ u32 reset_reason = 0;
+ /* By default host serail A and B use normal speed */
+ uint32_t host_serial_cfg = 0;
@@ -101,8 +102,5 @@ index 1e8708a..f810a40 100644
+ }
+
/* save and clear reset status */
- rest = ast_scu_read(AST_SCU_SYS_CTRL);
- snprintf(buf, sizeof(buf), " resetreason=0x%x", rest);
---
-2.7.4
-
+ reset_reason = ast_scu_read(AST_SCU_SYS_CTRL);
+ snprintf(value, sizeof(value), "0x%x", reset_reason);
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-KCS-driver-support-in-uBoot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-KCS-driver-support-in-uBoot.patch
index c79b2f2dc..63eebe56b 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-KCS-driver-support-in-uBoot.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-KCS-driver-support-in-uBoot.patch
@@ -1,4 +1,4 @@
-From b11377c73c85bdee1975402084c3760b70cc99c4 Mon Sep 17 00:00:00 2001
+From 1264c57a485a238b715c489b7ca14982af396442 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Wed, 13 Mar 2019 14:28:05 +0530
Subject: [PATCH] KCS driver support in uBoot
@@ -25,6 +25,7 @@ via KCS interfaces using cmdtool.efi.
Res: C1 (Invalid).
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
board/aspeed/ast-g5/Makefile | 1 +
board/aspeed/ast-g5/ast-g5-intel.c | 3 +
@@ -44,10 +45,10 @@ index 9022433..05972b9 100644
obj-y += ast-g5-timer.o
+obj-y += ast-g5-kcs.o
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 409b1a7..41d41ea 100644
+index e19df03..adc6d10 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
-@@ -437,6 +437,7 @@ static void pwm_init(void)
+@@ -480,6 +480,7 @@ static void pwm_init(void)
}
extern void espi_init(void);
@@ -55,7 +56,7 @@ index 409b1a7..41d41ea 100644
void ast_g5_intel(void)
{
pwm_init();
-@@ -446,6 +447,8 @@ void ast_g5_intel(void)
+@@ -489,6 +490,8 @@ void ast_g5_intel(void)
timer8_init();
if (intel_force_firmware_jumper_enabled()) {
id_led_control(GPIO_AMBER_LED, EIDLED_On);
@@ -608,6 +609,3 @@ index 0000000..bb697c4
+ u16 data_out_idx;
+ u8 data_out[MAX_KCS_PKT_SIZE];
+};
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-u-boot-env-change-for-PFR-image.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-u-boot-env-change-for-PFR-image.patch
index 746063a56..afba07abf 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-u-boot-env-change-for-PFR-image.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0022-u-boot-env-change-for-PFR-image.patch
@@ -1,18 +1,20 @@
-From 6651a2663ee3e9f02c6ed8377097456528a2ee1a Mon Sep 17 00:00:00 2001
+From 4cbfb21b7792e6dae74e2db6e2e2d6803bf6cc1d Mon Sep 17 00:00:00 2001
From: Vikram Bodireddy <vikram.bodireddy@intel.com>
Date: Tue, 26 Mar 2019 20:34:51 +0530
Subject: [PATCH] u-boot env change for PFR image
+Tested: verified BMC booting from 0x20b00000
+
Signed-off-by: Vikram Bodireddy <vikram.bodireddy@intel.com>
---
include/configs/ast-common.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/configs/ast-common.h b/include/configs/ast-common.h
-index b7d7192..dd89d91 100644
+index 0bc7f2d..821ea8f 100644
--- a/include/configs/ast-common.h
+++ b/include/configs/ast-common.h
-@@ -103,7 +103,7 @@
+@@ -108,7 +108,7 @@
#define CONFIG_SYS_MAX_FLASH_BANKS (CONFIG_FMC_CS)
#define CONFIG_SYS_MAX_FLASH_SECT (8192) /* max number of sectors on one chip */
#define CONFIG_ENV_IS_IN_FLASH 1
@@ -21,12 +23,12 @@ index b7d7192..dd89d91 100644
#define CONFIG_ENV_ADDR (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET)
#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
-@@ -111,7 +111,7 @@
+@@ -116,7 +116,7 @@
#define CONFIG_ENV_ADDR_REDUND (AST_FMC_CS0_BASE + CONFIG_ENV_OFFSET_REDUND)
#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
-#define CONFIG_BOOTCOMMAND "bootm 20080000"
-+#define CONFIG_BOOTCOMMAND "bootm 21100000"
++#define CONFIG_BOOTCOMMAND "bootm 20b00000"
#define CONFIG_ENV_OVERWRITE
#define ASPEED_ENV_SETTINGS \
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0023-Add-TPM-enable-pulse-triggering.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0023-Add-TPM-enable-pulse-triggering.patch
index 5e8cd103d..f3fc0738b 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0023-Add-TPM-enable-pulse-triggering.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0023-Add-TPM-enable-pulse-triggering.patch
@@ -1,4 +1,4 @@
-From f762526077a7af02fc93bacc74fb9d49481d664f Mon Sep 17 00:00:00 2001
+From 6b0f858e2dda7afce82797835f950e3501b3046d Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Fri, 29 Mar 2019 12:30:20 -0700
Subject: [PATCH] Add TPM enable pulse triggering
@@ -6,12 +6,13 @@ Subject: [PATCH] Add TPM enable pulse triggering
This commit adds onboard TPM enable pulse triggering.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+
---
board/aspeed/ast-g5/ast-g5-intel.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index f9955c70d2f2..d9ba4a47a413 100644
+index adc6d10..55afa09 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -53,8 +53,8 @@ static const GPIOValue gpio_table[] = {
@@ -39,7 +40,7 @@ index f9955c70d2f2..d9ba4a47a413 100644
static void timer8_irq_handler(void *regs)
{
int i;
-@@ -445,6 +452,7 @@ void ast_g5_intel(void)
+@@ -488,6 +495,7 @@ void ast_g5_intel(void)
espi_init();
sgpio_init();
timer8_init();
@@ -47,6 +48,3 @@ index f9955c70d2f2..d9ba4a47a413 100644
if (intel_force_firmware_jumper_enabled()) {
id_led_control(GPIO_AMBER_LED, EIDLED_On);
kcs_init();
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0024-IPMI-command-handler-implementation-in-uboot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0024-IPMI-command-handler-implementation-in-uboot.patch
index 9096b09b2..252a9ea1b 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0024-IPMI-command-handler-implementation-in-uboot.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0024-IPMI-command-handler-implementation-in-uboot.patch
@@ -1,4 +1,4 @@
-From 50d3a7264fc0ecdd61ae1686839b19091b124e8d Mon Sep 17 00:00:00 2001
+From 2314db61ea792a98c35fcc75b0ac09cbc0db005d Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Tue, 21 May 2019 00:19:16 +0530
Subject: [PATCH] IPMI command handler implementation in uboot
@@ -20,6 +20,7 @@ and got proper response.
Change-Id: I18b205bc45c34f7c4ef16adc29fa5bd494624ceb
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
board/aspeed/ast-g5/Makefile | 1 +
board/aspeed/ast-g5/ast-g5-kcs.c | 77 +++++++++++++-----------
@@ -327,6 +328,3 @@ index 0000000..9d46d9b
+};
+
+void ipmi_cmd_handler(struct ipmi_cmd_data *ipmi_data);
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0025-Manufacturing-mode-physical-presence-detection.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0025-Manufacturing-mode-physical-presence-detection.patch
index f6f402bc9..7e75acb02 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0025-Manufacturing-mode-physical-presence-detection.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0025-Manufacturing-mode-physical-presence-detection.patch
@@ -1,6 +1,6 @@
-From 6b4e1b3672433c0d7d392404e19d114ae25e0eb2 Mon Sep 17 00:00:00 2001
-From: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
-Date: Wed, 24 Apr 2019 22:35:43 +0530
+From 0e83d58efe5bd34430c953713285293cd0756b69 Mon Sep 17 00:00:00 2001
+From: AppaRao Puli <apparao.puli@linux.intel.com>
+Date: Thu, 20 Jun 2019 18:11:43 +0530
Subject: [PATCH] Manufacturing mode physical presence detection
Support for physical presence of manufacturing mode added.
@@ -15,10 +15,12 @@ special=mfg string
Change-Id: Id7e7c7e7860c7ef3ae8e3a7a7cfda7ff506c0f2b
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
board/aspeed/ast-g5/ast-g5-gpio.h | 2 +-
- board/aspeed/ast-g5/ast-g5-intel.c | 39 ++++++++++++++++++++++++++++++++++++--
- 2 files changed, 38 insertions(+), 3 deletions(-)
+ board/aspeed/ast-g5/ast-g5-intel.c | 31 +++++++++++++++++++++++++++++++
+ 2 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/board/aspeed/ast-g5/ast-g5-gpio.h b/board/aspeed/ast-g5/ast-g5-gpio.h
index a820c0f..ed2499f 100644
@@ -34,7 +36,7 @@ index a820c0f..ed2499f 100644
// GPIO Configuration Register bits
#define GPCFG_EVENT_TO_SMI (1 << 7) // 1 == enabled
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 881ab89..86b422f 100644
+index 55afa09..812e3ef 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
@@ -24,6 +24,7 @@ enum gpio_names {
@@ -56,8 +58,8 @@ index 881ab89..86b422f 100644
};
#define LPC_SNOOP_ADDR 0x80
-@@ -313,12 +318,35 @@ static inline void ast_scu_write(uint32_t val, uint32_t reg)
- #endif
+@@ -373,6 +378,26 @@ static void update_bootargs_cmd(const char *key, const char *value)
+ free(buf);
}
+static bool is_mfg_mode_phy_req(void)
@@ -82,40 +84,17 @@ index 881ab89..86b422f 100644
+
void ast_g5_intel_late_init(void)
{
- char *cmdline = NULL;
- char *cmdline_new = NULL;
- char buf[32];
- u32 rest = 0;
-+ const char *special_mfg_str = " special=mfg";
-+ const u32 special_str_size = strlen(special_mfg_str);
-+ u32 buf_count = 0;
-
- /* By default host serail A and B use normal speed */
- uint32_t host_serial_cfg = 0;
-@@ -367,14 +395,21 @@ void ast_g5_intel_late_init(void)
- return;
- }
-
-- cmdline_new = malloc(strlen(cmdline) + strlen(buf) + 1);
-+ cmdline_new = malloc(strlen(cmdline) + strlen(buf) +
-+ special_str_size + 1);
- if (!cmdline_new) {
- printf("Cannot malloc memory!\n");
- return;
- }
+ char value[32];
+@@ -420,6 +445,12 @@ void ast_g5_intel_late_init(void)
+ ast_scu_write(0, AST_SCU_SYS_CTRL);
- /* append the reset status into kernel command line */
-- snprintf(cmdline_new, strlen(cmdline) + strlen(buf) + 1, "%s%s", cmdline, buf);
-+ buf_count = snprintf(cmdline_new, strlen(cmdline) + strlen(buf) + 1,
-+ "%s%s", cmdline, buf);
+ update_bootargs_cmd("resetreason", value);
+
++ /* Update the special mode in bootargs */
+ if (is_mfg_mode_phy_req())
-+ snprintf(cmdline_new + buf_count - 1, special_str_size + 1,
-+ "%s", special_mfg_str);
-+
- setenv("bootargs", cmdline_new);
- free(cmdline_new);
++ update_bootargs_cmd("special", "mfg");
++ else
++ update_bootargs_cmd("special", NULL);
}
---
-2.7.4
-
+
+ static void pwm_init(void)
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0026-Aspeed-I2C-support-in-U-Boot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0026-Aspeed-I2C-support-in-U-Boot.patch
index 950763d8e..be2c4018d 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0026-Aspeed-I2C-support-in-U-Boot.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0026-Aspeed-I2C-support-in-U-Boot.patch
@@ -1,4 +1,4 @@
-From a1626519109c9bda02119114224f3759add21f00 Mon Sep 17 00:00:00 2001
+From ea4f14a24b67d5085149d48c7fb38d00f3a7444a Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Mon, 6 May 2019 03:01:55 +0530
Subject: [PATCH] Aspeed I2C support in U-Boot
@@ -14,6 +14,7 @@ i2c functionalities like probe, read and write.
Change-Id: Iad9af4a57a58bc8dc5c470bfadad9dac1371c238
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
arch/arm/include/asm/arch-aspeed/ast_g5_platform.h | 14 +
arch/arm/include/asm/arch-aspeed/ast_scu.h | 5 +
@@ -23,10 +24,10 @@ Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
configs/ast_g5_phy_defconfig | 2 +
drivers/i2c/Kconfig | 5 +
drivers/i2c/Makefile | 1 +
- drivers/i2c/ast_i2c.c | 849 +++++++++++++++++++++
+ drivers/i2c/ast_i2c.c | 852 +++++++++++++++++++++
drivers/i2c/ast_i2c.h | 131 ++++
include/configs/ast-common.h | 5 +
- 11 files changed, 1346 insertions(+)
+ 11 files changed, 1349 insertions(+)
create mode 100644 arch/arm/include/asm/arch-aspeed/regs-iic.h
create mode 100644 drivers/i2c/ast_i2c.c
create mode 100644 drivers/i2c/ast_i2c.h
@@ -88,7 +89,7 @@ index 369c4e3..b94d13e 100644
diff --git a/arch/arm/include/asm/arch-aspeed/regs-iic.h b/arch/arm/include/asm/arch-aspeed/regs-iic.h
new file mode 100644
-index 0000000..2847430
+index 0000000..5eb3f0a
--- /dev/null
+++ b/arch/arm/include/asm/arch-aspeed/regs-iic.h
@@ -0,0 +1,204 @@
@@ -129,175 +130,175 @@ index 0000000..2847430
+#endif
+
+/* I2C Register */
-+#define I2C_FUN_CTRL_REG 0x00
-+#define I2C_AC_TIMING_REG1 0x04
-+#define I2C_AC_TIMING_REG2 0x08
-+#define I2C_INTR_CTRL_REG 0x0c
-+#define I2C_INTR_STS_REG 0x10
-+#define I2C_CMD_REG 0x14
-+#define I2C_DEV_ADDR_REG 0x18
-+#define I2C_BUF_CTRL_REG 0x1c
-+#define I2C_BYTE_BUF_REG 0x20
-+#define I2C_DMA_BASE_REG 0x24
-+#define I2C_DMA_LEN_REG 0x28
++#define I2C_FUN_CTRL_REG 0x00
++#define I2C_AC_TIMING_REG1 0x04
++#define I2C_AC_TIMING_REG2 0x08
++#define I2C_INTR_CTRL_REG 0x0c
++#define I2C_INTR_STS_REG 0x10
++#define I2C_CMD_REG 0x14
++#define I2C_DEV_ADDR_REG 0x18
++#define I2C_BUF_CTRL_REG 0x1c
++#define I2C_BYTE_BUF_REG 0x20
++#define I2C_DMA_BASE_REG 0x24
++#define I2C_DMA_LEN_REG 0x28
+
+
+/* Gloable Register Definition */
+/* 0x00 : I2C Interrupt Status Register */
+/* 0x08 : I2C Interrupt Target Assignment */
+#if defined(CONFIG_ARCH_AST2400)
-+#define AST_I2CG_INTR14 (0x1 << 13)
-+#define AST_I2CG_INTR13 (0x1 << 12)
-+#define AST_I2CG_INTR12 (0x1 << 11)
-+#define AST_I2CG_INTR11 (0x1 << 10)
-+#define AST_I2CG_INTR10 (0x1 << 9)
++#define AST_I2CG_INTR14 (0x1 << 13)
++#define AST_I2CG_INTR13 (0x1 << 12)
++#define AST_I2CG_INTR12 (0x1 << 11)
++#define AST_I2CG_INTR11 (0x1 << 10)
++#define AST_I2CG_INTR10 (0x1 << 9)
+#elif defined(CONFIG_ARCH_AST1010)
-+#define AST_I2CG_INTR14 (0x1 << 13)
-+#define AST_I2CG_INTR13 (0x1 << 12)
-+#define AST_I2CG_INTR12 (0x1 << 11)
-+#define AST_I2CG_INTR11 (0x1 << 10)
-+#define AST_I2CG_INTR10 (0x1 << 9)
++#define AST_I2CG_INTR14 (0x1 << 13)
++#define AST_I2CG_INTR13 (0x1 << 12)
++#define AST_I2CG_INTR12 (0x1 << 11)
++#define AST_I2CG_INTR11 (0x1 << 10)
++#define AST_I2CG_INTR10 (0x1 << 9)
+#endif
-+#define AST_I2CG_INTR09 (0x1 << 8)
-+#define AST_I2CG_INTR08 (0x1 << 7)
-+#define AST_I2CG_INTR07 (0x1 << 6)
-+#define AST_I2CG_INTR06 (0x1 << 5)
-+#define AST_I2CG_INTR05 (0x1 << 4)
-+#define AST_I2CG_INTR04 (0x1 << 3)
-+#define AST_I2CG_INTR03 (0x1 << 2)
-+#define AST_I2CG_INTR02 (0x1 << 1)
-+#define AST_I2CG_INTR01 (0x1 )
++#define AST_I2CG_INTR09 (0x1 << 8)
++#define AST_I2CG_INTR08 (0x1 << 7)
++#define AST_I2CG_INTR07 (0x1 << 6)
++#define AST_I2CG_INTR06 (0x1 << 5)
++#define AST_I2CG_INTR05 (0x1 << 4)
++#define AST_I2CG_INTR04 (0x1 << 3)
++#define AST_I2CG_INTR03 (0x1 << 2)
++#define AST_I2CG_INTR02 (0x1 << 1)
++#define AST_I2CG_INTR01 (0x1)
+
+/* Device Register Definition */
+/* 0x00 : I2CD Function Control Register */
-+#define AST_I2CD_BUFF_SEL_MASK (0x7 << 20)
-+#define AST_I2CD_BUFF_SEL(x) (x << 20) // page 0 ~ 7
-+#define AST_I2CD_M_SDA_LOCK_EN (0x1 << 16)
-+#define AST_I2CD_MULTI_MASTER_DIS (0x1 << 15)
-+#define AST_I2CD_M_SCL_DRIVE_EN (0x1 << 14)
-+#define AST_I2CD_MSB_STS (0x1 << 9)
-+#define AST_I2CD_SDA_DRIVE_1T_EN (0x1 << 8)
-+#define AST_I2CD_M_SDA_DRIVE_1T_EN (0x1 << 7)
-+#define AST_I2CD_M_HIGH_SPEED_EN (0x1 << 6)
-+#define AST_I2CD_DEF_ADDR_EN (0x1 << 5)
-+#define AST_I2CD_DEF_ALERT_EN (0x1 << 4)
-+#define AST_I2CD_DEF_ARP_EN (0x1 << 3)
-+#define AST_I2CD_DEF_GCALL_EN (0x1 << 2)
-+#define AST_I2CD_SLAVE_EN (0x1 << 1)
-+#define AST_I2CD_MASTER_EN (0x1 )
++#define AST_I2CD_BUFF_SEL_MASK (0x7 << 20)
++#define AST_I2CD_BUFF_SEL(x) (x << 20) // page 0 ~ 7
++#define AST_I2CD_M_SDA_LOCK_EN (0x1 << 16)
++#define AST_I2CD_MULTI_MASTER_DIS (0x1 << 15)
++#define AST_I2CD_M_SCL_DRIVE_EN (0x1 << 14)
++#define AST_I2CD_MSB_STS (0x1 << 9)
++#define AST_I2CD_SDA_DRIVE_1T_EN (0x1 << 8)
++#define AST_I2CD_M_SDA_DRIVE_1T_EN (0x1 << 7)
++#define AST_I2CD_M_HIGH_SPEED_EN (0x1 << 6)
++#define AST_I2CD_DEF_ADDR_EN (0x1 << 5)
++#define AST_I2CD_DEF_ALERT_EN (0x1 << 4)
++#define AST_I2CD_DEF_ARP_EN (0x1 << 3)
++#define AST_I2CD_DEF_GCALL_EN (0x1 << 2)
++#define AST_I2CD_SLAVE_EN (0x1 << 1)
++#define AST_I2CD_MASTER_EN (0x1)
+
+/* 0x04 : I2CD Clock and AC Timing Control Register #1 */
-+#define AST_I2CD_tBUF (0x1 << 28) // 0~7
-+#define AST_I2CD_tHDSTA (0x1 << 24) // 0~7
-+#define AST_I2CD_tACST (0x1 << 20) // 0~7
-+#define AST_I2CD_tCKHIGH (0x1 << 16) // 0~7
-+#define AST_I2CD_tCKLOW (0x1 << 12) // 0~7
-+#define AST_I2CD_tHDDAT (0x1 << 10) // 0~7
-+#define AST_I2CD_CLK_TO_BASE_DIV (0x1 << 8) // 0~3
-+#define AST_I2CD_CLK_BASE_DIV (0x1 ) // 0~0xf
++#define AST_I2CD_tBUF (0x1 << 28) // 0~7
++#define AST_I2CD_tHDSTA (0x1 << 24) // 0~7
++#define AST_I2CD_tACST (0x1 << 20) // 0~7
++#define AST_I2CD_tCKHIGH (0x1 << 16) // 0~7
++#define AST_I2CD_tCKLOW (0x1 << 12) // 0~7
++#define AST_I2CD_tHDDAT (0x1 << 10) // 0~7
++#define AST_I2CD_CLK_TO_BASE_DIV (0x1 << 8) // 0~3
++#define AST_I2CD_CLK_BASE_DIV (0x1) // 0~0xf
+
+/* 0x08 : I2CD Clock and AC Timing Control Register #2 */
-+#define AST_I2CD_tTIMEOUT (0x1 ) // 0~7
-+#define AST_NO_TIMEOUT_CTRL 0x0
++#define AST_I2CD_tTIMEOUT (0x1) // 0~7
++#define AST_NO_TIMEOUT_CTRL 0x0
+
+
+/* 0x0c : I2CD Interrupt Control Register */
-+#define AST_I2CD_SDA_DL_TO_INTR_EN (0x1 << 14)
-+#define AST_I2CD_BUS_RECOVER_INTR_EN (0x1 << 13)
-+#define AST_I2CD_SMBUS_ALT_INTR_EN (0x1 << 12)
-+#define AST_I2CD_SLAVE_MATCH_INTR_EN (0x1 << 7)
-+#define AST_I2CD_SCL_TO_INTR_EN (0x1 << 6)
-+#define AST_I2CD_ABNORMAL_INTR_EN (0x1 << 5)
-+#define AST_I2CD_NORMAL_STOP_INTR_EN (0x1 << 4)
-+#define AST_I2CD_ARBIT_LOSS_INTR_EN (0x1 << 3)
-+#define AST_I2CD_RX_DOWN_INTR_EN (0x1 << 2)
-+#define AST_I2CD_TX_NAK_INTR_EN (0x1 << 1)
-+#define AST_I2CD_TX_ACK_INTR_EN (0x1 )
++#define AST_I2CD_SDA_DL_TO_INTR_EN (0x1 << 14)
++#define AST_I2CD_BUS_RECOVER_INTR_EN (0x1 << 13)
++#define AST_I2CD_SMBUS_ALT_INTR_EN (0x1 << 12)
++#define AST_I2CD_SLAVE_MATCH_INTR_EN (0x1 << 7)
++#define AST_I2CD_SCL_TO_INTR_EN (0x1 << 6)
++#define AST_I2CD_ABNORMAL_INTR_EN (0x1 << 5)
++#define AST_I2CD_NORMAL_STOP_INTR_EN (0x1 << 4)
++#define AST_I2CD_ARBIT_LOSS_INTR_EN (0x1 << 3)
++#define AST_I2CD_RX_DOWN_INTR_EN (0x1 << 2)
++#define AST_I2CD_TX_NAK_INTR_EN (0x1 << 1)
++#define AST_I2CD_TX_ACK_INTR_EN (0x1)
+
+/* 0x10 : I2CD Interrupt Status Register : WC */
-+#define AST_I2CD_INTR_STS_SDA_DL_TO (0x1 << 14)
-+#define AST_I2CD_INTR_STS_BUS_RECOVER (0x1 << 13)
-+#define AST_I2CD_INTR_STS_SMBUS_ALT (0x1 << 12)
-+#define AST_I2CD_INTR_STS_SMBUS_ARP_ADDR (0x1 << 11)
-+#define AST_I2CD_INTR_STS_SMBUS_DEV_ALT (0x1 << 10)
-+#define AST_I2CD_INTR_STS_SMBUS_DEF_ADDR (0x1 << 9)
-+#define AST_I2CD_INTR_STS_GCALL_ADDR (0x1 << 8)
-+#define AST_I2CD_INTR_STS_SLAVE_MATCH (0x1 << 7)
-+#define AST_I2CD_INTR_STS_SCL_TO (0x1 << 6)
-+#define AST_I2CD_INTR_STS_ABNORMAL (0x1 << 5)
-+#define AST_I2CD_INTR_STS_NORMAL_STOP (0x1 << 4)
-+#define AST_I2CD_INTR_STS_ARBIT_LOSS (0x1 << 3)
-+#define AST_I2CD_INTR_STS_RX_DOWN (0x1 << 2)
-+#define AST_I2CD_INTR_STS_TX_NAK (0x1 << 1)
-+#define AST_I2CD_INTR_STS_TX_ACK (0x1 )
++#define AST_I2CD_INTR_STS_SDA_DL_TO (0x1 << 14)
++#define AST_I2CD_INTR_STS_BUS_RECOVER (0x1 << 13)
++#define AST_I2CD_INTR_STS_SMBUS_ALT (0x1 << 12)
++#define AST_I2CD_INTR_STS_SMBUS_ARP_ADDR (0x1 << 11)
++#define AST_I2CD_INTR_STS_SMBUS_DEV_ALT (0x1 << 10)
++#define AST_I2CD_INTR_STS_SMBUS_DEF_ADDR (0x1 << 9)
++#define AST_I2CD_INTR_STS_GCALL_ADDR (0x1 << 8)
++#define AST_I2CD_INTR_STS_SLAVE_MATCH (0x1 << 7)
++#define AST_I2CD_INTR_STS_SCL_TO (0x1 << 6)
++#define AST_I2CD_INTR_STS_ABNORMAL (0x1 << 5)
++#define AST_I2CD_INTR_STS_NORMAL_STOP (0x1 << 4)
++#define AST_I2CD_INTR_STS_ARBIT_LOSS (0x1 << 3)
++#define AST_I2CD_INTR_STS_RX_DOWN (0x1 << 2)
++#define AST_I2CD_INTR_STS_TX_NAK (0x1 << 1)
++#define AST_I2CD_INTR_STS_TX_ACK (0x1)
+
+/* 0x14 : I2CD Command/Status Register */
-+#define AST_I2CD_SDA_OE (0x1 << 28)
-+#define AST_I2CD_SDA_O (0x1 << 27)
-+#define AST_I2CD_SCL_OE (0x1 << 26)
-+#define AST_I2CD_SCL_O (0x1 << 25)
-+#define AST_I2CD_TX_TIMING (0x1 << 24) // 0 ~3
-+#define AST_I2CD_TX_STATUS (0x1 << 23)
-+// Tx State Machine
-+#define AST_I2CD_IDLE 0x0
++#define AST_I2CD_SDA_OE (0x1 << 28)
++#define AST_I2CD_SDA_O (0x1 << 27)
++#define AST_I2CD_SCL_OE (0x1 << 26)
++#define AST_I2CD_SCL_O (0x1 << 25)
++#define AST_I2CD_TX_TIMING (0x1 << 24) // 0 ~3
++#define AST_I2CD_TX_STATUS (0x1 << 23)
++// Tx State Machine
++#define AST_I2CD_IDLE 0x0
+#define AST_I2CD_MACTIVE 0x8
+#define AST_I2CD_MSTART 0x9
+#define AST_I2CD_MSTARTR 0xa
+#define AST_I2CD_MSTOP 0xb
+#define AST_I2CD_MTXD 0xc
+#define AST_I2CD_MRXACK 0xd
-+#define AST_I2CD_MRXD 0xe
-+#define AST_I2CD_MTXACK 0xf
++#define AST_I2CD_MRXD 0xe
++#define AST_I2CD_MTXACK 0xf
+#define AST_I2CD_SWAIT 0x1
-+#define AST_I2CD_SRXD 0x4
-+#define AST_I2CD_STXACK 0x5
++#define AST_I2CD_SRXD 0x4
++#define AST_I2CD_STXACK 0x5
+#define AST_I2CD_STXD 0x6
-+#define AST_I2CD_SRXACK 0x7
-+#define AST_I2CD_RECOVER 0x3
-+
-+#define AST_I2CD_SCL_LINE_STS (0x1 << 18)
-+#define AST_I2CD_SDA_LINE_STS (0x1 << 17)
-+#define AST_I2CD_BUS_BUSY_STS (0x1 << 16)
-+#define AST_I2CD_SDA_OE_OUT_DIR (0x1 << 15)
-+#define AST_I2CD_SDA_O_OUT_DIR (0x1 << 14)
-+#define AST_I2CD_SCL_OE_OUT_DIR (0x1 << 13)
-+#define AST_I2CD_SCL_O_OUT_DIR (0x1 << 12)
-+#define AST_I2CD_BUS_RECOVER_CMD_EN (0x1 << 11)
-+#define AST_I2CD_S_ALT_EN (0x1 << 10)
++#define AST_I2CD_SRXACK 0x7
++#define AST_I2CD_RECOVER 0x3
++
++#define AST_I2CD_SCL_LINE_STS (0x1 << 18)
++#define AST_I2CD_SDA_LINE_STS (0x1 << 17)
++#define AST_I2CD_BUS_BUSY_STS (0x1 << 16)
++#define AST_I2CD_SDA_OE_OUT_DIR (0x1 << 15)
++#define AST_I2CD_SDA_O_OUT_DIR (0x1 << 14)
++#define AST_I2CD_SCL_OE_OUT_DIR (0x1 << 13)
++#define AST_I2CD_SCL_O_OUT_DIR (0x1 << 12)
++#define AST_I2CD_BUS_RECOVER_CMD_EN (0x1 << 11)
++#define AST_I2CD_S_ALT_EN (0x1 << 10)
+// 0 : DMA Buffer, 1: Pool Buffer
-+//AST1070 DMA register
-+#define AST_I2CD_RX_DMA_ENABLE (0x1 << 9)
-+#define AST_I2CD_TX_DMA_ENABLE (0x1 << 8)
++//AST1070 DMA register
++#define AST_I2CD_RX_DMA_ENABLE (0x1 << 9)
++#define AST_I2CD_TX_DMA_ENABLE (0x1 << 8)
+
+/* Command Bit */
-+#define AST_I2CD_RX_BUFF_ENABLE (0x1 << 7)
-+#define AST_I2CD_TX_BUFF_ENABLE (0x1 << 6)
-+#define AST_I2CD_M_STOP_CMD (0x1 << 5)
-+#define AST_I2CD_M_S_RX_CMD_LAST (0x1 << 4)
-+#define AST_I2CD_M_RX_CMD (0x1 << 3)
-+#define AST_I2CD_S_TX_CMD (0x1 << 2)
-+#define AST_I2CD_M_TX_CMD (0x1 << 1)
-+#define AST_I2CD_M_START_CMD (0x1 )
++#define AST_I2CD_RX_BUFF_ENABLE (0x1 << 7)
++#define AST_I2CD_TX_BUFF_ENABLE (0x1 << 6)
++#define AST_I2CD_M_STOP_CMD (0x1 << 5)
++#define AST_I2CD_M_S_RX_CMD_LAST (0x1 << 4)
++#define AST_I2CD_M_RX_CMD (0x1 << 3)
++#define AST_I2CD_S_TX_CMD (0x1 << 2)
++#define AST_I2CD_M_TX_CMD (0x1 << 1)
++#define AST_I2CD_M_START_CMD (0x1)
+
+/* 0x18 : I2CD Slave Device Address Register */
+
+/* 0x1C : I2CD Pool Buffer Control Register */
-+#define AST_I2CD_RX_BUF_ADDR_GET(x) ((x>> 24)& 0xff)
-+#define AST_I2CD_RX_BUF_END_ADDR_SET(x) (x << 16)
-+#define AST_I2CD_TX_DATA_BUF_END_SET(x) ((x&0xff) << 8)
-+#define AST_I2CD_TX_DATA_BUF_GET(x) ((x >>8) & 0xff)
-+#define AST_I2CD_BUF_BASE_ADDR_SET(x) (x & 0x3f)
++#define AST_I2CD_RX_BUF_ADDR_GET(x) ((x >> 24) & 0xff)
++#define AST_I2CD_RX_BUF_END_ADDR_SET(x) (x << 16)
++#define AST_I2CD_TX_DATA_BUF_END_SET(x) ((x & 0xff) << 8)
++#define AST_I2CD_TX_DATA_BUF_GET(x) ((x >> 8) & 0xff)
++#define AST_I2CD_BUF_BASE_ADDR_SET(x) (x & 0x3f)
+
+/* 0x20 : I2CD Transmit/Receive Byte Buffer Register */
-+#define AST_I2CD_GET_MODE(x) ((x >> 8) & 0x1)
++#define AST_I2CD_GET_MODE(x) ((x >> 8) & 0x1)
+
-+#define AST_I2CD_RX_BYTE_BUFFER (0xff << 8)
-+#define AST_I2CD_TX_BYTE_BUFFER (0xff )
++#define AST_I2CD_RX_BYTE_BUFFER (0xff << 8)
++#define AST_I2CD_TX_BYTE_BUFFER (0xff)
+
+
+#endif /* __ASM_ARCH_REGS_IIC_H */
diff --git a/arch/arm/mach-aspeed/ast-scu.c b/arch/arm/mach-aspeed/ast-scu.c
-index 976c59b..7e8d4c8 100644
+index 976c59b..537cd4b 100644
--- a/arch/arm/mach-aspeed/ast-scu.c
+++ b/arch/arm/mach-aspeed/ast-scu.c
@@ -112,6 +112,12 @@ static struct soc_id soc_map_table[] = {
@@ -319,18 +320,18 @@ index 976c59b..7e8d4c8 100644
+u32 ast_get_pclk(void)
+{
-+ unsigned int div, hpll;
++ unsigned int div, hpll;
+
-+ hpll = ast_get_h_pll_clk();
-+ div = SCU_GET_PCLK_DIV(ast_scu_read(AST_SCU_CLK_SEL));
++ hpll = ast_get_h_pll_clk();
++ div = SCU_GET_PCLK_DIV(ast_scu_read(AST_SCU_CLK_SEL));
+#ifdef AST_SOC_G5
-+ div = (div+1) << 2;
++ div = (div+1) << 2;
+#else
-+ div = (div+1) << 1;
++ div = (div+1) << 1;
+#endif
+
-+ debug("HPLL=%d, Div=%d, PCLK=%d\n", hpll, div, hpll/div);
-+ return (hpll/div);
++ debug("HPLL=%d, Div=%d, PCLK=%d\n", hpll, div, hpll/div);
++ return (hpll/div);
+}
+
+
@@ -444,7 +445,7 @@ index 976c59b..7e8d4c8 100644
{
int i;
diff --git a/board/aspeed/ast-g5/ast-g5.c b/board/aspeed/ast-g5/ast-g5.c
-index 0953677..7309589 100644
+index 0953677..3c33546 100644
--- a/board/aspeed/ast-g5/ast-g5.c
+++ b/board/aspeed/ast-g5/ast-g5.c
@@ -13,6 +13,7 @@
@@ -461,20 +462,20 @@ index 0953677..7309589 100644
+ /* Initialize I2C */
+#if defined(CONFIG_SYS_I2C)
-+ i2c_init(I2C_ADAP->speed, I2C_ADAP->slaveaddr);
++ i2c_init(I2C_ADAP->speed, I2C_ADAP->slaveaddr);
+#else
-+ i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
++ i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+#endif
+
ast_g5_intel();
return 0;
}
diff --git a/configs/ast_g5_phy_defconfig b/configs/ast_g5_phy_defconfig
-index 8f09190..47d9563 100644
+index 4aefcf4..1b96ab7 100644
--- a/configs/ast_g5_phy_defconfig
+++ b/configs/ast_g5_phy_defconfig
-@@ -15,3 +15,5 @@ CONFIG_SPI_FLASH_MACRONIX=y
- CONFIG_SPI_FLASH_STMICRO=y
+@@ -13,3 +13,5 @@ CONFIG_OF_LIBFDT=y
+ CONFIG_SPI_FLASH=y
CONFIG_SYS_NS16550=y
CONFIG_USE_IRQ=y
+CONFIG_CMD_I2C=y
@@ -509,10 +510,10 @@ index 167424d..b2a69ea 100644
obj-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
diff --git a/drivers/i2c/ast_i2c.c b/drivers/i2c/ast_i2c.c
new file mode 100644
-index 0000000..0b12fc2
+index 0000000..533419f
--- /dev/null
+++ b/drivers/i2c/ast_i2c.c
-@@ -0,0 +1,849 @@
+@@ -0,0 +1,852 @@
+/*
+ * i2c_adap_ast.c
+ *
@@ -868,7 +869,7 @@ index 0000000..0b12fc2
+static inline void ast_i2c_write(struct ast_i2c_bus *i2c_bus, u32 val, u32 reg)
+{
+#if 0
-+ printf("%x: W : reg %x , val: %x \n",i2c_bus->reg_base, reg, val);
++ printf("%x: W : reg %x , val: %x\n", i2c_bus->reg_base, reg, val);
+#endif
+ __raw_writel(val, i2c_bus->reg_base + reg);
+}
@@ -877,7 +878,7 @@ index 0000000..0b12fc2
+{
+#if 0
+ u32 val = __raw_readl(i2c_bus->reg_base + reg);
-+ printf("%x: R : reg %x , val: %x \n",i2c_bus->reg_base, reg, val);
++ printf("%x: R : reg %x , val: %x\n", i2c_bus->reg_base, reg, val);
+ return val;
+#else
+ return __raw_readl(i2c_bus->reg_base + reg);
@@ -891,7 +892,7 @@ index 0000000..0b12fc2
+ u32 SCL_Low, SCL_High, data;
+
+ clk = ast_get_pclk();
-+// debug("pclk = %d \n",clk);
++// debug("pclk = %d\n", clk);
+ divider_ratio = clk / bus_clk;
+ for (div = 0; divider_ratio >= 16; div++)
+ {
@@ -910,7 +911,7 @@ index 0000000..0b12fc2
+ u32 data;
+
+ clk = ast_get_pclk();
-+ // debug("pclk = %d \n",clk);
++ // debug("pclk = %d\n", clk);
+
+ for (i = 0;
+ i < sizeof(i2c_timing_table) / sizeof(struct ast_i2c_timing_table);
@@ -920,7 +921,7 @@ index 0000000..0b12fc2
+ }
+ }
+ data = i2c_timing_table[i].timing;
-+ // printk("divisor [%d], timing [%x] \n", i2c_timing_table[i].divisor,
++ // printk("divisor [%d], timing [%x]\n", i2c_timing_table[i].divisor,
+ // i2c_timing_table[i].timing);
+ return data;
+#endif
@@ -1059,7 +1060,7 @@ index 0000000..0b12fc2
+
+ /* Send Offset */
+ for (i = 0; i < i2c_bus->a_len; i++) {
-+ debug("offset [%x] \n", i2c_bus->a_buf[i]);
++ debug("offset [%x]\n", i2c_bus->a_buf[i]);
+ ast_i2c_write(i2c_bus, i2c_bus->a_buf[i],
+ I2C_BYTE_BUF_REG);
+ ast_i2c_write(i2c_bus, AST_I2CD_M_TX_CMD,
@@ -1119,7 +1120,7 @@ index 0000000..0b12fc2
+
+ /* Send Offset */
+ for (i = 0; i < i2c_bus->a_len; i++) {
-+ debug("offset [%x] \n", i2c_bus->a_buf[i]);
++ debug("offset [%x]\n", i2c_bus->a_buf[i]);
+ ast_i2c_write(i2c_bus, i2c_bus->a_buf[i],
+ I2C_BYTE_BUF_REG);
+ ast_i2c_write(i2c_bus, AST_I2CD_M_TX_CMD, I2C_CMD_REG);
@@ -1130,7 +1131,7 @@ index 0000000..0b12fc2
+
+ /* Tx data */
+ for (i = 0; i < i2c_bus->d_len; i++) {
-+ debug("Tx data [%x] \n", i2c_bus->d_buf[i]);
++ debug("Tx data [%x]\n", i2c_bus->d_buf[i]);
+ ast_i2c_write(i2c_bus, i2c_bus->d_buf[i],
+ I2C_BYTE_BUF_REG);
+ ast_i2c_write(i2c_bus, AST_I2CD_M_TX_CMD, I2C_CMD_REG);
@@ -1213,7 +1214,7 @@ index 0000000..0b12fc2
+ return AST_I2C_DEV13_BASE;
+ break;
+ default:
-+ printf("i2c base error \n");
++ printf("i2c base error\n");
+ break;
+ };
+ return 0;
@@ -1247,10 +1248,13 @@ index 0000000..0b12fc2
+ ast_i2c_write(i2c_bus, AST_I2CD_MASTER_EN, I2C_FUN_CTRL_REG);
+
+ // SLAVE mode enable
-+#if 0
-+ if(slaveaddr) {
-+ ast_i2c_write(i2c_bus, slaveaddr, I2C_DEV_ADDR_REG);
-+ ast_i2c_write(i2c_bus, ast_i2c_read(i2c_bus,I2C_FUN_CTRL_REG) | AST_I2CD_SLAVE_EN, I2C_FUN_CTRL_REG);
++#if 0
++ if (slaveaddr) {
++ ast_i2c_write(i2c_bus, slaveaddr, I2C_DEV_ADDR_REG);
++ ast_i2c_write(i2c_bus,
++ ast_i2c_read(i2c_bus, I2C_FUN_CTRL_REG) |
++ AST_I2CD_SLAVE_EN,
++ I2C_FUN_CTRL_REG);
+ }
+#endif
+
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0027-CPLD-u-boot-commands-support-for-PFR.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0027-CPLD-u-boot-commands-support-for-PFR.patch
index d8e7c4645..b5f7ccf07 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0027-CPLD-u-boot-commands-support-for-PFR.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0027-CPLD-u-boot-commands-support-for-PFR.patch
@@ -1,4 +1,4 @@
-From 35a50c959b290ba8a6f0e70a42ae952b65df8a9d Mon Sep 17 00:00:00 2001
+From cdb62eb60de0b99276ff755b896fc51c8ed2606d Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Tue, 7 May 2019 11:26:35 +0530
Subject: [PATCH] CPLD u-boot commands support for PFR
@@ -27,6 +27,7 @@ CPLD read successful. Reg:0x00 Val:0x04
ast#
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
cmd/Makefile | 1 +
cmd/cpld.c | 244 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -47,7 +48,7 @@ index a1731be..c8ac0af 100644
obj-$(CONFIG_CMD_IDE) += ide.o
diff --git a/cmd/cpld.c b/cmd/cpld.c
new file mode 100644
-index 0000000..63220cb
+index 0000000..06b2e98
--- /dev/null
+++ b/cmd/cpld.c
@@ -0,0 +1,244 @@
@@ -65,8 +66,8 @@ index 0000000..63220cb
+#include <errno.h>
+#include <linux/compiler.h>
+
-+#define PFR_CPLD_I2C_BUSNO 5
-+#define PFR_CPLD_SLAVE_ADDR 0x0E
++#define PFR_CPLD_I2C_BUSNO 4
++#define PFR_CPLD_SLAVE_ADDR 0xE0
+
+#define CPLD_READ_TIMEOUT_ATTEMPTS 5
+
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch
index 7601f6dea..0113fc3fe 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch
@@ -1,4 +1,4 @@
-From 56d13790a713659e34eca884ce36dca76b3bdf3d Mon Sep 17 00:00:00 2001
+From 41c08f1fcb5fa0b07ea541fc3d8bc322ddf8701d Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Mon, 13 May 2019 23:49:02 +0530
Subject: [PATCH] Enabling uart1&uart2 in u-boot for BIOS messages
@@ -13,16 +13,17 @@ to uefi, checked bios serial logs working fine and accessed
keyboard in uefi without any issues.
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
board/aspeed/ast-g5/ast-g5-intel.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
-index 86b422f..fe5128f 100644
+index 812e3ef..e68ab85 100644
--- a/board/aspeed/ast-g5/ast-g5-intel.c
+++ b/board/aspeed/ast-g5/ast-g5-intel.c
-@@ -414,6 +414,26 @@ void ast_g5_intel_late_init(void)
- free(cmdline_new);
+@@ -453,6 +453,26 @@ void ast_g5_intel_late_init(void)
+ update_bootargs_cmd("special", NULL);
}
+static void uart_init(void)
@@ -48,7 +49,7 @@ index 86b422f..fe5128f 100644
static void pwm_init(void)
{
uint32_t val;
-@@ -482,6 +502,7 @@ extern void espi_init(void);
+@@ -521,6 +541,7 @@ extern void espi_init(void);
extern void kcs_init(void);
void ast_g5_intel(void)
{
@@ -56,6 +57,3 @@ index 86b422f..fe5128f 100644
pwm_init();
gpio_init(gpio_table, ARRAY_SIZE(gpio_table));
espi_init();
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch
index 00dbd68da..f91ab8fea 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch
@@ -1,4 +1,4 @@
-From bd4a64d7ea394d0b418d491699853112229f098e Mon Sep 17 00:00:00 2001
+From 513ff559cd6fedd29412fb59b6f436f617620511 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Tue, 21 May 2019 00:53:04 +0530
Subject: [PATCH] FFUJ: FW IPMI commands and flash support in u-boot
@@ -28,6 +28,7 @@ Tested:
image transfer via KCS and flashing.
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+
---
arch/arm/include/asm/arch-aspeed/ast-g5-intel.h | 1 +
board/aspeed/ast-g5/Makefile | 2 +
@@ -1258,14 +1259,11 @@ index d66c0fa..45a600e 100644
#if defined(CONFIG_AUTOBOOT_KEYED) && !defined(CONFIG_AUTOBOOT_KEYED_CTRLC)
int prev = disable_ctrlc(1); /* disable Control C checking */
diff --git a/configs/ast_g5_phy_defconfig b/configs/ast_g5_phy_defconfig
-index 47d9563..f070494 100644
+index 1b96ab7..5965a9b 100644
--- a/configs/ast_g5_phy_defconfig
+++ b/configs/ast_g5_phy_defconfig
-@@ -17,3 +17,4 @@ CONFIG_SYS_NS16550=y
+@@ -15,3 +15,4 @@ CONFIG_SYS_NS16550=y
CONFIG_USE_IRQ=y
CONFIG_CMD_I2C=y
CONFIG_SYS_I2C_AST=y
+CONFIG_LIB_RAND=y
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0030-Support-Get-Set-Security-mode-command.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0030-Support-Get-Set-Security-mode-command.patch
new file mode 100644
index 000000000..519977e19
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0030-Support-Get-Set-Security-mode-command.patch
@@ -0,0 +1,124 @@
+From 294a5971c94099277ee5b5589c060896cf22c495 Mon Sep 17 00:00:00 2001
+From: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+Date: Thu, 20 Jun 2019 15:26:50 +0530
+Subject: [PATCH] Support Get/Set Security mode command
+
+Support added for get/set security mode oem command. This
+command is used to read / write the RestrictionMode property
+which is saved in U-Boot environment variable. U-Boot
+command provides a way to downgrade RestrictionMode property
+value, which is not allowed in normal mode from Host interface
+
+Tested:
+1. Verified get security mode returns proper value read from
+U-Boot environment variable. cmdtool.efi 20 C0 B3
+2. Verified set security mode updates U-Boot environment variable
+and it is reflected in linux too cmdtool.efi 20 C0 B4 4
+3. Verified negative test cases with improper values and it
+throws correct errors
+
+Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+
+---
+ board/aspeed/ast-g5/ipmi-handler.c | 63 +++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 62 insertions(+), 1 deletion(-)
+
+diff --git a/board/aspeed/ast-g5/ipmi-handler.c b/board/aspeed/ast-g5/ipmi-handler.c
+index 5e78546..4e921bd 100644
+--- a/board/aspeed/ast-g5/ipmi-handler.c
++++ b/board/aspeed/ast-g5/ipmi-handler.c
+@@ -20,10 +20,19 @@
+ #define CMD_FWUPD_SET_OPTIONS 0x2B
+ #define CMD_FWUPD_IMAGE_WRITE 0x2C
+ #define CMD_INTL_OEM_GET_BUFFER_SIZE 0x66
++#define CMD_INTL_OEM_GET_SEC_MODE 0xB3
++#define CMD_INTL_OEM_SET_SEC_MODE 0xB4
+
+ #define MAX_KCS_BUF_SIZE 1020 /* (0xFF * 4) */
+ #define MAX_IPMB_BUF_SIZE 1020 /* (0xFF * 4) */
+
++/* Restriction mode values */
++#define RESTRICTION_MODE_MIN_VALUE 3 /*Provisioning*/
++#define RESTRICION_MODE_MAX_VALUE 5 /*Provisioned host disabled */
++
++#define STR_ENV_PROVISION "provision"
++
++
+ typedef u16 (*fun_handler)(u8 *req, u16 req_len, u8 *res);
+
+ struct ipmi_cmd_table {
+@@ -53,6 +62,11 @@ struct intc_get_buf_size_res {
+ u8 kcs_size;
+ u8 ipmb_size;
+ };
++struct intc_get_secuirty_mode_res {
++ u8 completion_code;
++ u8 restriction_mode;
++ u8 special_mode;
++};
+
+ static u16 get_device_id(u8 *req, u16 req_len, u8 *res)
+ {
+@@ -120,6 +134,51 @@ static u16 intel_get_buffer_size(u8 *req, u16 req_len, u8 *res)
+ return sizeof(struct intc_get_buf_size_res);
+ }
+
++static u16 intel_get_security_mode(u8 *req, u16 req_len, u8 *res)
++{
++ char *cmdline = NULL;
++ struct intc_get_secuirty_mode_res *result =
++ (struct intc_get_secuirty_mode_res *)res;
++
++ if (req_len != 0) {
++ result->completion_code = IPMI_CC_INVALID_DATA_LENGTH;
++ return sizeof(result->completion_code);
++ }
++
++ cmdline = getenv(STR_ENV_PROVISION);
++ if (!cmdline) {
++ /* Default provision must be set only by linux */
++ result->completion_code = IPMI_CC_UNSPECIFIED;
++ return sizeof(result->completion_code);
++ }
++ result->restriction_mode = simple_strtol(cmdline, NULL, 10);
++ /* special mode is non-volatile and not applicable in U-Boot */
++ result->special_mode = 0;
++ result->completion_code = IPMI_CC_OK;
++
++ return sizeof(*result);
++}
++
++static u16 intel_set_security_mode(u8 *req, u16 req_len, u8 *res)
++{
++ if (req_len != sizeof(*req)) {
++ *res = IPMI_CC_INVALID_DATA_LENGTH;
++ return sizeof(*res);
++ }
++
++ if (*req > RESTRICION_MODE_MAX_VALUE ||
++ *req < RESTRICTION_MODE_MIN_VALUE) {
++ *res = IPMI_CC_INVALID_DATA_FIELD;
++ return sizeof(*res);
++ }
++
++ setenv_ulong(STR_ENV_PROVISION, *req);
++ saveenv();
++ *res = IPMI_CC_OK;
++
++ return sizeof(*res);
++}
++
+ const struct ipmi_cmd_table cmd_info[] = {
+ { NETFN_APP, CMD_APP_GET_DEV_ID, get_device_id },
+ { NETFN_APP, CMD_APP_GET_SELF_TEST_RESULTS, get_self_test_result },
+@@ -131,7 +190,9 @@ const struct ipmi_cmd_table cmd_info[] = {
+ { NETFN_FIRMWARE, CMD_FWUPD_GET_UPDATE_STATUS, fwupd_get_update_status },
+ { NETFN_FIRMWARE, CMD_FWUPD_SET_OPTIONS, fwupd_set_options },
+ { NETFN_FIRMWARE, CMD_FWUPD_IMAGE_WRITE, fwupd_image_write },
+- { NETFN_INTEL_OEM, CMD_INTL_OEM_GET_BUFFER_SIZE, intel_get_buffer_size }
++ { NETFN_INTEL_OEM, CMD_INTL_OEM_GET_BUFFER_SIZE, intel_get_buffer_size },
++ { NETFN_INTEL_OEM, CMD_INTL_OEM_GET_SEC_MODE, intel_get_security_mode },
++ { NETFN_INTEL_OEM, CMD_INTL_OEM_SET_SEC_MODE, intel_set_security_mode },
+ };
+
+ #define CMD_TABLE_SIZE ARRAY_SIZE(cmd_info)
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0031-Make-it-so-TFTP-port-can-be-modified.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0031-Make-it-so-TFTP-port-can-be-modified.patch
new file mode 100644
index 000000000..b70427fe0
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0031-Make-it-so-TFTP-port-can-be-modified.patch
@@ -0,0 +1,40 @@
+From 1d680678abb76bdea7cf2128b7ce6db4a5652151 Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Tue, 16 Jul 2019 16:30:02 -0700
+Subject: [PATCH 1/1] Make it so TFTP port can be modified
+
+This makes it so we can use non-privileged tftp ports.
+
+Tested: Can load fw from non-privileged port.
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ include/configs/ast-g5-ncsi.h | 2 ++
+ include/configs/ast-g5-phy.h | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/include/configs/ast-g5-ncsi.h b/include/configs/ast-g5-ncsi.h
+index 12d6684551..20864b2798 100644
+--- a/include/configs/ast-g5-ncsi.h
++++ b/include/configs/ast-g5-ncsi.h
+@@ -28,4 +28,6 @@
+
+ #define CONFIG_HW_WATCHDOG
+
++#define CONFIG_TFTP_PORT
++
+ #endif /* __AST_G5_NCSI_CONFIG_H */
+diff --git a/include/configs/ast-g5-phy.h b/include/configs/ast-g5-phy.h
+index 62ddb841e5..371f50a1db 100644
+--- a/include/configs/ast-g5-phy.h
++++ b/include/configs/ast-g5-phy.h
+@@ -30,4 +30,6 @@
+ /* platform.S */
+ #define CONFIG_DRAM_ECC_SIZE 0x10000000
+
++#define CONFIG_TFTP_PORT
++
+ #endif /* __AST_G5_PHY_CONFIG_H */
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0032-Adding-PFR-boot-flow-checkpoint-in-u-boot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0032-Adding-PFR-boot-flow-checkpoint-in-u-boot.patch
new file mode 100644
index 000000000..b76a3dba0
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0032-Adding-PFR-boot-flow-checkpoint-in-u-boot.patch
@@ -0,0 +1,102 @@
+From dda24946edd0a4ec54e3ecaa8bd493cce9bdfa15 Mon Sep 17 00:00:00 2001
+From: AppaRao Puli <apparao.puli@linux.intel.com>
+Date: Mon, 22 Jul 2019 08:26:15 +0530
+Subject: [PATCH] Adding PFR boot flow checkpoint in u-boot
+
+Added two PFR boot flow check points in u-boot
+1) Set the booting starts checkpoint(0x01)
+2) Set FFUJ checkpoint(0x07) when jumper on.
+
+Tested:
+Loaded the image, dumped all cpld registers and
+cross verified the check-points properly set or not.
+
+Change-Id: I3c725b0e15c1fea5bdb7b085826bdabad19bda80
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+---
+ board/aspeed/ast-g5/ast-g5-intel.c | 46 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+diff --git a/board/aspeed/ast-g5/ast-g5-intel.c b/board/aspeed/ast-g5/ast-g5-intel.c
+index e68ab85..9f0a64d 100644
+--- a/board/aspeed/ast-g5/ast-g5-intel.c
++++ b/board/aspeed/ast-g5/ast-g5-intel.c
+@@ -12,11 +12,21 @@
+ #include <asm/arch/regs-scu.h>
+ #include <asm/arch/ast_scu.h>
+ #include <asm/arch/aspeed.h>
++#include <i2c.h>
+
+ #include "ast-g5.h"
+ #include "ast-g5-gpio.h"
+ #include "ast-g5-timer.h"
+
++/* PFR Specific defines */
++#define PFR_CPLD_I2C_BUSNO 4
++#define PFR_CPLD_SLAVE_ADDR 0xE0
++#define PFR_CPLD_BOOT_CHECKPOINT_REG 0x13
++
++#define PFR_CPLD_CHKPOINT_START 0x01
++#define PFR_CPLD_CHKPOINT_FFUJ 0x07
++#define PFR_CPLD_CHKPOINT_FINISHED 0x09
++
+ /* Names to match the GPIOs */
+ enum gpio_names {
+ GPIO_ID_LED = 0,
+@@ -537,10 +547,42 @@ static void pwm_init(void)
+ writel(val, PWM_BASE_ADDR + PWM_CONTROL);
+ }
+
++static void set_boot_checkpoint(u8 chk_point)
++{
++ int ret = 0;
++ int chip = (PFR_CPLD_SLAVE_ADDR >> 1);
++ u32 reg_addr = PFR_CPLD_BOOT_CHECKPOINT_REG;
++
++ /* Get current I2C bus number to restore later. */
++ int current_bus_no = i2c_get_bus_num();
++
++ /* Set I2C bus number to PFR CPLD I2C bus. */
++ ret = i2c_set_bus_num(PFR_CPLD_I2C_BUSNO);
++ if (ret) {
++ printf("Failed to change I2C bus number (%d)\n", ret);
++ goto done;
++ }
++
++ ret = i2c_write(chip, reg_addr, 1, &chk_point, 1);
++ if (ret) {
++ printf("Error writing the chip: %d\n", ret);
++ goto done;
++ }
++
++done:
++ /* Restore I2C bus number */
++ if (i2c_set_bus_num(current_bus_no))
++ printf("Failed to restore I2C bus number.\n");
++}
++
+ extern void espi_init(void);
+ extern void kcs_init(void);
+ void ast_g5_intel(void)
+ {
++ /* To notify the CPLD about the start of bootloader
++ * and hardware initialization */
++ set_boot_checkpoint(PFR_CPLD_CHKPOINT_START);
++
+ uart_init();
+ pwm_init();
+ gpio_init(gpio_table, ARRAY_SIZE(gpio_table));
+@@ -551,6 +593,10 @@ void ast_g5_intel(void)
+ if (intel_force_firmware_jumper_enabled()) {
+ id_led_control(GPIO_AMBER_LED, EIDLED_On);
+ kcs_init();
++ /* Notify CPLD about FFUJ jumper set and pause
++ * of booting for indefinitely time. It will be
++ * resumed once reset is done. */
++ set_boot_checkpoint(PFR_CPLD_CHKPOINT_FFUJ);
+ /* TODO: need to stop the booting here. */
+ } else {
+ id_led_control(GPIO_GREEN_LED, EIDLED_On);
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0033-PFR-firmware-update-support-in-u-boot.patch b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0033-PFR-firmware-update-support-in-u-boot.patch
new file mode 100644
index 000000000..80a949a87
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0033-PFR-firmware-update-support-in-u-boot.patch
@@ -0,0 +1,480 @@
+From d9287ee5f3b797fd492ec78617c174ad20e85bc4 Mon Sep 17 00:00:00 2001
+From: AppaRao Puli <apparao.puli@linux.intel.com>
+Date: Wed, 24 Jul 2019 20:11:30 +0530
+Subject: [PATCH] PFR firmware update support in u-boot
+
+Added firmware update ipmi commands support
+for PFR images. This enables PFR based firmware
+updates for components BMC, BIOS and CPLD during
+FFUJ mode.
+
+Tested:
+Using debug fwpiaupd.efi utility, validated the PFR
+BMC image update.
+
+Change-Id: Ic2b550c42208f52ec865da463e6518bf8c503c15
+Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
+---
+ board/aspeed/ast-g5/Makefile | 1 +
+ board/aspeed/ast-g5/fw-update.c | 112 ++++++++++++++++++++-------------------
+ board/aspeed/ast-g5/fw-update.h | 7 +++
+ board/aspeed/ast-g5/ipmi-fwupd.c | 37 +++++++++++++
+ board/aspeed/ast-g5/ipmi-fwupd.h | 6 ---
+ board/aspeed/ast-g5/pfr-mgr.c | 73 +++++++++++++++++++++++++
+ board/aspeed/ast-g5/pfr-mgr.h | 67 +++++++++++++++++++++++
+ 7 files changed, 242 insertions(+), 61 deletions(-)
+ create mode 100644 board/aspeed/ast-g5/pfr-mgr.c
+ create mode 100644 board/aspeed/ast-g5/pfr-mgr.h
+
+diff --git a/board/aspeed/ast-g5/Makefile b/board/aspeed/ast-g5/Makefile
+index 0b2d936..9021d7f 100644
+--- a/board/aspeed/ast-g5/Makefile
++++ b/board/aspeed/ast-g5/Makefile
+@@ -8,3 +8,4 @@ obj-y += ast-g5-kcs.o
+ obj-y += ipmi-handler.o
+ obj-y += ipmi-fwupd.o
+ obj-y += fw-update.o
++obj-y += pfr-mgr.o
+diff --git a/board/aspeed/ast-g5/fw-update.c b/board/aspeed/ast-g5/fw-update.c
+index 9923993..89fe5fd 100644
+--- a/board/aspeed/ast-g5/fw-update.c
++++ b/board/aspeed/ast-g5/fw-update.c
+@@ -6,6 +6,7 @@
+ #include <flash.h>
+
+ #include "fw-update.h"
++#include "pfr-mgr.h"
+
+ #define BOOTCMD_BOOTM_STR "bootm "
+ #define RANDOM_NUM_TIMEOUT 30 /* in seconds */
+@@ -15,7 +16,7 @@
+ #define PROTECT_ON 1
+
+ extern struct fwupd_global_setting g_fwupd_settings;
+-extern u32 g_write_addr;
++extern struct fwupd_image_info g_img_info;
+
+ bool g_fwupd_settings_lock = false;
+ unsigned long long etime;
+@@ -36,16 +37,8 @@ void fwupd_settings_unlock(void)
+
+ u8 get_active_boot_image(void)
+ {
+- char *bootcmd = getenv("bootcmd");
+- char *start = strstr(bootcmd, BOOTCMD_BOOTM_STR);
++ /* For PFR, its always active region */
+ u8 boot_image = PRIMARY_IMAGE;
+-
+- if (start) {
+- ulong boot_addr = simple_strtoul(
+- (start + strlen(BOOTCMD_BOOTM_STR)), NULL, 16);
+- if (boot_addr == SECONDARY_FITIMAGE_START_ADDR)
+- return SECONDARY_IMAGE;
+- }
+ return boot_image;
+ }
+
+@@ -318,45 +311,22 @@ static int erase_flash_sector(ulong addr_first, ulong addr_last)
+ return rcode;
+ }
+
+-static int verify_image(void)
++static int verify_image(ulong src_addr, ulong img_length)
+ {
+- ulong src_addr = IMAGE_LOAD_RAM_ADDR;
+- void *hdr = (void *)src_addr;
+-
+- printf("\n## Checking Image at 0x%08lx ...\n", src_addr);
+- /* AT the moment, we only support FIT image flash */
+- switch (genimg_get_format(hdr)) {
+- case IMAGE_FORMAT_FIT:
+- printf(" FIT image found\n");
+- if (!fit_check_format(hdr)) {
+- printf("Bad FIT image format!\n");
+- return -1;
+- }
+-
+- if (!fit_all_image_verify(hdr)) {
+- printf("Bad hash in FIT image!\n");
+- return -1;
+- }
+- break;
+- default:
+- printf("Unknown image format!\n");
+- return -1;
+- }
+-
++ /* TODO: Verify the hash alone here.*/
++ /* Full image verification is done in CPLD. */
+ return 0;
+ }
+
+-static int flash_image(void)
++static int flash_image(ulong src_addr, ulong addr_first, ulong max_size,
++ ulong img_length)
+ {
+ int rcode;
+- ulong max_size = MAX_FITIMAGE_SIZE;
+- ulong src_addr = IMAGE_LOAD_RAM_ADDR;
+- ulong addr_first = get_flash_image_address();
+ ulong addr_last = addr_first + max_size - 1;
+
+- if ((g_write_addr > max_size) || (g_write_addr == 0)) {
++ if ((img_length > max_size) || (img_length == 0)) {
+ printf("ERROR: %s(): Invalid file uploaded. filesize(0x%08x)\n",
+- __func__, g_write_addr);
++ __func__, img_length);
+ return -1;
+ }
+
+@@ -398,7 +368,7 @@ static int flash_image(void)
+
+ /* write to flash area */
+ printf("Copy to Flash... ");
+- rcode = flash_write((char *)src_addr, addr_first, g_write_addr * 1);
++ rcode = flash_write((char *)src_addr, addr_first, img_length);
+ if (rcode != 0) {
+ printf("%s(): Flash copy failed(%d).\n", __func__, rcode);
+ flash_perror(rcode);
+@@ -430,10 +400,27 @@ void start_fw_update_loop(void)
+ }
+
+ if (g_fwupd_settings.start_update) {
++ printf("Starting image copy to staging area.....\n");
+ update_processing_status(IMG_VALIDATING, 0);
+-
+- rc = verify_image();
++ u8 update_intent = 0x00;
++ if ((g_fwupd_settings.options_mask &
++ g_fwupd_settings.options_value) & DEFER_BMC_RESET)
++ update_intent |= DEFER_UPDATES_TO_RESET;
++
++ ulong offset =
++ get_flash_region_offset(g_img_info.img_type);
++ ulong max_size =
++ get_image_max_size(g_img_info.img_type);
++ ulong src_addr = IMAGE_LOAD_RAM_ADDR;
++ ulong flash_addr = PFR_IMAGE_STAGING_BASE_ADDR + offset;
++
++ debug("FWUPD: offset:0x%08lx, max_size:0x%08lx, "
++ "src_addr:0x%08lx, flash_addr:0x%08lx\n",
++ offset, max_size, src_addr, flash_addr);
++
++ rc = verify_image(src_addr, g_img_info.img_length);
+ if (rc != 0) {
++ printf("Image verification failed.\n");
+ update_processing_status(UPDATE_ERROR, 100);
+ /* Adding delay to make consumer gets status */
+ mdelay(WAIT_STATE_TIMEOUT);
+@@ -441,31 +428,46 @@ void start_fw_update_loop(void)
+ reset_all_settings();
+ continue;
+ }
++ printf("Image verification success.\n");
+
+ update_processing_status(IMG_PROGRAMMING, 10);
+
+- rc = flash_image();
++ rc = flash_image(src_addr, flash_addr, max_size,
++ g_img_info.img_length);
+ if (rc == 0) {
+- /* Update successful, change the boot command */
+- boot_addr = get_flash_image_address();
+- snprintf(boot_cmd, sizeof(boot_cmd),
+- "bootm %08x", boot_addr);
+- setenv("bootcmd", boot_cmd);
+- saveenv();
++ update_processing_status(IMG_PROGRAMMING, 90);
++ } else {
++ update_processing_status(UPDATE_ERROR, 100);
++ }
+
++ printf("Image copy to staging area %s.\n",
++ ((rc == 0) ? "successful" : "failed"));
++
++ /* Set the BMC update intent BIT to CPLD register */
++ update_intent != get_update_intent(g_img_info.img_type);
++
++ /* TODO: We ned a way to protect the staging area from
++ * next write data. After setting cpld intent bit, CPLD
++ * read the stagging region for associated image types
++ * and update active/recovery area. During this stage,
++ * staging area should be protected from next write.
++ * Working with CPLD team for identifying this state. */
++ if (0 != set_cpld_reg(PFR_CPLD_BMC_UPDATE_INTENT_REG,
++ update_intent)) {
++ update_processing_status(UPDATE_ERROR, 100);
++ } else {
++ printf("CPLD: Update intent set successfully.\n");
+ update_processing_status(UPDATE_SUCCESSFUL,
+ 100);
+- } else {
+- update_processing_status(UPDATE_ERROR, 100);
++
++ if (update_intent & DEFER_UPDATES_TO_RESET)
++ printf("CPLD: Update defered to next reset.\n");
+ }
+
+ /* Adding delay to make sure consumer gets status */
+ mdelay(WAIT_STATE_TIMEOUT);
+-
+ reset_all_settings();
+
+- /* Reset BMC */
+- do_reset(NULL, 0, 0, NULL);
+ }
+ mdelay(WAIT_STATE_TIMEOUT);
+ }
+diff --git a/board/aspeed/ast-g5/fw-update.h b/board/aspeed/ast-g5/fw-update.h
+index ed033ad..45e46ba 100644
+--- a/board/aspeed/ast-g5/fw-update.h
++++ b/board/aspeed/ast-g5/fw-update.h
+@@ -28,6 +28,12 @@ enum update_status {
+ UPDATE_FORBIDDEN = 0x80,
+ AC_CYCLE_REQUIRED = 0x83
+ };
++enum update_options {
++ NO_DOWN_REVISION = BIT(0),
++ DEFER_BMC_RESET = BIT(1),
++ SHA32_INTEGRITY_CHECK = BIT(2),
++ CRC32_INTEGRITY_CHECK = BIT(3)
++};
+
+ struct fwupd_global_setting {
+ bool fwupd_mode_active;
+@@ -48,3 +54,4 @@ bool fwupd_settings_trylock(void);
+ void fwupd_settings_unlock(void);
+ u8 get_active_boot_image(void);
+ int generate_random_number(void);
++
+diff --git a/board/aspeed/ast-g5/ipmi-fwupd.c b/board/aspeed/ast-g5/ipmi-fwupd.c
+index 3eba056..6afc8d6 100644
+--- a/board/aspeed/ast-g5/ipmi-fwupd.c
++++ b/board/aspeed/ast-g5/ipmi-fwupd.c
+@@ -2,10 +2,14 @@
+ // Copyright (c) 2018-2019 Intel Corporation
+
+ #include "ipmi-fwupd.h"
++#include "pfr-mgr.h"
+
+ struct fwupd_global_setting g_fwupd_settings;
+ u32 g_write_addr = 0;
+
++struct fwupd_image_info g_img_info;
++static bool block0_mapped = false;
++
+ u16 fwupd_get_execution_ctx(u8 *req, u16 req_len, u8 *res)
+ {
+ int booting_image = 0x01;
+@@ -395,6 +399,39 @@ u16 fwupd_image_write(u8 *req, u16 req_len, u8 *res)
+ memcpy(mem_addr, req, req_len);
+ g_write_addr += req_len;
+
++ /* Get the PFR block 0 data and read the uploaded image
++ * information( Image type, length, hash etc) */
++ if ((g_write_addr >= sizeof(struct pfr_image_block0)) &&
++ (!block0_mapped)) {
++ struct pfr_image_block0 *block0_data =
++ (struct pfr_image_block0 *)IMAGE_LOAD_RAM_ADDR;
++ u32 magic_num = (u32)((*block0_data->tag) |
++ LSH(*(block0_data->tag + 1), 8) |
++ LSH(*(block0_data->tag + 2), 16) |
++ LSH(*(block0_data->tag + 3), 24));
++ /* Validate the magic number */
++ if (magic_num != PFR_BLOCK0_MAGIC_NUM) {
++ result->completion_code = IPMI_CC_INVALID_DATA_LENGTH;
++ return sizeof(result->completion_code);
++ }
++
++ /* Fill the image info structure for later use */
++ g_img_info.magic_num = magic_num;
++ g_img_info.img_length =
++ (u32)((*block0_data->pc_length) |
++ LSH(*(block0_data->pc_length + 1), 8) |
++ LSH(*(block0_data->pc_length + 2), 16) |
++ LSH(*(block0_data->pc_length + 3), 24));
++ g_img_info.img_type =
++ (u32)((*block0_data->pc_type) |
++ LSH(*(block0_data->pc_type + 1), 8) |
++ LSH(*(block0_data->pc_type + 2), 16) |
++ LSH(*(block0_data->pc_type + 3), 24));
++ /* Add Authentication data struct length for full image */
++ g_img_info.img_length += PFR_AUTH_DATA_STRUCT_LEN;
++ block0_mapped = true;
++ }
++
+ result->completion_code = IPMI_CC_OK;
+ result->no_of_bytes_written = (u8)req_len;
+
+diff --git a/board/aspeed/ast-g5/ipmi-fwupd.h b/board/aspeed/ast-g5/ipmi-fwupd.h
+index e490f6b..7409d2e 100644
+--- a/board/aspeed/ast-g5/ipmi-fwupd.h
++++ b/board/aspeed/ast-g5/ipmi-fwupd.h
+@@ -19,12 +19,6 @@ enum control_state_bit {
+ IMG_TRANSFER_CTRL_BIT_ABORT = (0x01 << 2),
+ USB_CTRL_BIT_ATTACH = (0x01 << 3)
+ };
+-enum update_options_bit {
+- NO_DOWN_REVISION = 0,
+- DEFER_BMC_RESET = 1,
+- SHA32_INTEGRITY_CHECK = 2,
+- CRC32_INTEGRITY_CHECK = 3
+-};
+
+ struct fwupd_get_exe_ctx_res {
+ u8 completion_code;
+diff --git a/board/aspeed/ast-g5/pfr-mgr.c b/board/aspeed/ast-g5/pfr-mgr.c
+new file mode 100644
+index 0000000..7713168
+--- /dev/null
++++ b/board/aspeed/ast-g5/pfr-mgr.c
+@@ -0,0 +1,73 @@
++// SPDX-License-Identifier: GPL-2.0+
++// Copyright (c) 2018-2019 Intel Corporation
++
++#include "pfr-mgr.h"
++
++int set_cpld_reg(u8 reg_addr, u8 value)
++{
++ int ret = 0;
++ int chip = (PFR_CPLD_SLAVE_ADDR >> 1);
++
++ /* Get current I2C bus number to restore later. */
++ int current_bus_no = i2c_get_bus_num();
++
++ /* Set I2C bus number to PFR CPLD I2C bus. */
++ ret = i2c_set_bus_num(PFR_CPLD_I2C_BUSNO);
++ if (ret) {
++ printf("Failed to change I2C bus number (%d)\n", ret);
++ goto done;
++ }
++
++ ret = i2c_write(chip, reg_addr, 1, &value, 1);
++ if (ret) {
++ printf("Error writing the chip: %d\n", ret);
++ goto done;
++ }
++
++done:
++ /* Restore I2C bus number */
++ if (i2c_set_bus_num(current_bus_no))
++ printf("Failed to restore I2C bus number.\n");
++
++ return ret;
++}
++
++ulong get_update_intent(u32 type)
++{
++ ulong intent = 0;
++ if (type == PFR_CPLD_UPDATE_CAPSULE)
++ intent = CPLD_IMAGE_UPDATE;
++ else if (type == PFR_PCH_UPDATE_CAPSULE)
++ intent = PCH_SPI_FLASH_ACTIVE;
++ else if (type == PFR_BMC_UPDATE_CAPSULE)
++ intent = BMC_SPI_FLASH_ACTIVE;
++
++ return intent;
++}
++
++ulong get_image_max_size(u32 type)
++{
++ ulong max_size = MAX_BMC_IMAGE_SIZE;
++ if (type == PFR_CPLD_UPDATE_CAPSULE)
++ max_size = MAX_CPLD_IMAGE_SIZE;
++ else if (type == PFR_PCH_UPDATE_CAPSULE)
++ max_size = MAX_BIOS_IMAGE_SIZE;
++ else if (type == PFR_BMC_UPDATE_CAPSULE)
++ max_size = MAX_BMC_IMAGE_SIZE;
++
++ return max_size;
++}
++
++ulong get_flash_region_offset(u32 type)
++{
++ ulong offset = 0;
++ if (type == PFR_CPLD_UPDATE_CAPSULE)
++ offset = PFR_CPLD_IMAGE_REGION_OFFSET;
++ else if (type == PFR_PCH_UPDATE_CAPSULE)
++ offset = PFR_BIOS_IMAGE_REGION_OFFSET;
++ else if (type == PFR_BMC_UPDATE_CAPSULE)
++ offset = PFR_BMC_IMAGE_REGION_OFFSET;
++
++ return offset;
++}
++
+diff --git a/board/aspeed/ast-g5/pfr-mgr.h b/board/aspeed/ast-g5/pfr-mgr.h
+new file mode 100644
+index 0000000..b2368e1
+--- /dev/null
++++ b/board/aspeed/ast-g5/pfr-mgr.h
+@@ -0,0 +1,67 @@
++// SPDX-License-Identifier: GPL-2.0+
++// Copyright (c) 2018-2019 Intel Corporation
++
++#include <common.h>
++
++/* CPLD I2C device defines */
++#define PFR_CPLD_I2C_BUSNO 4
++#define PFR_CPLD_SLAVE_ADDR 0xE0
++
++/* CPLD registers */
++#define PFR_CPLD_BMC_UPDATE_INTENT_REG 0x13
++
++#define PFR_BLOCK0_MAGIC_NUM 0xB6EAFD19
++#define PFR_AUTH_DATA_STRUCT_LEN 1024 /* Block0 & Block1 */
++
++/* SPI Flash MAP */
++#define PFR_IMAGE_STAGING_BASE_ADDR 0x24A00000 /* 54MB */
++#define MAX_BMC_IMAGE_SIZE 0x2000000 /* 32MB */
++#define MAX_BIOS_IMAGE_SIZE 0x1000000 /* 16MB */
++#define MAX_CPLD_IMAGE_SIZE 0x400000 /* 4MB */
++#define PFR_BMC_IMAGE_REGION_OFFSET 0
++#define PFR_BIOS_IMAGE_REGION_OFFSET \
++ (PFR_BMC_IMAGE_REGION_OFFSET + MAX_BMC_IMAGE_SIZE)
++#define PFR_CPLD_IMAGE_REGION_OFFSET \
++ (PFR_BIOS_IMAGE_REGION_OFFSET + MAX_BIOS_IMAGE_SIZE)
++
++#define LSH(data, num) ((data) << (num))
++
++/* Bit mapping for CPLD 'BMC update intent' */
++enum cpld_update_intent {
++ PCH_SPI_FLASH_ACTIVE = BIT(0),
++ PCH_SPI_FLASH_RECOVERY = BIT(1),
++ CPLD_IMAGE_UPDATE = BIT(2),
++ BMC_SPI_FLASH_ACTIVE = BIT(3),
++ BMC_SPI_FLASH_RECOVERY = BIT(4),
++ DEFER_UPDATES_TO_RESET = BIT(7)
++};
++
++enum pfr_block0_pc_type {
++ PFR_CPLD_UPDATE_CAPSULE = 0x00,
++ PFR_PCH_PFM = 0x01,
++ PFR_PCH_UPDATE_CAPSULE = 0x02,
++ PFR_BMC_PFM = 0x03,
++ PFR_BMC_UPDATE_CAPSULE = 0x04
++};
++
++/* PFR image block 0 - As defined in HAS */
++struct pfr_image_block0 {
++ u8 tag[4];
++ u8 pc_length[4];
++ u8 pc_type[4];
++ u8 reserved_1[4];
++ u8 hash_256[32];
++ u8 hash_384[48];
++ u8 reserved_2[32];
++};
++
++struct fwupd_image_info {
++ u32 magic_num;
++ u32 img_length;
++ u32 img_type;
++};
++
++int set_cpld_reg(u8 reg_addr, u8 value);
++ulong get_update_intent(u32 type);
++ulong get_flash_region_offset(u32 type);
++ulong get_image_max_size(u32 type);
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
index acac46d70..5d8c10a76 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-aspeed_%.bbappend
@@ -31,8 +31,15 @@ SRC_URI_append_intel-ast2500 = " \
file://0027-CPLD-u-boot-commands-support-for-PFR.patch \
file://0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch \
file://0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch \
+ file://0030-Support-Get-Set-Security-mode-command.patch \
+ file://0031-Make-it-so-TFTP-port-can-be-modified.patch \
"
-SRC_URI_append_intel-ast2500 += "${@bb.utils.contains('IMAGE_TYPE', 'pfr', 'file://0022-u-boot-env-change-for-PFR-image.patch', '', d)}"
+PFR_SRC_URI = " \
+ file://0022-u-boot-env-change-for-PFR-image.patch \
+ file://0032-Adding-PFR-boot-flow-checkpoint-in-u-boot.patch \
+ file://0033-PFR-firmware-update-support-in-u-boot.patch \
+ "
+SRC_URI_append_intel-ast2500 += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', PFR_SRC_URI, '', d)}"
require recipes-core/os-release/version-vars.inc
diff --git a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed_%.bbappend
index acac46d70..5d8c10a76 100644
--- a/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/u-boot-fw-utils-aspeed_%.bbappend
@@ -31,8 +31,15 @@ SRC_URI_append_intel-ast2500 = " \
file://0027-CPLD-u-boot-commands-support-for-PFR.patch \
file://0028-Enabling-uart1-uart2-in-u-boot-for-BIOS-messages.patch \
file://0029-FFUJ-FW-IPMI-commands-and-flash-support-in-u-boot.patch \
+ file://0030-Support-Get-Set-Security-mode-command.patch \
+ file://0031-Make-it-so-TFTP-port-can-be-modified.patch \
"
-SRC_URI_append_intel-ast2500 += "${@bb.utils.contains('IMAGE_TYPE', 'pfr', 'file://0022-u-boot-env-change-for-PFR-image.patch', '', d)}"
+PFR_SRC_URI = " \
+ file://0022-u-boot-env-change-for-PFR-image.patch \
+ file://0032-Adding-PFR-boot-flow-checkpoint-in-u-boot.patch \
+ file://0033-PFR-firmware-update-support-in-u-boot.patch \
+ "
+SRC_URI_append_intel-ast2500 += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', PFR_SRC_URI, '', d)}"
require recipes-core/os-release/version-vars.inc
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.service b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.service
new file mode 100644
index 000000000..de607f1a7
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Check for AC boot
+After=settings.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/ac-boot-check.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh
new file mode 100644
index 000000000..38728b512
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check/ac-boot-check.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [[ `cat /proc/cmdline` =~ "resetreason=0x11" ]]
+then
+ busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/control/host0/ac_boot xyz.openbmc_project.Common.ACBoot ACBoot s "True"
+else
+ busctl set-property xyz.openbmc_project.Settings /xyz/openbmc_project/control/host0/ac_boot xyz.openbmc_project.Common.ACBoot ACBoot s "False"
+fi
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check_git.bb b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check_git.bb
new file mode 100644
index 000000000..2a30696dc
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/ac-boot-check/ac-boot-check_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "AC Boot Check"
+DESCRIPTION = "Script to check the resetreason for AC boot"
+
+S = "${WORKDIR}"
+SRC_URI = "file://ac-boot-check.sh \
+ file://ac-boot-check.service \
+"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+RDEPENDS_${PN} += "bash"
+
+inherit systemd
+
+FILES_${PN} += "${systemd_system_unitdir}/ac-boot-check.service"
+
+do_install() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/ac-boot-check.service ${D}${systemd_system_unitdir}
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/ac-boot-check.sh ${D}/${bindir}/ac-boot-check.sh
+}
+
+SYSTEMD_SERVICE_${PN} += " ac-boot-check.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug.bb b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug.bb
index 37ad5667f..5576c84c7 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/at-scale-debug.bb
@@ -14,7 +14,7 @@ do_configure[depends] += "virtual/kernel:do_shared_workdir"
SRC_URI = "git://git@github.com/Intel-BMC/at-scale-debug;protocol=ssh"
-SRCREV = "3369d2e81f7e5e4bcb5d9e14bcecea7ae5da07fb"
+SRCREV = "bf2736cb1c8959164f989f59c4337a0ff108b13f"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE_${PN} += "com.intel.AtScaleDebug.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/com.intel.AtScaleDebug.service b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/com.intel.AtScaleDebug.service
index 744982703..a7c238ffe 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/com.intel.AtScaleDebug.service
+++ b/meta-openbmc-mods/meta-common/recipes-core/at-scale-debug/files/com.intel.AtScaleDebug.service
@@ -5,7 +5,7 @@ Requires=network-online.target
[Service]
Restart=always
RestartSec=30
-ExecStart={bindir}/asd -k /home/root/server.pem
+ExecStart={bindir}/asd
Type=simple
SyslogIdentifier=asd
diff --git a/meta-openbmc-mods/meta-common/recipes-core/crashdump/crashdump_git.bb b/meta-openbmc-mods/meta-common/recipes-core/crashdump/crashdump_git.bb
index 8f876cc9c..63f65e03d 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/crashdump/crashdump_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/crashdump/crashdump_git.bb
@@ -4,14 +4,14 @@ inherit obmc-phosphor-systemd
SUMMARY = "CPU Crashdump"
DESCRIPTION = "CPU utilities for dumping CPU Crashdump and registers over PECI"
-DEPENDS = "boost cjson sdbusplus "
+DEPENDS = "boost cjson sdbusplus safec "
inherit cmake
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "git://git@github.com/Intel-BMC/at-scale-debug;protocol=ssh"
-SRCREV = "3369d2e81f7e5e4bcb5d9e14bcecea7ae5da07fb"
+SRCREV = "bf2736cb1c8959164f989f59c4337a0ff108b13f"
S = "${WORKDIR}/git/crashdump"
PACKAGES += "libpeci"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb b/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb
index 08d0057ef..d7595696e 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/fw-update/intel-fw-update.bb
@@ -11,12 +11,12 @@ RDEPENDS_intel-fw-update += "dosfstools parted"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-PFR_EN = "${@bb.utils.contains('IMAGE_TYPE', 'pfr', 'pfr', '', d)}"
+PFR_EN = "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'pfr', '', d)}"
SRC_URI += "file://fwupd.sh"
SRC_URI += "file://usb-ctrl"
-FILES_${PN} += "${@bb.utils.contains('IMAGE_TYPE', 'pfr', '${datadir}/pfr', '', d)}"
+FILES_${PN} += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', '${datadir}/pfr', '', d)}"
do_install() {
install -d ${D}${bindir}
diff --git a/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb b/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb
new file mode 100644
index 000000000..1733ac428
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/host-error-monitor/host-error-monitor_git.bb
@@ -0,0 +1,14 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+inherit cmake systemd
+
+SRC_URI = "git://git@github.com/Intel-BMC/at-scale-debug;protocol=ssh"
+
+DEPENDS = "boost sdbusplus libgpiod"
+
+PV = "0.1+git${SRCPV}"
+SRCREV = "bf2736cb1c8959164f989f59c4337a0ff108b13f"
+
+S = "${WORKDIR}/git/host_error_monitor"
+
+SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.HostErrorMonitor.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/.clang-format b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/.clang-format
new file mode 100644
index 000000000..86a2a9d63
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/.clang-format
@@ -0,0 +1,21 @@
+---
+BasedOnStyle: LLVM
+Language: Cpp
+IndentWidth: 8
+UseTab: Always
+BreakBeforeBraces: Linux
+AlwaysBreakBeforeMultilineStrings: true
+AllowShortIfStatementsOnASingleLine: false
+AllowShortLoopsOnASingleLine: false
+AllowShortFunctionsOnASingleLine: false
+IndentCaseLabels: false
+AlignEscapedNewlinesLeft: false
+AlignTrailingComments: true
+AllowAllParametersOfDeclarationOnNextLine: false
+AlignAfterOpenBracket: true
+SpaceAfterCStyleCast: false
+MaxEmptyLinesToKeep: 2
+BreakBeforeBinaryOperators: NonAssignment
+BreakStringLiterals: false
+SortIncludes: true
+ContinuationIndentWidth: 8
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/0001-Add-smbus-support-to-Cmake-Lists.patch b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/0001-Add-smbus-support-to-Cmake-Lists.patch
new file mode 100644
index 000000000..8bb9ce485
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/0001-Add-smbus-support-to-Cmake-Lists.patch
@@ -0,0 +1,36 @@
+From 21f2f29129a7eba8aecdf07875004bafc6a74269 Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Thu, 20 Jun 2019 08:58:44 -0700
+Subject: [PATCH] Add smbus support to Cmake Lists
+
+This adds smbus changes needed for libmctp.
+
+Change-Id: I06fc950337e6f3d5b1cef0fb445be2d448d49e44
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a5b1042..04c4bdf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,7 +3,7 @@ cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
+ add_definitions (-DMCTP_LOG_STDERR)
+ add_definitions (-DMCTP_FILEIO)
+
+-add_library (libmctp STATIC alloc.c core.c log.c libmctp.h serial.c)
++add_library (libmctp STATIC alloc.c core.c log.c libmctp.h serial.c smbus.c)
+
+ target_include_directories (libmctp PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+@@ -18,5 +18,5 @@ add_executable (test_seq tests/test_seq.c tests/test-utils.c)
+ target_link_libraries (test_seq libmctp)
+
+ install (TARGETS libmctp DESTINATION lib)
+-install (FILES libmctp.h DESTINATION include)
++install (FILES libmctp.h libmctp-smbus.h libmctp-serial.h DESTINATION include)
+
+--
+2.17.1
+
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.c b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.c
new file mode 100644
index 000000000..0d5090e2c
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.c
@@ -0,0 +1,93 @@
+#include "crc32c.h"
+/*****************************************************************/
+/* */
+/* CRC LOOKUP TABLE */
+/* ================ */
+/* The following CRC lookup table was generated automagically */
+/* by the Rocksoft^tm Model CRC Algorithm Table Generation */
+/* Program V1.0 using the following model parameters: */
+/* */
+/* Width : 4 bytes. */
+/* Poly : 0x1EDC6F41L */
+/* Reverse : TRUE. */
+/* */
+/* For more information on the Rocksoft^tm Model CRC Algorithm, */
+/* see the document titled "A Painless Guide to CRC Error */
+/* Detection Algorithms" by Ross Williams */
+/* (ross@guest.adelaide.edu.au.). This document is likely to be */
+/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft". */
+/* */
+/*****************************************************************/
+
+unsigned long crctable[256] = {
+ 0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L, 0xC79A971FL,
+ 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL, 0x8AD958CFL, 0x78B2DBCCL,
+ 0x6BE22838L, 0x9989AB3BL, 0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L,
+ 0x5E133C24L, 0x105EC76FL, 0xE235446CL, 0xF165B798L, 0x030E349BL,
+ 0xD7C45070L, 0x25AFD373L, 0x36FF2087L, 0xC494A384L, 0x9A879FA0L,
+ 0x68EC1CA3L, 0x7BBCEF57L, 0x89D76C54L, 0x5D1D08BFL, 0xAF768BBCL,
+ 0xBC267848L, 0x4E4DFB4BL, 0x20BD8EDEL, 0xD2D60DDDL, 0xC186FE29L,
+ 0x33ED7D2AL, 0xE72719C1L, 0x154C9AC2L, 0x061C6936L, 0xF477EA35L,
+ 0xAA64D611L, 0x580F5512L, 0x4B5FA6E6L, 0xB93425E5L, 0x6DFE410EL,
+ 0x9F95C20DL, 0x8CC531F9L, 0x7EAEB2FAL, 0x30E349B1L, 0xC288CAB2L,
+ 0xD1D83946L, 0x23B3BA45L, 0xF779DEAEL, 0x05125DADL, 0x1642AE59L,
+ 0xE4292D5AL, 0xBA3A117EL, 0x4851927DL, 0x5B016189L, 0xA96AE28AL,
+ 0x7DA08661L, 0x8FCB0562L, 0x9C9BF696L, 0x6EF07595L, 0x417B1DBCL,
+ 0xB3109EBFL, 0xA0406D4BL, 0x522BEE48L, 0x86E18AA3L, 0x748A09A0L,
+ 0x67DAFA54L, 0x95B17957L, 0xCBA24573L, 0x39C9C670L, 0x2A993584L,
+ 0xD8F2B687L, 0x0C38D26CL, 0xFE53516FL, 0xED03A29BL, 0x1F682198L,
+ 0x5125DAD3L, 0xA34E59D0L, 0xB01EAA24L, 0x42752927L, 0x96BF4DCCL,
+ 0x64D4CECFL, 0x77843D3BL, 0x85EFBE38L, 0xDBFC821CL, 0x2997011FL,
+ 0x3AC7F2EBL, 0xC8AC71E8L, 0x1C661503L, 0xEE0D9600L, 0xFD5D65F4L,
+ 0x0F36E6F7L, 0x61C69362L, 0x93AD1061L, 0x80FDE395L, 0x72966096L,
+ 0xA65C047DL, 0x5437877EL, 0x4767748AL, 0xB50CF789L, 0xEB1FCBADL,
+ 0x197448AEL, 0x0A24BB5AL, 0xF84F3859L, 0x2C855CB2L, 0xDEEEDFB1L,
+ 0xCDBE2C45L, 0x3FD5AF46L, 0x7198540DL, 0x83F3D70EL, 0x90A324FAL,
+ 0x62C8A7F9L, 0xB602C312L, 0x44694011L, 0x5739B3E5L, 0xA55230E6L,
+ 0xFB410CC2L, 0x092A8FC1L, 0x1A7A7C35L, 0xE811FF36L, 0x3CDB9BDDL,
+ 0xCEB018DEL, 0xDDE0EB2AL, 0x2F8B6829L, 0x82F63B78L, 0x709DB87BL,
+ 0x63CD4B8FL, 0x91A6C88CL, 0x456CAC67L, 0xB7072F64L, 0xA457DC90L,
+ 0x563C5F93L, 0x082F63B7L, 0xFA44E0B4L, 0xE9141340L, 0x1B7F9043L,
+ 0xCFB5F4A8L, 0x3DDE77ABL, 0x2E8E845FL, 0xDCE5075CL, 0x92A8FC17L,
+ 0x60C37F14L, 0x73938CE0L, 0x81F80FE3L, 0x55326B08L, 0xA759E80BL,
+ 0xB4091BFFL, 0x466298FCL, 0x1871A4D8L, 0xEA1A27DBL, 0xF94AD42FL,
+ 0x0B21572CL, 0xDFEB33C7L, 0x2D80B0C4L, 0x3ED04330L, 0xCCBBC033L,
+ 0xA24BB5A6L, 0x502036A5L, 0x4370C551L, 0xB11B4652L, 0x65D122B9L,
+ 0x97BAA1BAL, 0x84EA524EL, 0x7681D14DL, 0x2892ED69L, 0xDAF96E6AL,
+ 0xC9A99D9EL, 0x3BC21E9DL, 0xEF087A76L, 0x1D63F975L, 0x0E330A81L,
+ 0xFC588982L, 0xB21572C9L, 0x407EF1CAL, 0x532E023EL, 0xA145813DL,
+ 0x758FE5D6L, 0x87E466D5L, 0x94B49521L, 0x66DF1622L, 0x38CC2A06L,
+ 0xCAA7A905L, 0xD9F75AF1L, 0x2B9CD9F2L, 0xFF56BD19L, 0x0D3D3E1AL,
+ 0x1E6DCDEEL, 0xEC064EEDL, 0xC38D26C4L, 0x31E6A5C7L, 0x22B65633L,
+ 0xD0DDD530L, 0x0417B1DBL, 0xF67C32D8L, 0xE52CC12CL, 0x1747422FL,
+ 0x49547E0BL, 0xBB3FFD08L, 0xA86F0EFCL, 0x5A048DFFL, 0x8ECEE914L,
+ 0x7CA56A17L, 0x6FF599E3L, 0x9D9E1AE0L, 0xD3D3E1ABL, 0x21B862A8L,
+ 0x32E8915CL, 0xC083125FL, 0x144976B4L, 0xE622F5B7L, 0xF5720643L,
+ 0x07198540L, 0x590AB964L, 0xAB613A67L, 0xB831C993L, 0x4A5A4A90L,
+ 0x9E902E7BL, 0x6CFBAD78L, 0x7FAB5E8CL, 0x8DC0DD8FL, 0xE330A81AL,
+ 0x115B2B19L, 0x020BD8EDL, 0xF0605BEEL, 0x24AA3F05L, 0xD6C1BC06L,
+ 0xC5914FF2L, 0x37FACCF1L, 0x69E9F0D5L, 0x9B8273D6L, 0x88D28022L,
+ 0x7AB90321L, 0xAE7367CAL, 0x5C18E4C9L, 0x4F48173DL, 0xBD23943EL,
+ 0xF36E6F75L, 0x0105EC76L, 0x12551F82L, 0xE03E9C81L, 0x34F4F86AL,
+ 0xC69F7B69L, 0xD5CF889DL, 0x27A40B9EL, 0x79B737BAL, 0x8BDCB4B9L,
+ 0x988C474DL, 0x6AE7C44EL, 0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L,
+ 0xAD7D5351L};
+
+/*****************************************************************/
+/* End of CRC Lookup Table */
+/*****************************************************************/
+
+uint32_t crc32c(uint8_t *data, int length)
+{
+ const uint32_t CRC_INIT = 0xffffffffL;
+ const uint32_t XO_ROT = 0xffffffffL;
+
+ uint32_t crc = CRC_INIT;
+
+ while (length--) {
+ crc = crctable[(crc ^ *data++) & 0xFFL] ^ (crc >> 8);
+ }
+ crc = crc ^ XO_ROT;
+
+ return crc;
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.h b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.h
new file mode 100644
index 000000000..d6b1d11e2
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/crc32c.h
@@ -0,0 +1,9 @@
+#ifndef CRC32C_H
+#define CRC32C_H
+
+#include <stdint.h>
+#include <stdlib.h>
+
+uint32_t crc32c(uint8_t *buf, int len);
+
+#endif /* CRC32C_H */
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/libmctp-smbus.h b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/libmctp-smbus.h
new file mode 100644
index 000000000..b3beadb0c
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/libmctp-smbus.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+#ifndef _LIBMCTP_SMBUS_H
+#define _LIBMCTP_SMBUS_H
+
+#include "libmctp.h"
+
+struct mctp_binding_smbus;
+
+struct mctp_binding_smbus *mctp_smbus_init(void);
+int mctp_smbus_get_out_fd(struct mctp_binding_smbus *smbus);
+int mctp_smbus_get_in_fd(struct mctp_binding_smbus *smbus);
+void mctp_smbus_register_bus(struct mctp_binding_smbus *smbus,
+ struct mctp *mctp, mctp_eid_t eid);
+int mctp_smbus_read(struct mctp_binding_smbus *smbus);
+int mctp_smbus_open_bus(struct mctp_binding_smbus *smbus, int out_bus_num,
+ int root_bus_num);
+#endif /* _LIBMCTP_SMBUS_H */
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/smbus.c b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/smbus.c
new file mode 100644
index 000000000..8679a5185
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp/smbus.c
@@ -0,0 +1,293 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+#include <assert.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifdef MCTP_FILEIO
+#include <fcntl.h>
+#endif
+
+#define pr_fmt(x) "smbus: " x
+
+#include <i2c/smbus.h>
+#include <linux/i2c-dev.h>
+#include <linux/i2c.h>
+#include <sys/ioctl.h>
+
+#include "libmctp-alloc.h"
+#include "libmctp-log.h"
+#include "libmctp-smbus.h"
+#include "libmctp.h"
+
+struct mctp_binding_smbus {
+ struct mctp_binding binding;
+ struct mctp *mctp;
+ int out_fd;
+ int in_fd;
+
+ unsigned long bus_id;
+
+ /* receive buffer */
+ uint8_t rxbuf[1024];
+ struct mctp_pktbuf *rx_pkt;
+
+ /* temporary transmit buffer */
+ uint8_t txbuf[256];
+};
+
+#ifndef container_of
+#define container_of(ptr, type, member) \
+ (type *)((char *)(ptr) - (char *)&((type *)0)->member)
+#endif
+
+#define binding_to_smbus(b) container_of(b, struct mctp_binding_smbus, binding)
+
+#define MCTP_COMMAND_CODE 0x0F
+#define MCTP_SLAVE_ADDRESS 0x1d
+#define MCTP_SOURCE_SLAVE_ADDRESS 0x21
+
+#define SMBUS_PEC_BYTE_SIZE 1
+
+struct mctp_smbus_header_tx {
+ uint8_t source_slave_address;
+};
+
+struct mctp_smbus_header_rx {
+ uint8_t destination_slave_address;
+ uint8_t command_code;
+ uint8_t byte_count;
+ uint8_t source_slave_address;
+};
+
+static int mctp_binding_smbus_tx(struct mctp_binding *b,
+ struct mctp_pktbuf *pkt)
+{
+ struct mctp_binding_smbus *smbus = binding_to_smbus(b);
+ struct mctp_smbus_header_tx *hdr;
+ uint8_t *buf;
+ size_t len;
+ int r;
+ struct i2c_msg msg;
+ struct i2c_rdwr_ioctl_data data;
+
+ data.msgs = &msg;
+ data.nmsgs = 1;
+
+ uint16_t timeout = 1000;
+ int i;
+
+ /* the length field in the header excludes smbus framing
+ * and escape sequences */
+ len = mctp_pktbuf_size(pkt);
+
+ hdr = (void *)smbus->txbuf;
+
+ // hdr->len = len + 1; // +1 for PET byte
+ hdr->source_slave_address = MCTP_SOURCE_SLAVE_ADDRESS;
+
+ buf = (void *)(hdr + sizeof(*hdr));
+
+ if (len + sizeof(*hdr) > sizeof(smbus->txbuf))
+ return -1;
+
+ memcpy(buf, &pkt->data[pkt->start], len);
+
+ buf += len;
+
+ if (ioctl(smbus->out_fd, I2C_SLAVE, MCTP_SLAVE_ADDRESS) < 0) {
+ mctp_prerr("Can't set slave");
+ return -1;
+ }
+ if (ioctl(smbus->out_fd, I2C_PEC, 1) < 0) {
+ mctp_prerr("Cant set PEC byte");
+ return -1;
+ }
+
+ if (i2c_smbus_write_block_data(smbus->out_fd, MCTP_COMMAND_CODE,
+ sizeof(*hdr) + len, (void *)smbus->txbuf)
+ < 0) {
+ mctp_prerr("Failed to send");
+ return -1;
+ }
+
+ return 0;
+}
+
+#ifdef MCTP_FILEIO
+int mctp_smbus_read(struct mctp_binding_smbus *smbus)
+{
+ ssize_t len;
+ int r;
+ struct mctp_smbus_header_rx *hdr;
+
+ r = lseek(smbus->in_fd, 0, SEEK_SET);
+ if (r < 0) {
+ mctp_prerr("Failed to seek");
+ return -1;
+ }
+ len = read(smbus->in_fd, smbus->rxbuf, sizeof(smbus->rxbuf));
+ if (len < sizeof(*hdr)) {
+ // TODO Don't return an error here, as it seems to happen from
+ // time to time, even with a properly written poll loop,
+ // although it's not clear why.
+ return 0;
+ }
+
+ hdr = (void *)smbus->rxbuf;
+ if (hdr->destination_slave_address
+ != (MCTP_SOURCE_SLAVE_ADDRESS & ~1)) {
+ mctp_prerr("Got bad slave address %d",
+ hdr->destination_slave_address);
+ return 0;
+ }
+ if (hdr->command_code != MCTP_COMMAND_CODE) {
+ mctp_prerr("Got bad command code %d", hdr->command_code);
+ // Not a payload intended for us
+ return 0;
+ }
+
+ if (hdr->byte_count != (len - sizeof(*hdr))) {
+ // Got an incorrectly sized payload
+ mctp_prerr("Got smbus payload sized %d, expecting %d",
+ hdr->byte_count, len - sizeof(*hdr));
+ return 0;
+ }
+
+ if (len < 0) {
+ mctp_prerr("can't read from smbus device: %m");
+ return -1;
+ }
+
+ smbus->rx_pkt = mctp_pktbuf_alloc(0);
+ assert(smbus->rx_pkt);
+
+ if (mctp_pktbuf_push(smbus->rx_pkt, &smbus->rxbuf[sizeof(*hdr)],
+ len - sizeof(*hdr) - SMBUS_PEC_BYTE_SIZE)
+ != 0) {
+ mctp_prerr("Can't push tok pktbuf: %m");
+ return -1;
+ }
+
+ mctp_bus_rx(&(smbus->binding), smbus->rx_pkt);
+
+ mctp_pktbuf_free(smbus->rx_pkt);
+ smbus->rx_pkt = NULL;
+
+ return 0;
+}
+
+int mctp_smbus_get_in_fd(struct mctp_binding_smbus *smbus)
+{
+ return smbus->in_fd;
+}
+
+int mctp_smbus_get_out_fd(struct mctp_binding_smbus *smbus)
+{
+ return smbus->out_fd;
+}
+
+int mctp_smbus_open_bus(struct mctp_binding_smbus *smbus, int out_bus_num,
+ int root_bus_num)
+{
+ char filename[60];
+ size_t filename_size;
+ char slave_mqueue[20];
+ size_t mqueue_size;
+
+ int fd;
+
+ size_t size;
+ int address_7_bit;
+
+ address_7_bit = MCTP_SOURCE_SLAVE_ADDRESS >> 1;
+ size = sizeof(filename);
+ snprintf(filename, size,
+ "/sys/bus/i2c/devices/i2c-%d/%d-%04x/slave-mqueue",
+ root_bus_num, root_bus_num,
+ (address_7_bit << 8) + address_7_bit);
+
+ smbus->in_fd = open(filename, O_RDONLY | O_NONBLOCK | O_CLOEXEC);
+ if (smbus->in_fd < 0) {
+ // Device doesn't exist. Create it.
+ filename_size = sizeof(filename);
+ snprintf(filename, filename_size,
+ "/sys/bus/i2c/devices/i2c-%d/new_device",
+ root_bus_num);
+ filename[filename_size - 1] = '\0';
+
+ fd = open(filename, O_WRONLY);
+ if (fd < 0) {
+ mctp_prerr("can't open root device %s: %m", filename);
+ return -1;
+ }
+
+ mqueue_size = sizeof(slave_mqueue);
+ snprintf(slave_mqueue, mqueue_size, "slave-mqueue %#04x",
+ (address_7_bit << 8) + address_7_bit);
+
+ size = write(fd, slave_mqueue, mqueue_size);
+ close(fd);
+ if (size != mqueue_size) {
+ mctp_prerr("can't create mqueue device on %s: %m",
+ filename);
+ return -1;
+ }
+
+ size = sizeof(filename);
+ snprintf(filename, size,
+ "/sys/bus/i2c/devices/i2c-%d/%d-%04x/slave-mqueue",
+ root_bus_num, root_bus_num,
+ (address_7_bit << 8) + address_7_bit);
+
+ smbus->in_fd =
+ open(filename, O_RDONLY | O_NONBLOCK | O_CLOEXEC);
+ if (smbus->in_fd < 0) {
+ mctp_prerr("can't open mqueue device on %s: %m",
+ filename);
+ return -2;
+ }
+ }
+
+ size = sizeof(filename);
+ snprintf(filename, size, "/dev/i2c-%d", out_bus_num);
+ filename[size - 1] = '\0';
+
+ smbus->out_fd = open(filename, O_RDWR | O_NONBLOCK);
+ if (smbus->out_fd < 0) {
+ close(smbus->in_fd);
+ mctp_prerr("can't open device %s: %m", filename);
+ }
+
+ return 0;
+}
+
+#endif
+
+void mctp_smbus_register_bus(struct mctp_binding_smbus *smbus,
+ struct mctp *mctp, mctp_eid_t eid)
+{
+ assert(smbus->out_fd >= 0);
+ assert(smbus->in_fd >= 0);
+ smbus->mctp = mctp;
+ smbus->bus_id = mctp_register_bus(mctp, &smbus->binding, eid);
+}
+
+struct mctp_binding_smbus *mctp_smbus_init(void)
+{
+ struct mctp_binding_smbus *smbus;
+
+ smbus = __mctp_alloc(sizeof(*smbus));
+ smbus->in_fd = -1;
+ smbus->out_fd = -1;
+
+ smbus->rx_pkt = NULL;
+ smbus->binding.name = "smbus";
+ smbus->binding.version = 1;
+
+ smbus->binding.tx = mctp_binding_smbus_tx;
+
+ return smbus;
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb
new file mode 100644
index 000000000..d9359cfeb
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/interfaces/libmctp_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "libmctp"
+DESCRIPTION = "Implementation of MCTP (DTMF DSP0236)"
+
+SRC_URI = "git://github.com/openbmc/libmctp.git"
+SRCREV = "195a7c5e212f7fb50c850880519073ec99133607"
+
+PV = "0.1+git${SRCPV}"
+
+LICENSE = "Apache-2.0 | GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "i2c-tools"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-Add-smbus-support-to-Cmake-Lists.patch \
+ file://crc32c.c \
+ file://crc32c.h \
+ file://libmctp-smbus.h \
+ file://smbus.c"
+
+do_configure_prepend() {
+ cp -f ${WORKDIR}/*.c ${S}
+ cp -f ${WORKDIR}/*.h ${S}
+}
+
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
index 70533e540..e79a42fcd 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-core/ipmi/intel-ipmi-oem_%.bbappend
@@ -1,2 +1,2 @@
SRC_URI = "git://github.com/openbmc/intel-ipmi-oem.git"
-SRCREV = "ba9c1765f5edc2f0891e012f33b3059a0dbd7ff1"
+SRCREV = "6ae0818f82bcfc6c5568dd2107d0656da5410f61"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/ipmi/ipmi-providers.bb b/meta-openbmc-mods/meta-common/recipes-core/ipmi/ipmi-providers.bb
index b5448060f..7f6d406d4 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/ipmi/ipmi-providers.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/ipmi/ipmi-providers.bb
@@ -2,7 +2,7 @@ SUMMARY = "Intel IPMI Providers"
DESCRIPTION = "IPMI Provider Libraries"
SRC_URI = "git://git@github.com/Intel-BMC/intel-ipmi-providers;protocol=ssh"
-SRCREV = "3f8aa7959d2e8475e50743d32ff178257aafc1e7"
+SRCREV = "b2c6184269e3bdf601c38f716ac7ee73379af71b"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/libxcrypt/libxcrypt_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/libxcrypt/libxcrypt_%.bbappend
new file mode 100644
index 000000000..ee414efb8
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/libxcrypt/libxcrypt_%.bbappend
@@ -0,0 +1,5 @@
+# libxcrypt fails to compile under gcc with the -Os flag. Because we want to
+# be able to compile the rest of the system with -Os, override the global
+# setting here to fall back to -O3
+CFLAGS_append = "--param max-inline-insns-single=1000"
+FULL_OPTIMIZATION = "-O3 -pipe ${DEBUG_FLAGS}"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/peci-pcie/peci-pcie_git.bb b/meta-openbmc-mods/meta-common/recipes-core/peci-pcie/peci-pcie_git.bb
index 5061e1e56..01ef73964 100644
--- a/meta-openbmc-mods/meta-common/recipes-core/peci-pcie/peci-pcie_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-core/peci-pcie/peci-pcie_git.bb
@@ -10,7 +10,7 @@ SRC_URI = "git://git@github.com/Intel-BMC/at-scale-debug;protocol=ssh"
DEPENDS = "boost sdbusplus crashdump"
PV = "0.1+git${SRCPV}"
-SRCREV = "3369d2e81f7e5e4bcb5d9e14bcecea7ae5da07fb"
+SRCREV = "bf2736cb1c8959164f989f59c4337a0ff108b13f"
S = "${WORKDIR}/git/peci_pcie"
diff --git a/meta-openbmc-mods/meta-common/recipes-core/safec/safec_%.bbappend b/meta-openbmc-mods/meta-common/recipes-core/safec/safec_%.bbappend
new file mode 100644
index 000000000..4ce29534d
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/safec/safec_%.bbappend
@@ -0,0 +1,11 @@
+RDEPENDS_${PN} = ""
+do_install_append() {
+ F=$(find ${D} -name check_for_unsafe_apis)
+ if [ -n "${F}" ]; then
+ # remove the unused perl script
+ rm -f "${F}"
+ # remove the script's destination directory, only if it is empty
+ rmdir "$(dirname ${F})" 2>/dev/null || :
+ fi
+}
+
diff --git a/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb b/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb
new file mode 100644
index 000000000..a6d94fc51
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-core/safec/safec_3.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Safe C Library"
+
+LICENSE = "safec"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
+SECTION = "lib"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "f1708afcbba69f75e80920b75aa3d7baee3f611d"
+SRC_URI = "git://github.com/rurban/safeclib.git"
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64).*-linux'
+
+RDEPENDS_${PN} = "perl"
diff --git a/meta-openbmc-mods/meta-common/recipes-devtools/python/python_%.bbappend b/meta-openbmc-mods/meta-common/recipes-devtools/python/python_%.bbappend
new file mode 100644
index 000000000..00815c173
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-devtools/python/python_%.bbappend
@@ -0,0 +1,7 @@
+# This commit pulls in the python world, and adds a very large chunk to our
+# image size. I suspect we can make most of our things rely on python-core
+# instead of full python, but this is a temporary fix.
+# https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f384e39ad1ca1514fb7b5d7fa0d63e0c863761ca
+
+RPROVIDES_${PN}-core = "${PN}"
+RPROVIDES_${PN}-modules = ""
diff --git a/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog-policy/rsyslog-override.conf b/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
index 14bcc0781..14bcc0781 100644
--- a/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog-policy/rsyslog-override.conf
+++ b/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog/rsyslog-override.conf
diff --git a/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
index 03a81e2cb..15e557c79 100644
--- a/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog_%.bbappend
@@ -12,13 +12,19 @@ SRC_URI += "file://rsyslog.conf \
file://rsyslog.logrotate \
file://rotate-event-logs.service \
file://rotate-event-logs.timer \
+ file://rsyslog-override.conf \
"
+FILES_${PN} += "${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf"
+
PACKAGECONFIG_append = " imjournal"
do_install_append() {
install -m 0644 ${WORKDIR}/rotate-event-logs.service ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/rotate-event-logs.timer ${D}${systemd_system_unitdir}
+ install -d ${D}${systemd_system_unitdir}/rsyslog.service.d
+ install -m 0644 ${WORKDIR}/rsyslog-override.conf \
+ ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf
rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf
}
diff --git a/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend b/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend
index af5fa8b05..a7fefea96 100644
--- a/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-extended/sdbusplus/sdbusplus_%.bbappend
@@ -1,4 +1,4 @@
#SRC_URI += "git://github.com/openbmc/sdbusplus"
-SRCREV = "f8bbf17c3db879359b0984b40250e4db3d274be1"
+SRCREV = "4212292bcf136d04b38ba5116aa568b0fa312798"
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch
deleted file mode 100644
index 6dd1c93f0..000000000
--- a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver/0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 6d7c437f4d111ed183627c11e9bfc77ad2abc752 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
-Date: Thu, 9 May 2019 15:33:55 -0700
-Subject: [PATCH] rfbserver: add a hooking function to deliver
- rfbFramebufferUpdateRequest messages.
-
-This commit adds a hooking function to deliver
-rfbFramebufferUpdateRequest messages from clients to the frame
-producer for a case the producer needs to handle the messages for
-flow control or etc.
----
- libvncserver/rfbserver.c | 2 ++
- rfb/rfb.h | 5 +++++
- 2 files changed, 7 insertions(+)
-
-diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
-index 42209cf29a0d..3a546f2ed330 100644
---- a/libvncserver/rfbserver.c
-+++ b/libvncserver/rfbserver.c
-@@ -2381,6 +2381,8 @@ rfbProcessClientNormalMessage(rfbClientPtr cl)
- return;
- }
-
-+ if (cl->clientFURHook)
-+ cl->clientFURHook(cl, &msg.fur);
-
- tmpRegion =
- sraRgnCreateRect(msg.fur.x,
-diff --git a/rfb/rfb.h b/rfb/rfb.h
-index 2a5600e25375..1a2294428288 100644
---- a/rfb/rfb.h
-+++ b/rfb/rfb.h
-@@ -412,6 +412,8 @@ typedef struct sraRegion* sraRegionPtr;
- */
-
- typedef void (*ClientGoneHookPtr)(struct _rfbClientRec* cl);
-+typedef void (*ClientFURHookPtr)(struct _rfbClientRec* cl,
-+ rfbFramebufferUpdateRequestMsg* furMsg);
-
- typedef struct _rfbFileTransferData {
- int fd;
-@@ -457,6 +459,9 @@ typedef struct _rfbClientRec {
- void* clientData;
- ClientGoneHookPtr clientGoneHook;
-
-+ /** clientFURHook is called when a client requests a frame buffer update. */
-+ ClientFURHookPtr clientFURHook;
-+
- SOCKET sock;
- char *host;
-
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
index e367e97b9..0d9012235 100644
--- a/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-graphics/libvncserver/libvncserver_%.bbappend
@@ -2,6 +2,4 @@ FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
# Use the latest to support obmc-ikvm properly
#SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "f12b14f275f019673b3ace8fa4d46c8a79beb388"
-
-SRC_URI += "file://0001-rfbserver-add-a-hooking-function-to-deliver-rfbFrame.patch"
+SRCREV = "091b9eb739a95c8c969e2e6865c255b0d170f95f"
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Add-flow-control-to-prevent-buffer-over-run.patch b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Add-flow-control-to-prevent-buffer-over-run.patch
index 1340e845b..70f2da4a0 100644
--- a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Add-flow-control-to-prevent-buffer-over-run.patch
+++ b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/0001-Add-flow-control-to-prevent-buffer-over-run.patch
@@ -1,4 +1,4 @@
-From 336d0e9163a027b2b35ed240c2995f06684637b8 Mon Sep 17 00:00:00 2001
+From 88337ce8246a453cd3c6e60e96aead43549a5e1d Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Date: Thu, 9 May 2019 16:26:53 -0700
Subject: [PATCH] Add flow control to prevent buffer over run
@@ -31,12 +31,12 @@ resolves https://github.com/openbmc/bmcweb/issues/80
Change-Id: I6b09a711137d15a38fce59adada9bf3d00afde86
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
---
- ikvm_server.cpp | 19 +++++++++++++++++++
- ikvm_server.hpp | 10 ++++++++++
- 2 files changed, 29 insertions(+)
+ ikvm_server.cpp | 20 ++++++++++++++++++++
+ ikvm_server.hpp | 11 +++++++++++
+ 2 files changed, 31 insertions(+)
diff --git a/ikvm_server.cpp b/ikvm_server.cpp
-index 35310da292be..363eab7e000d 100644
+index 35310da292be..dfafe3a82e64 100644
--- a/ikvm_server.cpp
+++ b/ikvm_server.cpp
@@ -119,6 +119,12 @@ void Server::sendFrame()
@@ -52,13 +52,14 @@ index 35310da292be..363eab7e000d 100644
if (cl->enableLastRectEncoding)
{
fu->nRects = 0xFFFF;
-@@ -149,6 +155,18 @@ void Server::sendFrame()
+@@ -149,6 +155,19 @@ void Server::sendFrame()
rfbReleaseClientIterator(it);
}
-+void Server::clientFUR(rfbClientPtr cl, rfbFramebufferUpdateRequestMsg* furMsg)
++void Server::clientFramebufferUpdateRequest(
++ rfbClientPtr cl, rfbFramebufferUpdateRequestMsg *furMsg)
+{
-+ ClientData* cd = (ClientData*)cl->clientData;
++ ClientData *cd = (ClientData *)cl->clientData;
+
+ if (!cd)
+ return;
@@ -71,16 +72,16 @@ index 35310da292be..363eab7e000d 100644
void Server::clientGone(rfbClientPtr cl)
{
Server* server = (Server*)cl->screen->screenData;
-@@ -170,6 +188,7 @@ enum rfbNewClientAction Server::newClient(rfbClientPtr cl)
+@@ -170,6 +189,7 @@ enum rfbNewClientAction Server::newClient(rfbClientPtr cl)
cl->clientData =
new ClientData(server->video.getFrameRate(), &server->input);
cl->clientGoneHook = clientGone;
-+ cl->clientFURHook = clientFUR;
++ cl->clientFramebufferUpdateRequestHook = clientFramebufferUpdateRequest;
if (!server->numClients++)
{
server->pendingResize = false;
diff --git a/ikvm_server.hpp b/ikvm_server.hpp
-index b8062017b8ca..e51e57a19722 100644
+index b8062017b8ca..ebe4ad2b287e 100644
--- a/ikvm_server.hpp
+++ b/ikvm_server.hpp
@@ -32,6 +32,7 @@ class Server
@@ -99,7 +100,7 @@ index b8062017b8ca..e51e57a19722 100644
};
/*
-@@ -85,6 +87,14 @@ class Server
+@@ -85,6 +87,15 @@ class Server
private:
/*
@@ -108,8 +109,9 @@ index b8062017b8ca..e51e57a19722 100644
+ * @param[in] cl - Handle to the client object
+ * @param[in] furMsg - Pointer of the FUR message
+ */
-+ static void clientFUR(rfbClientPtr cl,
-+ rfbFramebufferUpdateRequestMsg* furMsg);
++ static void
++ clientFramebufferUpdateRequest(rfbClientPtr cl,
++ rfbFramebufferUpdateRequestMsg *furMsg);
+ /*
* @brief Handler for a client disconnecting
*
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb b/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb
index 4b11782e8..ea7579cb3 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/chassis/intel-chassis-control.bb
@@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platform"
DESCRIPTION = "Chassis Power Control service for Intel based platfrom"
SRC_URI = "git://git@github.com/Intel-BMC/intel-chassis-control.git;protocol=ssh"
-SRCREV = "d98b80a3ce937abe6282b7b9011b47e8b2f162be"
+SRCREV = "8d7026c078d79d5e60e7938e4e5f08bb7966ebbd"
S = "${WORKDIR}/git/services/chassis/"
@@ -22,8 +22,3 @@ DEPENDS += " \
sdbusplus \
phosphor-logging \
"
-
-# linux-libc-headers guides this way to include custom uapi headers
-CXXFLAGS_append = " -I ${STAGING_KERNEL_DIR}/include/uapi"
-CXXFLAGS_append = " -I ${STAGING_KERNEL_DIR}/include"
-do_configure[depends] += "virtual/kernel:do_shared_workdir"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb b/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
index 276e549b9..545ecae7f 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/images/intel-platforms.bb
@@ -3,6 +3,10 @@ DESCRIPTION = "Image with Intel content based upon Phosphor, an OpenBMC framewor
inherit obmc-phosphor-full-fitimage
inherit obmc-phosphor-image-common
inherit obmc-phosphor-image-dev
+inherit ${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'image_types_intel_pfr', '', d)}
+
+DEPENDS += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'obmc-intel-pfr-image-native', '', d)}"
+DEPENDS += "${@bb.utils.contains('IMAGE_FSTYPES', 'intel-pfr', 'intel-pfr-manager', '', d)}"
FEATURE_PACKAGES_obmc-sensors = ""
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksign b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksign
new file mode 100755
index 000000000..69d51d2ba
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/blocksign
Binary files differ
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml
new file mode 100644
index 000000000..89c3d30ca
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/bmc_config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- XML file for Block Sign Tool -->
+<blocksign>
+ <!-- Block 0 -->
+ <block0>
+ <magic>0xB6EAFD19</magic>
+ <pctype>4</pctype>
+ </block0>
+ <!-- Block 1 -->
+ <block1>
+ <magic>0xF27F28D7</magic>
+ <!-- Root key -->
+ <rkey>
+ <magic>0xA757A046</magic>
+ <curvemagic>0xC7B88C74</curvemagic>
+ <permissions>-1</permissions>
+ <keyid>-1</keyid>
+ <pubkey>rk_pub.pem</pubkey>
+ </rkey>
+ <!-- Code signing key -->
+ <cskey>
+ <magic>0x14711C2F</magic>
+ <curvemagic>0xC7B88C74</curvemagic>
+ <permissions>8</permissions>
+ <keyid>1</keyid>
+ <pubkey>csk_pub.pem</pubkey>
+ <sigmagic>0xDE64437D</sigmagic>
+ <hashalg>sha256</hashalg>
+ <signkey>rk_prv.pem</signkey>
+ <!--<script>./sign_external.sh</script>-->
+ </cskey>
+ <!-- Signature over Block 0 -->
+ <b0_sig>
+ <magic>0x15364367</magic>
+ <sigmagic>0xDE64437D</sigmagic>
+ <hashalg>sha256</hashalg>
+ <signkey>csk_prv.pem</signkey>
+ </b0_sig>
+ </block1>
+ <!-- CPLD Bitstream Specific -->
+ <padding>
+ <!-- Pad block1 such that combined block length is 1024b -->
+ <blockpad>1024</blockpad>
+ <!-- Align total package to 128 bytes -->
+ <align>128</align>
+ </padding>
+</blocksign>
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem
new file mode 100644
index 000000000..a46fa2a2b
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_prv.pem
@@ -0,0 +1,8 @@
+-----BEGIN EC PARAMETERS-----
+BggqhkjOPQMBBw==
+-----END EC PARAMETERS-----
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIFjPqxcb6tfFWyFVaQCVjeN9MtcISpYIbNlkQoODrHTUoAoGCCqGSM49
+AwEHoUQDQgAERGJveRnhIp7I5cvmjO74MJLbUJjTfvTDKlzK0hJB0WRBEFScpb9d
+xWLrwj9TNcO+EexnNcjEkF1RYNs6lHavRQ==
+-----END EC PRIVATE KEY-----
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem
new file mode 100644
index 000000000..cc70d6e28
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/csk_pub.pem
@@ -0,0 +1,4 @@
+-----BEGIN PUBLIC KEY-----
+MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERGJveRnhIp7I5cvmjO74MJLbUJjT
+fvTDKlzK0hJB0WRBEFScpb9dxWLrwj9TNcO+EexnNcjEkF1RYNs6lHavRQ==
+-----END PUBLIC KEY-----
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml
new file mode 100644
index 000000000..215fe8783
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfm_config.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- XML file for Block Sign Tool -->
+<blocksign>
+ <!-- Block 0 -->
+ <block0>
+ <magic>0xB6EAFD19</magic>
+ <pctype>3</pctype>
+ </block0>
+ <!-- Block 1 -->
+ <block1>
+ <magic>0xF27F28D7</magic>
+ <!-- Root key -->
+ <rkey>
+ <magic>0xA757A046</magic>
+ <curvemagic>0xC7B88C74</curvemagic>
+ <permissions>-1</permissions>
+ <keyid>-1</keyid>
+ <pubkey>rk_pub.pem</pubkey>
+ </rkey>
+ <!-- Code signing key -->
+ <cskey>
+ <magic>0x14711C2F</magic>
+ <curvemagic>0xC7B88C74</curvemagic>
+ <permissions>4</permissions>
+ <keyid>1</keyid>
+ <pubkey>csk_pub.pem</pubkey>
+ <sigmagic>0xDE64437D</sigmagic>
+ <hashalg>sha256</hashalg>
+ <signkey>rk_prv.pem</signkey>
+ <!--<script>./sign_external.sh</script>-->
+ </cskey>
+ <!-- Signature over Block 0 -->
+ <b0_sig>
+ <magic>0x15364367</magic>
+ <sigmagic>0xDE64437D</sigmagic>
+ <hashalg>sha256</hashalg>
+ <signkey>csk_prv.pem</signkey>
+ </b0_sig>
+ </block1>
+ <!-- CPLD Bitstream Specific -->
+ <padding>
+ <!-- Pad block1 such that combined block length is 1024b -->
+ <blockpad>1024</blockpad>
+ <!-- Align total package to 128 bytes -->
+ <align>128</align>
+ </padding>
+</blocksign>
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json
new file mode 100644
index 000000000..7890aa700
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image-manifest.json
@@ -0,0 +1,63 @@
+{
+ "image-parts": [{
+ "name": "u-boot",
+ "index": 0,
+ "offset": "0",
+ "size": "0x80000",
+ "prot_mask": 31,
+ "pfm": 1,
+ "hash": 1,
+ "compress": 1
+ },
+ {
+ "name": "pfm",
+ "index": 1,
+ "offset": "0x80000",
+ "size": "0x20000",
+ "prot_mask": 31,
+ "pfm": 1,
+ "hash": 0,
+ "compress": 0
+ },
+ {
+ "name": "u-boot-env",
+ "index": 2,
+ "offset": "0xa0000",
+ "size": "0x20000",
+ "prot_mask": 29,
+ "pfm": 1,
+ "hash": 0,
+ "compress": 0
+ },
+ {
+ "name": "sofs",
+ "index": 3,
+ "offset": "0xc0000",
+ "size": "0x200000",
+ "prot_mask": 29,
+ "pfm": 1,
+ "hash": 0,
+ "compress": 0
+ },
+ {
+ "name": "rwfs",
+ "index": 4,
+ "offset": "0x2c0000",
+ "size": "0x840000",
+ "prot_mask": 29,
+ "pfm": 1,
+ "hash": 0,
+ "compress": 0
+ },
+ {
+ "name": "fit-image-a",
+ "index": 5,
+ "offset": "0xb00000",
+ "size": "0x1f00000",
+ "prot_mask": 31,
+ "pfm": 1,
+ "hash": 1,
+ "compress": 1
+ }
+ ]
+} \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py
new file mode 100755
index 000000000..e1a23c172
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/pfr_image.py
@@ -0,0 +1,311 @@
+#/usr/bin/env python3
+# coding: utf-8
+# our image is contained as parts, including the hash
+# then it gets zipped up and signed again
+
+# this internal signature is for boot and recovery, but
+# will be checked prior to writing to flash as well.
+
+# the internal signature format is a PFR-specific block
+# including a hash bitmap, certificates (public keys),
+# and the actual signature data as well, for both active
+# and recovery images
+
+# TODO: figure out if active and recovery actually have different sigs
+# TODO: build hashmap from payload manifest
+# TODO: figure out exact struct layout for PFR metadata
+
+import os, hashlib, struct, json, sys, subprocess, mmap, io, array, binascii, copy, shutil, re
+from array import array
+from binascii import unhexlify
+from six import b, print_, binary_type
+from hashlib import sha1, sha256, sha512
+from shutil import copyfile
+# Flash Map
+# -----------------------------------------------
+# Start addr Contents
+# 0x00000000 S U-Boot
+# 0x00080000 S+ PFM
+# 0x000a0000 U U-boot Env
+# 0x000C0000 U SOFS
+# 0x002c0000 U RWFS
+# 0x00b00000 S fit-image
+# 0x02a00000 S+ rc-image
+# 0x04a00000 U staging-image
+# * partially signed (not full 64k page)
+# + unsigned, owned by pfr
+
+# TODO: The below defines should go to manifest files.
+# Keeping it here hard coded for now.
+# The pages to be skipped for HASH and PBC
+# Pages: 0x80 to 0xaff - starting PFM region until fit-image
+# Pages: 0x2a00 to 0x7FFF - starting RC-image until end of flash
+EXCLUDE_PAGES =[[0x80, 0xaff],[0x2a00,0x7fff]]
+
+# SPI PFM globals
+PFM_OFFSET = 0x80000
+PFM_SPI = 0x1
+SHA256 = 0x1
+SHA256_SIZE = 32
+PFM_DEF_SIZE = 16
+PFM_SPI_SIZE_DEF = 16 # 16 bytes of SPI PFM
+PFM_SPI_SIZE_HASH = 32 # 32 bytes of SPI region HASH
+
+PAGE_SIZE = 0x1000 # 4KB size of page
+
+def load_manifest(fname):
+ manifest = {}
+ with open(fname, 'r') as fd:
+ manifest = json.load(fd)
+ return manifest
+
+class pfm_spi(object):
+
+ def __init__(self, prot_mask, start_addr, end_addr, hash, hash_pres):
+ self.pfm = PFM_SPI
+ self.prot_mask = prot_mask
+ self.hash_pres = hash_pres
+ if hash_pres == 1:
+ self.spi_hash = hash
+ self.pfm_rsvd = 0xffffffff #b'\xff'*4
+ self.start_addr = start_addr
+ self.end_addr = end_addr
+
+
+class pfr_bmc_image(object):
+
+# json_file, update_file
+ def __init__(self, manifest, update_file, build_ver, build_num, build_hash):
+
+ self.manifest = load_manifest(manifest)
+ self.update_file = update_file
+ self.build_version = build_ver
+ self.build_number = build_num
+ self.build_hash = build_hash
+
+ self.pfr_rom_file = 'image-mtd-pfr'
+ open(self.pfr_rom_file, 'a').close()
+
+ self.page_size = PAGE_SIZE
+ self.empty = b'\xff' * self.page_size
+
+ self.image_parts = []
+ for p in self.manifest['image-parts']:
+ # the json should have in the order- filename, index, offset, size and protection byte
+ self.image_parts.append((p['name'], p['index'], p['offset'], p['size'], p['prot_mask'], p['pfm'], p['hash'], p['compress']))
+ print(self.image_parts)
+
+ self.act_dgst = hashlib.sha256()
+
+ # SPI regions PFM array
+ self.pfm_spi_regions = []
+ self.pfm_bytes = PFM_DEF_SIZE # PFM definition bytes (SPI regions + SMBUS)
+
+ # hash, erase and compression bit maps for 128MB
+ self.pbc_erase_bitmap = bytearray(4096)
+ self.pbc_comp_bitmap = bytearray(4096)
+
+ self.pbc_comp_payload = 0
+ self.sec_rev = 1
+
+ # fill in the calculated data
+ self.hash_and_map()
+
+ def hash_compress_regions(self, p, upd):
+
+ # JSON format as below
+ # 0. "name": <image region name>
+ # 1. "index": 1,
+ # 2. "offset": <start addr>,
+ # 3. "size": <size of the region>,
+ # 4. "prot_mask": <PFR protection mask>,
+ # 5. "pfm": <1|0 -add in PFM or not>,
+ # 6. "hash": <hashing of the region needed>,
+ # 7. "compress": <region to be compressed>
+
+ image_name = p[0]
+ start_addr = int(p[2],16) #image part start address
+ size = int(p[3],16) #size of the image part
+ pfm_prot_mask = p[4] # pfm protection mask
+ pfm_flag = p[5] # pfm needed?
+ hash_flag = p[6] #to be hashed?
+ compress = p[7] #compress flag
+ index = p[1] # image part index
+ # 1 page is 4KB
+ page = start_addr >> 12
+
+ if hash_flag == 1:
+ with open(self.update_file, "rb") as f:
+ f.seek(start_addr)
+ skip = False
+ # HASH for the region
+ hash_dgst = hashlib.sha256()
+ for chunk in iter(lambda: f.read(self.page_size), b''):
+ chunk_len = len(chunk)
+ if chunk_len != self.page_size:
+ chunk = b''.join([chunk, b'\xff' * (self.page_size - chunk_len)])
+
+ for p in EXCLUDE_PAGES:
+ if (page >= p[0]) and (page <= p[1]):
+ print("Exclude page={}".format(page))
+ skip = True
+ break
+
+ if not skip:
+ # add to the hash
+ self.act_dgst.update(chunk)
+ hash_dgst.update(chunk)
+ self.pbc_erase_bitmap[page >> 3] |= 1 << (7- (page % 8)) # Big endian bit map
+
+ if compress == 1:
+ # add to the pbc map
+ if chunk != self.empty:
+ print("compressed page ={}".format(page))
+ upd.write(chunk)
+ self.pbc_comp_bitmap[page >> 3] |= 1 << (7- (page % 8)) # Big Endian bit map
+ self.pbc_comp_payload += chunk_len # compressed payload bytes
+
+ page += 1
+
+ if (page * self.page_size) >= (size + start_addr):
+ break
+
+ if pfm_flag == 1:
+ self.pfm_bytes += PFM_SPI_SIZE_DEF
+
+ hash = b'\x00' * 32
+ hash_pres = 0
+
+ if hash_flag == 1:
+ # region's hash
+ hash = hash_dgst.hexdigest()
+ hash_pres = SHA256
+ self.pfm_bytes += PFM_SPI_SIZE_HASH
+
+ # append to SPI regions in PFM
+ self.pfm_spi_regions.append(pfm_spi(pfm_prot_mask, start_addr, (start_addr+size), hash, hash_pres))
+
+ def hash_and_map(self):
+
+ # have copy of the update file for appending with PFR meta and compression
+ copyfile(self.update_file, self.pfr_rom_file)
+ with open("bmc_compressed.bin", "wb+") as upd:
+ for p in self.image_parts:
+ #filename, index, offset, size, protection.
+ print(p[0], p[1], p[2], p[3], p[4])
+ self.hash_compress_regions(p, upd)
+
+ # Generate PFM region binary - pfm.bin
+ self.build_pfm()
+ print("PFM build done")
+
+ # Generate PBC region - pbc.bin
+ self.pbc_hdr()
+ print("PBC build done")
+
+ def pbc_hdr(self):
+ '''
+ typedef struct {
+ uint8_t tag[4]; /* PBC tag */
+ uint32_t version; /* PBC Version- 0x0000_0002 */
+ uint32_t page_size; /* NOR Flash page size = 0x0000_1000 */
+ uint32_t pattern_size; /* 0xFF as pattern 1byte = 0x0000_0001 */
+ uint32_t pattern; /* 0xFF pattern = 0x0000_00FF */
+ uint32_t bitmap_size; /* 32768 pages for 128MB- 0x0000_8000 */
+ uint32_t payload_length /* payload */
+ uint8_t reserved[100]; /* Reserved 100bytes */
+ uint8_t erase_bitmap[4096]; /* erase bit map for 32768 pages */
+ uint8_t comp_bitmap[4096]; /* compression bit map for 32768 pages */
+ uint8_t comp_payload; /* compressed payload */
+ '''
+ names = [
+ 'tag', 'pbc_ver', 'page_sz', 'pattern_sz', 'pattern', 'bitmap_sz',
+ 'payload_size', 'resvd0', 'erase_bitmap', 'comp_bitmap',
+ ]
+ parts = {
+ 'tag': b'CBP_',
+ 'pbc_ver': struct.pack('<i',0x00000002),
+ 'page_sz': struct.pack('<i',0x00001000),
+ 'pattern_sz': struct.pack('<i',0x00000001),
+ 'pattern': struct.pack('<i',0x000000FF),
+ 'bitmap_sz': struct.pack('<i',0x00008000),
+ 'payload_size': struct.pack('<i',self.pbc_comp_payload),
+ 'resvd0' : b'\x00'*100,
+ 'erase_bitmap': bytes(self.pbc_erase_bitmap),
+ 'comp_bitmap': bytes(self.pbc_comp_bitmap),
+ }
+
+ with open("pbc.bin", "wb+") as pbf:
+ pbf.write(b''.join([parts[n] for n in names]))
+ pbf.seek(0) # rewind to beginning of PBC file
+ self.act_dgst.update(pbf.read()) # add up PBC data for hashing
+
+ def build_pfm(self):
+ '''
+ typedef struct {
+ uint32_t tag; /* PFM_HDR_TAG above, no terminating null */
+ uint8_t sec_revision; /* SVN- security revision of associated image data */
+ uint8_t pfm_ver_major; /* PFM revision */
+ uint8_t pfm_ver_minor;
+ uint8_t build_num;
+ uint8_t build_hash[3];
+ uint8_t reserved0; /* reserved */
+ uint32_t pfm_length; /* PFM size in bytes */
+ pfm_spi pfm_spi[2]; /* PFM SPI regions - u-boot & fit-image */
+ pfm_smbus pfm_smbus[4]; /* defined smbus rules for PSUs and HSBP */
+ } __attribute__((packed)) pfm_hdr;
+ '''
+ names = [
+ 'tag', 'sec_rev', 'pfm_ver_major', 'pfm_ver_minor', 'build_num', 'build_hash1', 'build_hash2', 'build_hash3', 'resvd0', 'pfm_len',
+ ]
+ parts = {
+ 'tag': struct.pack("<I", 0x02b3ce1d),
+ 'sec_rev': struct.pack('<B', self.sec_rev),
+ 'pfm_ver_major': struct.pack('<B', ((int(self.build_version) >> 8) & 0xff)),
+ 'pfm_ver_minor': struct.pack('<B', (int(self.build_version) & 0x00ff)),
+ 'build_num': struct.pack('<B', int(self.build_number,16)),
+ 'build_hash1': struct.pack('<B', int(self.build_hash) & 0xff),
+ 'build_hash2': struct.pack('<B', (int(self.build_hash) >> 8) & 0xff),
+ 'build_hash3': struct.pack('<B', (int(self.build_hash) >> 16) & 0xff),
+ 'resvd0': b'\xff'* 1,
+ 'pfm_len': ''
+ }
+
+ # PFM should be 128bytes aligned, find the padding bytes
+ padding_bytes = 128 - (self.pfm_bytes % 128)
+ self.pfm_bytes += padding_bytes
+ parts['pfm_len'] = struct.pack('<I', self.pfm_bytes)
+ print("PFM size={}".format(self.pfm_bytes))
+
+ with open("pfm.bin", "wb+") as f:
+ f.write(b''.join([parts[n] for n in names]))
+ for i in self.pfm_spi_regions:
+ f.write(struct.pack('b', int(i.pfm)))
+ f.write(struct.pack('b', int(i.prot_mask)))
+ f.write(struct.pack('h', int(i.hash_pres)))
+ f.write(struct.pack('<I', int(i.pfm_rsvd)))
+ f.write(struct.pack('<I', int(i.start_addr)))
+ f.write(struct.pack('<I', int(i.end_addr)))
+
+ if i.hash_pres == 1:
+ f.write(i.spi_hash.decode('hex'))
+
+ # write the padding bytes at the end
+ f.write(b'\xff' * padding_bytes)
+
+def main():
+ if len(sys.argv) != 6: #< pfr_image.py manifest.json> <update.bin> <build_version> <build_number> <build_hash>
+ print('usage: {} <manifest.json> <update.bin> <build_version> <build_number> <build_hash>'.format(sys.argv[0]))
+ return
+
+ json_file = sys.argv[1]
+ update_file = sys.argv[2]
+ build_ver = sys.argv[3]
+ build_num = sys.argv[4]
+ build_hash = sys.argv[5]
+
+ # function to generate BMC PFM, PBC header and BMC compressed image
+ pfr_bmc_image(json_file, update_file, build_ver, build_num, build_hash)
+
+if __name__ == '__main__':
+ main()
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem
new file mode 100644
index 000000000..9e8616795
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_prv.pem
@@ -0,0 +1,8 @@
+-----BEGIN EC PARAMETERS-----
+BggqhkjOPQMBBw==
+-----END EC PARAMETERS-----
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIHVbq5CmT4Vr4Jb0eJK0+KhUxDOWy1kh9QYAClV5MH1GoAoGCCqGSM49
+AwEHoUQDQgAEZUL6ZcF0YN590Pq/bKPYjfa3F4E44XiKcqvS6+l2GfSdCLRhXWHw
+iV803vFkTsZ1CfpzFdZGwfbwg7nvG5UpSQ==
+-----END EC PRIVATE KEY-----
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem
new file mode 100644
index 000000000..117e08bae
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/files/rk_pub.pem
@@ -0,0 +1,4 @@
+-----BEGIN PUBLIC KEY-----
+MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZUL6ZcF0YN590Pq/bKPYjfa3F4E4
+4XiKcqvS6+l2GfSdCLRhXWHwiV803vFkTsZ1CfpzFdZGwfbwg7nvG5UpSQ==
+-----END PUBLIC KEY-----
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb
new file mode 100644
index 000000000..ebebe43bb
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/intel-pfr-manager_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Intel PFR Manager Service"
+DESCRIPTION = "Daemon to handle all PFR functionalities"
+
+PV = "1.0+git${SRCPV}"
+
+S = "${WORKDIR}/git/intel-pfr-manager"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
+
+inherit cmake systemd
+SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Intel.PFR.Manager.service"
+
+DEPENDS += " \
+ sdbusplus \
+ phosphor-logging \
+ boost \
+ i2c-tools \
+ "
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
new file mode 100644
index 000000000..ee2cc3934
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/intel-pfr/obmc-intel-pfr-image-native.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Intel PFR manifest and signing key for development and testing"
+DESCRIPTION = "Do not use this signing keys to sign CI and release images."
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit native
+
+PFR_KEY_NAME ?= "pfr-dev-key"
+PFR_SIGN_UTIL ?= "blocksign"
+
+SRC_URI = " \
+ file://pfr_image-manifest.json \
+ file://pfr_image.py \
+ file://blocksign \
+ file://pfm_config.xml \
+ file://bmc_config.xml \
+ file://csk_prv.pem \
+ file://csk_pub.pem \
+ file://rk_pub.pem \
+ file://rk_prv.pem \
+ "
+
+do_install() {
+ bbplain "Copying the intel pfr image generation scripts and image signing keys"
+
+ install -d ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/pfr_image-manifest.json ${STAGING_DIR}/intel-pfr-files
+ install -m 775 ${WORKDIR}/blocksign ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/pfm_config.xml ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/bmc_config.xml ${STAGING_DIR}/intel-pfr-files
+ install -m 775 ${WORKDIR}/pfr_image.py ${STAGING_DIR}/intel-pfr-files
+ install -m 400 ${WORKDIR}/csk_prv.pem ${STAGING_DIR}/intel-pfr-files/
+ install -m 400 ${WORKDIR}/csk_pub.pem ${STAGING_DIR}/intel-pfr-files/
+ install -m 400 ${WORKDIR}/rk_pub.pem ${STAGING_DIR}/intel-pfr-files/
+ install -m 400 ${WORKDIR}/rk_prv.pem ${STAGING_DIR}/intel-pfr-files/
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/ipccli/ipccli_svn.bb b/meta-openbmc-mods/meta-common/recipes-intel/ipccli/ipccli_svn.bb
new file mode 100644
index 000000000..ce7d79975
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-intel/ipccli/ipccli_svn.bb
@@ -0,0 +1,14 @@
+SUMMARY = "ipccli"
+HOMEPAGE = "https://www.intel.com"
+LICENSE = "CLOSED"
+LIC_FILES_CHKSUM = ""
+
+SRC_URI[md5sum] = "917092bfe4244aa4312b572c2c9c303f"
+SRC_URI = "svn://ssvn.pdx.intel.com/deg/pve/csv/pythonsv/subprojects/;module=ipccli;rev=804701;protocol=https;user=etanous;pswd=Cardinal2bali!"
+
+DEPENDS_${PN} += "python-setuptools-native"
+
+S = "${WORKDIR}/ipccli/trunk"
+inherit setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb b/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb
index 923133be7..06cc3b972 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-intel-apps.bb
@@ -36,8 +36,4 @@ RDEPENDS_${PN}-fans = " \
"
SUMMARY_${PN}-flash = "Intel Flash"
-RDEPENDS_${PN}-flash = " \
- obmc-flash-bmc \
- obmc-mgr-download \
- obmc-control-bmc \
- "
+RDEPENDS_${PN}-flash = ""
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend b/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend
index c71e84bdc..d3b283202 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-intel/packagegroups/packagegroup-obmc-apps.bbappend
@@ -1,3 +1 @@
-# this is for image signing and signature verification
-RDEPENDS_${PN}-extras += "${@bb.utils.contains('IMAGE_TYPE', 'pfr', ' phosphor-image-signing', '', d)}"
RDEPENDS_${PN}-extrasdevtools = "libgpiod-tools"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
index 24a8c668b..63576a3de 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/psu-manager/psu-manager.bb
@@ -1,7 +1,7 @@
SUMMARY = "Power supply manager for Intel based platform"
DESCRIPTION = "Power supply manager which include PSU Cold Redundancy service"
-SRC_URI = "git://git-amr-2.devtools.intel.com:29418/openbmc-provingground.git;protocol=ssh;nobranch=1"
+SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh;nobranch=1"
SRCREV = "fe33964c744f871f3e024dd8d0b6ffba67394c30"
S = "${WORKDIR}/git/psu-manager/"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb
index c37ea66e1..84d5a9831 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv1.bb
@@ -2,7 +2,7 @@ SUMMARY = "SMBIOS MDR version 1 service for Intel based platform"
DESCRIPTION = "SMBIOS MDR version 1 service for Intel based platfrom"
SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
S = "${WORKDIR}/git/services/smbios/"
diff --git a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
index a41cdb50b..bc0538b04 100644
--- a/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
+++ b/meta-openbmc-mods/meta-common/recipes-intel/smbios/smbios-mdrv2.bb
@@ -2,7 +2,7 @@ SUMMARY = "SMBIOS MDR version 2 service for Intel based platform"
DESCRIPTION = "SMBIOS MDR version 2 service for Intel based platfrom"
SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
S = "${WORKDIR}/git/services/smbios-mdrv2/"
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-set-idle-disconnect-to-true-in-all-cases.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-set-idle-disconnect-to-true-in-all-cases.patch
new file mode 100644
index 000000000..925880eff
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0001-set-idle-disconnect-to-true-in-all-cases.patch
@@ -0,0 +1,34 @@
+From 7854a5e094ac49bebf9b2bfdd44db2f8cdd37543 Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Fri, 31 May 2019 15:05:13 -0700
+Subject: [PATCH] set idle-disconnect to true in all cases
+
+From sysfs this parameter can't be set. We want the
+muxes to clean themselves up if possible. Set this to
+true.
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ drivers/i2c/muxes/i2c-mux-pca954x.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mux-pca954x.c
+index 923aa3a5a3dc..084c10951890 100644
+--- a/drivers/i2c/muxes/i2c-mux-pca954x.c
++++ b/drivers/i2c/muxes/i2c-mux-pca954x.c
+@@ -474,8 +474,12 @@ static int pca954x_probe(struct i2c_client *client,
+ data->last_chan = 0; /* force the first selection */
+ data->idle_state = MUX_IDLE_AS_IS;
+
++#if 1 /* Forcibly set the self-disconnect flag */
++ idle_disconnect_dt = true;
++#else
+ idle_disconnect_dt = np &&
+ of_property_read_bool(np, "i2c-mux-idle-disconnect");
++#endif
+ if (idle_disconnect_dt)
+ data->idle_state = MUX_IDLE_DISCONNECT;
+
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-arm-dts-aspeed-g5-add-espi.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-arm-dts-aspeed-g5-add-espi.patch
index 08498cd01..165596f25 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-arm-dts-aspeed-g5-add-espi.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0005-arm-dts-aspeed-g5-add-espi.patch
@@ -1,4 +1,4 @@
-From 536b09695117440ed428ff27023cd9167fcf4dfe Mon Sep 17 00:00:00 2001
+From f72d4767835e530ce6bc4673ff30cc1099c88af5 Mon Sep 17 00:00:00 2001
From: Juston Li <juston.li@intel.com>
Date: Mon, 27 Mar 2017 11:16:00 -0700
Subject: [PATCH] arm: dts: aspeed-g5: add espi
@@ -9,10 +9,10 @@ Signed-off-by: Juston Li <juston.li@intel.com>
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index a79e01ffe9d4..0c74adf739d2 100644
+index dc58eb8c6969..db82f47339aa 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -261,7 +261,7 @@
+@@ -283,7 +283,7 @@
#gpio-cells = <2>;
gpio-controller;
compatible = "aspeed,ast2500-gpio";
@@ -21,7 +21,7 @@ index a79e01ffe9d4..0c74adf739d2 100644
interrupts = <20>;
gpio-ranges = <&pinctrl 0 0 220>;
clocks = <&syscon ASPEED_CLK_APB>;
-@@ -269,6 +269,15 @@
+@@ -291,6 +291,15 @@
#interrupt-cells = <2>;
};
@@ -37,7 +37,7 @@ index a79e01ffe9d4..0c74adf739d2 100644
rtc: rtc@1e781000 {
compatible = "aspeed,ast2500-rtc";
reg = <0x1e781000 0x18>;
-@@ -344,6 +353,13 @@
+@@ -366,6 +375,13 @@
status = "disabled";
};
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-New-flash-map-for-intel.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-New-flash-map-for-intel.patch
index 11663c503..695491d28 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-New-flash-map-for-intel.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0007-New-flash-map-for-intel.patch
@@ -1,4 +1,4 @@
-From 3eabb52efdecfc0da896476ac5567060a6b3788a Mon Sep 17 00:00:00 2001
+From f57d473a30f208754457bdb63512c307f7499ac8 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@intel.com>
Date: Mon, 4 Jun 2018 13:45:42 -0700
Subject: [PATCH] New flash map for Intel
@@ -6,18 +6,18 @@ Subject: [PATCH] New flash map for Intel
Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
Signed-off-by: Vikram Bodireddy <vikram.bodireddy@intel.com>
---
- .../boot/dts/openbmc-flash-layout-intel-128MB.dtsi | 52 ++++++++++++++++++++++
- .../boot/dts/openbmc-flash-layout-intel-64MB.dtsi | 39 ++++++++++++++++
- 2 files changed, 91 insertions(+)
+ .../boot/dts/openbmc-flash-layout-intel-128MB.dtsi | 50 ++++++++++++++++++++++
+ .../boot/dts/openbmc-flash-layout-intel-64MB.dtsi | 38 ++++++++++++++++
+ 2 files changed, 88 insertions(+)
create mode 100644 arch/arm/boot/dts/openbmc-flash-layout-intel-128MB.dtsi
create mode 100644 arch/arm/boot/dts/openbmc-flash-layout-intel-64MB.dtsi
diff --git a/arch/arm/boot/dts/openbmc-flash-layout-intel-128MB.dtsi b/arch/arm/boot/dts/openbmc-flash-layout-intel-128MB.dtsi
new file mode 100644
-index 000000000000..23426acc30c7
+index 000000000000..0d3794423aed
--- /dev/null
+++ b/arch/arm/boot/dts/openbmc-flash-layout-intel-128MB.dtsi
-@@ -0,0 +1,52 @@
+@@ -0,0 +1,50 @@
+// SPDX-License-Identifier: GPL-2.0+
+// 128MB flash layout: PFR (active + tmp1/tmp2 + extra)
+// image with common RW partition
@@ -48,34 +48,32 @@ index 000000000000..23426acc30c7
+ };
+
+ rwfs@2c0000 {
-+ reg = <0x2c0000 0xe40000>;
++ reg = <0x2c0000 0x840000>;
+ label = "rwfs";
+ };
+
-+ fit-image-a@1100000 {
-+ reg = <0x1100000 0x2500000>;
++ fit-image-a@b00000 {
++ reg = <0xb00000 0x1f00000>;
+ label = "image-a";
+ };
+
-+ rc-image@3600000 {
-+ reg = <0x3600000 0x2500000>;
++ rc-image@2a00000 {
++ reg = <0x2a00000 0x2000000>;
+ label = "rc-image";
+ };
+
-+ image-staging@5b00000 {
-+ reg = <0x5b00000 0x2500000>;
++ image-staging@4a00000 {
++ reg = <0x4a00000 0x3600000>;
+ label = "image-stg";
+ };
+
+};
-+
-+
diff --git a/arch/arm/boot/dts/openbmc-flash-layout-intel-64MB.dtsi b/arch/arm/boot/dts/openbmc-flash-layout-intel-64MB.dtsi
new file mode 100644
-index 000000000000..6ae8e57087e2
+index 000000000000..092708f5021f
--- /dev/null
+++ b/arch/arm/boot/dts/openbmc-flash-layout-intel-64MB.dtsi
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: GPL-2.0+
+// 64MB flash layout: redundant image with common RW partition
+
@@ -114,7 +112,6 @@ index 000000000000..6ae8e57087e2
+ label = "image-b";
+ };
+};
-+
--
2.7.4
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-Add-ASPEED-SGPIO-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-Add-ASPEED-SGPIO-driver.patch
index beb5087f5..08be45ff7 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-Add-ASPEED-SGPIO-driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0008-Add-ASPEED-SGPIO-driver.patch
@@ -1,4 +1,4 @@
-From 58adbd18074fbf8005d5d7a5ec116c326252f606 Mon Sep 17 00:00:00 2001
+From 323066b26f02f043e694463a8e0cd4ada465984b Mon Sep 17 00:00:00 2001
From: "Feist, James" <james.feist@intel.com>
Date: Mon, 5 Jun 2017 11:13:52 -0700
Subject: [PATCH] Add ASPEED SGPIO driver.
@@ -16,7 +16,7 @@ Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
create mode 100644 drivers/gpio/sgpio-aspeed.c
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index b5a2845347ec..e3ce2b68a1fc 100644
+index acd40eb51c46..20808e48229a 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -124,6 +124,14 @@ config GPIO_ASPEED
@@ -35,10 +35,10 @@ index b5a2845347ec..e3ce2b68a1fc 100644
tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
default y if ATH79
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 37628f8dbf70..069155f1db9e 100644
+index 6700eee860b7..77c6ec0ee98f 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -32,6 +32,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o
+@@ -33,6 +33,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o
obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o
obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o
obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-SGPIO-DT-and-pinctrl-fixup.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-SGPIO-DT-and-pinctrl-fixup.patch
index 1c5d9ab53..8083ead0b 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-SGPIO-DT-and-pinctrl-fixup.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0009-SGPIO-DT-and-pinctrl-fixup.patch
@@ -1,4 +1,4 @@
-From 2f895fe17cd72124b2a04af306f9349e5da90a6c Mon Sep 17 00:00:00 2001
+From 1059e64f4fc5af65f2afdc209761342fe44e3498 Mon Sep 17 00:00:00 2001
From: Vernon Mauery <vernon.mauery@intel.com>
Date: Wed, 16 May 2018 10:03:14 -0700
Subject: [PATCH] SGPIO DT and pinctrl fixup
@@ -15,10 +15,10 @@ Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
4 files changed, 54 insertions(+), 60 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index 3990aed25ee6..19f721118b52 100644
+index fd857be397bf..00848693f455 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -203,6 +203,18 @@
+@@ -207,6 +207,18 @@
#interrupt-cells = <2>;
};
@@ -37,7 +37,7 @@ index 3990aed25ee6..19f721118b52 100644
timer: timer@1e782000 {
/* This timer is a Faraday FTTMR010 derivative */
compatible = "aspeed,ast2400-timer";
-@@ -1183,44 +1195,14 @@
+@@ -1180,44 +1192,14 @@
groups = "SD2";
};
@@ -89,10 +89,10 @@ index 3990aed25ee6..19f721118b52 100644
pinctrl_sioonctrl_default: sioonctrl_default {
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 0c74adf739d2..d4c99b82f7bd 100644
+index db82f47339aa..8406da6f62a5 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -276,6 +276,9 @@
+@@ -298,6 +298,9 @@
reg = <0x1e780200 0x0100>;
interrupts = <40>;
interrupt-controller;
@@ -102,7 +102,7 @@ index 0c74adf739d2..d4c99b82f7bd 100644
};
rtc: rtc@1e781000 {
-@@ -1388,6 +1391,11 @@
+@@ -1403,6 +1406,11 @@
groups = "SDA2";
};
@@ -115,10 +115,10 @@ index 0c74adf739d2..d4c99b82f7bd 100644
function = "SGPS1";
groups = "SGPS1";
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
-index 05b153034517..353af05b8602 100644
+index 384396cbb22d..a78ed8c33e96 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
-@@ -401,16 +401,22 @@ SSSF_PIN_DECL(E16, GPIOF6, TXD4, SIG_DESC_SET(SCU80, 30));
+@@ -423,16 +423,22 @@ SSSF_PIN_DECL(E16, GPIOF6, TXD4, SIG_DESC_SET(SCU80, 30));
SSSF_PIN_DECL(C17, GPIOF7, RXD4, SIG_DESC_SET(SCU80, 31));
#define A14 48
@@ -145,7 +145,7 @@ index 05b153034517..353af05b8602 100644
#define B13 52
SIG_EXPR_LIST_DECL_SINGLE(OSCCLK, OSCCLK, SIG_DESC_SET(SCU2C, 1));
-@@ -576,16 +582,22 @@ FUNC_GROUP_DECL(SPI1PASSTHRU, C22, G18, D19, C20, B22, G19, C18, E20);
+@@ -598,16 +604,22 @@ FUNC_GROUP_DECL(SPI1PASSTHRU, C22, G18, D19, C20, B22, G19, C18, E20);
FUNC_GROUP_DECL(VGABIOS_ROM, B22, G19, C18, E20);
#define J5 72
@@ -172,7 +172,7 @@ index 05b153034517..353af05b8602 100644
#define T4 76
SSSF_PIN_DECL(T4, GPIOJ4, VGAHS, SIG_DESC_SET(SCU84, 12));
-@@ -2083,14 +2095,8 @@ static const struct aspeed_pin_group aspeed_g4_groups[] = {
+@@ -2105,14 +2117,8 @@ static const struct aspeed_pin_group aspeed_g4_groups[] = {
ASPEED_PINCTRL_GROUP(SALT4),
ASPEED_PINCTRL_GROUP(SD1),
ASPEED_PINCTRL_GROUP(SD2),
@@ -189,7 +189,7 @@ index 05b153034517..353af05b8602 100644
ASPEED_PINCTRL_GROUP(SIOONCTRL),
ASPEED_PINCTRL_GROUP(SIOPBI),
ASPEED_PINCTRL_GROUP(SIOPBO),
-@@ -2238,14 +2244,8 @@ static const struct aspeed_pin_function aspeed_g4_functions[] = {
+@@ -2260,14 +2266,8 @@ static const struct aspeed_pin_function aspeed_g4_functions[] = {
ASPEED_PINCTRL_FUNC(SALT4),
ASPEED_PINCTRL_FUNC(SD1),
ASPEED_PINCTRL_FUNC(SD2),
@@ -207,10 +207,10 @@ index 05b153034517..353af05b8602 100644
ASPEED_PINCTRL_FUNC(SIOPBI),
ASPEED_PINCTRL_FUNC(SIOPBO),
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
-index 4230e1038a88..13f749e35001 100644
+index 6f151e7c8d81..c088f010c554 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
-@@ -577,6 +577,8 @@ SS_PIN_DECL(N3, GPIOJ2, SGPMO);
+@@ -599,6 +599,8 @@ SS_PIN_DECL(N3, GPIOJ2, SGPMO);
SIG_EXPR_LIST_DECL_SINGLE(SGPMI, SGPM, SIG_DESC_SET(SCU84, 11));
SS_PIN_DECL(N4, GPIOJ3, SGPMI);
@@ -219,7 +219,7 @@ index 4230e1038a88..13f749e35001 100644
#define N5 76
SIG_EXPR_LIST_DECL_SINGLE(VGAHS, VGAHS, SIG_DESC_SET(SCU84, 12));
SIG_EXPR_LIST_DECL_SINGLE(DASHN5, DASHN5, SIG_DESC_SET(SCU94, 8));
-@@ -2127,6 +2129,7 @@ static const struct aspeed_pin_group aspeed_g5_groups[] = {
+@@ -2149,6 +2151,7 @@ static const struct aspeed_pin_group aspeed_g5_groups[] = {
ASPEED_PINCTRL_GROUP(SD2),
ASPEED_PINCTRL_GROUP(SDA1),
ASPEED_PINCTRL_GROUP(SDA2),
@@ -227,7 +227,7 @@ index 4230e1038a88..13f749e35001 100644
ASPEED_PINCTRL_GROUP(SGPS1),
ASPEED_PINCTRL_GROUP(SGPS2),
ASPEED_PINCTRL_GROUP(SIOONCTRL),
-@@ -2296,6 +2299,7 @@ static const struct aspeed_pin_function aspeed_g5_functions[] = {
+@@ -2318,6 +2321,7 @@ static const struct aspeed_pin_function aspeed_g5_functions[] = {
ASPEED_PINCTRL_FUNC(SD2),
ASPEED_PINCTRL_FUNC(SDA1),
ASPEED_PINCTRL_FUNC(SDA2),
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0010-Update-PECI-drivers-to-sync-with-linux-upstreaming-v.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0010-Update-PECI-drivers-to-sync-with-linux-upstreaming-v.patch
index d2ecdfd72..86dd2e68c 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0010-Update-PECI-drivers-to-sync-with-linux-upstreaming-v.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0010-Update-PECI-drivers-to-sync-with-linux-upstreaming-v.patch
@@ -1,4 +1,4 @@
-From 9c27803dd432c7a9fc57dd3e16f0fd724919575e Mon Sep 17 00:00:00 2001
+From 2dec2c142e48a35e6c7de00c6a35e963de7447e0 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Mon, 7 Jan 2019 09:56:10 -0800
Subject: [PATCH] Update PECI drivers to sync with linux upstreaming version
@@ -93,10 +93,10 @@ index 821a9258f2e6..a3a3e465c888 100644
+temp[6-*]_crit_hyst Provides the hysteresis value from Tcontrol to Tjmax of
the core.
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
-index 18cd3b17f660..0bd06a938526 100644
+index c0623fa5ba41..7399c3cef30c 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -1321,7 +1321,7 @@ config SENSORS_PECI_CPUTEMP
+@@ -1333,7 +1333,7 @@ config SENSORS_PECI_CPUTEMP
the PECI Client Command Suite via the processor PECI client.
Check Documentation/hwmon/peci-cputemp for details.
@@ -105,7 +105,7 @@ index 18cd3b17f660..0bd06a938526 100644
will be called peci-cputemp.
config SENSORS_PECI_DIMMTEMP
-@@ -1335,7 +1335,7 @@ config SENSORS_PECI_DIMMTEMP
+@@ -1347,7 +1347,7 @@ config SENSORS_PECI_DIMMTEMP
Suite via the processor PECI client.
Check Documentation/hwmon/peci-dimmtemp for details.
@@ -673,10 +673,10 @@ index 6ca1855a86bb..ce6b470eae63 100644
/**
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
-index 9af5730ad7ba..28087e9cd4da 100644
+index 75dbcc7da87c..6f7ee4dd08f6 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -606,7 +606,7 @@ config MFD_INTEL_MSIC
+@@ -616,7 +616,7 @@ config MFD_INTEL_MSIC
devices used in Intel Medfield platforms.
config MFD_INTEL_PECI_CLIENT
@@ -685,7 +685,7 @@ index 9af5730ad7ba..28087e9cd4da 100644
depends on (PECI || COMPILE_TEST)
select MFD_CORE
help
-@@ -619,6 +619,9 @@ config MFD_INTEL_PECI_CLIENT
+@@ -629,6 +629,9 @@ config MFD_INTEL_PECI_CLIENT
Additional drivers must be enabled in order to use the functionality
of the device.
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0019-Add-I2C-IPMB-support.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0019-Add-I2C-IPMB-support.patch
index 391d6f816..675125322 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0019-Add-I2C-IPMB-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0019-Add-I2C-IPMB-support.patch
@@ -1,4 +1,4 @@
-From 59e2471d9bf64fa7d539520ef66cf5f33c0b0e55 Mon Sep 17 00:00:00 2001
+From f588865f8180a6370ac639bdfc186ffc5b926246 Mon Sep 17 00:00:00 2001
From: Haiyue Wang <haiyue.wang@linux.intel.com>
Date: Tue, 13 Feb 2018 14:28:12 +0800
Subject: [PATCH] i2c: slave-mqueue: add mqueue driver to receive ipmi message
@@ -14,20 +14,20 @@ will exposes these messages to userspace by sysfs bin file.
Signed-off-by: Haiyue Wang <haiyue.wang@linux.intel.com>
---
- Documentation/i2c/slave-mqueue-backend.rst | 125 +++++++++++++++++
+ Documentation/i2c/slave-mqueue-backend.rst | 124 +++++++++++++++++
drivers/i2c/Kconfig | 23 +++
drivers/i2c/Makefile | 1 +
drivers/i2c/i2c-slave-mqueue.c | 217 +++++++++++++++++++++++++++++
- 4 files changed, 366 insertions(+)
+ 4 files changed, 365 insertions(+)
create mode 100644 Documentation/i2c/slave-mqueue-backend.rst
create mode 100644 drivers/i2c/i2c-slave-mqueue.c
diff --git a/Documentation/i2c/slave-mqueue-backend.rst b/Documentation/i2c/slave-mqueue-backend.rst
new file mode 100644
-index 000000000000..3966cf0ab8da
+index 000000000000..2d0d06d8df9d
--- /dev/null
+++ b/Documentation/i2c/slave-mqueue-backend.rst
-@@ -0,0 +1,125 @@
+@@ -0,0 +1,124 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=====================================
@@ -152,12 +152,11 @@ index 000000000000..3966cf0ab8da
+ [10203.974044856] : 20 18 c8 2c 80 01 53
+ [10204.220734634] : 20 18 c8 2c 80 01 53
+ [10204.468461664] : 20 18 c8 2c 80 01 53
-+
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
-index efc3354d60ae..04fb851f2c82 100644
+index abedd55a1264..49a2379876c6 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
-@@ -118,6 +118,29 @@ if I2C_SLAVE
+@@ -119,6 +119,29 @@ if I2C_SLAVE
config I2C_SLAVE_EEPROM
tristate "I2C eeprom slave driver"
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0020-misc-aspeed-add-lpc-mbox-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0020-misc-aspeed-add-lpc-mbox-driver.patch
new file mode 100644
index 000000000..884a7018c
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0020-misc-aspeed-add-lpc-mbox-driver.patch
@@ -0,0 +1,475 @@
+From efa7ad95db45494b2c3685c0688f00174e517e34 Mon Sep 17 00:00:00 2001
+From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+Date: Wed, 10 Jul 2019 16:19:33 -0700
+Subject: [PATCH] misc: aspeed: add lpc mbox driver
+
+This commit adds back the lpc mbox driver which was removed from
+the openbmc linux dev-5.2 tree.
+
+This driver should be rewritten later.
+
+Signed-off-by: Cyril Bur <cyrilbur@gmail.com>"
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ arch/arm/boot/dts/aspeed-g4.dtsi | 9 +
+ arch/arm/boot/dts/aspeed-g5.dtsi | 9 +
+ drivers/soc/aspeed/Kconfig | 7 +
+ drivers/soc/aspeed/Makefile | 1 +
+ drivers/soc/aspeed/aspeed-lpc-mbox.c | 376 +++++++++++++++++++++++++++++++++++
+ 5 files changed, 402 insertions(+)
+ create mode 100644 drivers/soc/aspeed/aspeed-lpc-mbox.c
+
+diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
+index 00848693f455..4b8b0be22cd4 100644
+--- a/arch/arm/boot/dts/aspeed-g4.dtsi
++++ b/arch/arm/boot/dts/aspeed-g4.dtsi
+@@ -344,6 +344,15 @@
+ sio_regs: regs {
+ compatible = "aspeed,bmc-misc";
+ };
++
++ mbox: mbox@180 {
++ compatible = "aspeed,ast2400-mbox";
++ reg = <0x180 0x5c>;
++ interrupts = <46>;
++ #mbox-cells = <1>;
++ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
++ status = "disabled";
++ };
+ };
+ };
+
+diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
+index 8406da6f62a5..9f3bd5bafab5 100644
+--- a/arch/arm/boot/dts/aspeed-g5.dtsi
++++ b/arch/arm/boot/dts/aspeed-g5.dtsi
+@@ -473,6 +473,15 @@
+ sio_regs: regs {
+ compatible = "aspeed,bmc-misc";
+ };
++
++ mbox: mbox@180 {
++ compatible = "aspeed,ast2500-mbox";
++ reg = <0x180 0x5c>;
++ interrupts = <46>;
++ #mbox-cells = <1>;
++ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
++ status = "disabled";
++ };
+ };
+ };
+
+diff --git a/drivers/soc/aspeed/Kconfig b/drivers/soc/aspeed/Kconfig
+index 78dd74c49ddb..a4be8e566bc7 100644
+--- a/drivers/soc/aspeed/Kconfig
++++ b/drivers/soc/aspeed/Kconfig
+@@ -21,6 +21,13 @@ config ASPEED_LPC_CTRL
+ ioctl()s, the driver also provides a read/write interface to a BMC ram
+ region where the host LPC read/write region can be buffered.
+
++config ASPEED_LPC_MBOX
++ tristate "Aspeed LPC Mailbox Controller"
++ depends on SOC_ASPEED && REGMAP && MFD_SYSCON
++ ---help---
++ Expose the ASPEED LPC MBOX registers found on Aspeed SOCs (AST2400
++ and AST2500) to userspace.
++
+ config ASPEED_LPC_SNOOP
+ tristate "Aspeed ast2500 HOST LPC snoop support"
+ depends on SOC_ASPEED && REGMAP && MFD_SYSCON
+diff --git a/drivers/soc/aspeed/Makefile b/drivers/soc/aspeed/Makefile
+index e631b23d519b..f3ff29b874ed 100644
+--- a/drivers/soc/aspeed/Makefile
++++ b/drivers/soc/aspeed/Makefile
+@@ -1,5 +1,6 @@
+ # SPDX-License-Identifier: GPL-2.0-only
+ obj-$(CONFIG_ASPEED_BMC_MISC) += aspeed-bmc-misc.o
+ obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
++obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o
+ obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
+ obj-$(CONFIG_ASPEED_P2A_CTRL) += aspeed-p2a-ctrl.o
+diff --git a/drivers/soc/aspeed/aspeed-lpc-mbox.c b/drivers/soc/aspeed/aspeed-lpc-mbox.c
+new file mode 100644
+index 000000000000..795107206022
+--- /dev/null
++++ b/drivers/soc/aspeed/aspeed-lpc-mbox.c
+@@ -0,0 +1,376 @@
++// SPDX-License-Identifier: GPL-2.0-or-later
++// Copyright 2017 IBM Corporation
++// TODO: Rewrite this driver
++
++#include <linux/clk.h>
++#include <linux/interrupt.h>
++#include <linux/mfd/syscon.h>
++#include <linux/miscdevice.h>
++#include <linux/module.h>
++#include <linux/of_irq.h>
++#include <linux/platform_device.h>
++#include <linux/poll.h>
++#include <linux/regmap.h>
++#include <linux/slab.h>
++
++#define DEVICE_NAME "aspeed-mbox"
++
++#define MBX_USE_INTERRUPT 0
++
++#define ASPEED_MBOX_NUM_REGS 16
++
++#define ASPEED_MBOX_DATA_0 0x00
++#define ASPEED_MBOX_STATUS_0 0x40
++#define ASPEED_MBOX_STATUS_1 0x44
++#define ASPEED_MBOX_BMC_CTRL 0x48
++#define ASPEED_MBOX_CTRL_RECV BIT(7)
++#define ASPEED_MBOX_CTRL_MASK BIT(1)
++#define ASPEED_MBOX_CTRL_SEND BIT(0)
++#define ASPEED_MBOX_HOST_CTRL 0x4c
++#define ASPEED_MBOX_INTERRUPT_0 0x50
++#define ASPEED_MBOX_INTERRUPT_1 0x54
++
++struct aspeed_mbox {
++ struct miscdevice miscdev;
++ struct regmap *regmap;
++ struct clk *clk;
++ unsigned int base;
++ int irq;
++ wait_queue_head_t queue;
++ struct mutex mutex;
++};
++
++static atomic_t aspeed_mbox_open_count = ATOMIC_INIT(0);
++
++static u8 aspeed_mbox_inb(struct aspeed_mbox *mbox, int reg)
++{
++ /*
++ * The mbox registers are actually only one byte but are addressed
++ * four bytes apart. The other three bytes are marked 'reserved',
++ * they *should* be zero but lets not rely on it.
++ * I am going to rely on the fact we can casually read/write to them...
++ */
++ unsigned int val = 0xff; /* If regmap throws an error return 0xff */
++ int rc = regmap_read(mbox->regmap, mbox->base + reg, &val);
++
++ if (rc)
++ dev_err(mbox->miscdev.parent, "regmap_read() failed with "
++ "%d (reg: 0x%08x)\n", rc, reg);
++
++ return val & 0xff;
++}
++
++static void aspeed_mbox_outb(struct aspeed_mbox *mbox, u8 data, int reg)
++{
++ int rc = regmap_write(mbox->regmap, mbox->base + reg, data);
++
++ if (rc)
++ dev_err(mbox->miscdev.parent, "regmap_write() failed with "
++ "%d (data: %u reg: 0x%08x)\n", rc, data, reg);
++}
++
++static struct aspeed_mbox *file_mbox(struct file *file)
++{
++ return container_of(file->private_data, struct aspeed_mbox, miscdev);
++}
++
++static int aspeed_mbox_open(struct inode *inode, struct file *file)
++{
++#if MBX_USE_INTERRUPT
++ struct aspeed_mbox *mbox = file_mbox(file);
++#endif
++
++ if (atomic_inc_return(&aspeed_mbox_open_count) == 1) {
++#if MBX_USE_INTERRUPT
++ /*
++ * Clear the interrupt status bit if it was left on and unmask
++ * interrupts.
++ * ASPEED_MBOX_CTRL_RECV bit is W1C, this also unmasks in 1 step
++ */
++ aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
++#endif
++ return 0;
++ }
++
++ atomic_dec(&aspeed_mbox_open_count);
++ return -EBUSY;
++}
++
++static ssize_t aspeed_mbox_read(struct file *file, char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ struct aspeed_mbox *mbox = file_mbox(file);
++ char __user *p = buf;
++ ssize_t ret;
++ int i;
++
++ if (!access_ok(buf, count))
++ return -EFAULT;
++
++ if (count + *ppos > ASPEED_MBOX_NUM_REGS)
++ return -EINVAL;
++
++#if MBX_USE_INTERRUPT
++ if (file->f_flags & O_NONBLOCK) {
++ if (!(aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) &
++ ASPEED_MBOX_CTRL_RECV))
++ return -EAGAIN;
++ } else if (wait_event_interruptible(mbox->queue,
++ aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) &
++ ASPEED_MBOX_CTRL_RECV)) {
++ return -ERESTARTSYS;
++ }
++#endif
++
++ mutex_lock(&mbox->mutex);
++
++ for (i = *ppos; count > 0 && i < ASPEED_MBOX_NUM_REGS; i++) {
++ uint8_t reg = aspeed_mbox_inb(mbox, ASPEED_MBOX_DATA_0 + (i * 4));
++
++ ret = __put_user(reg, p);
++ if (ret)
++ goto out_unlock;
++
++ p++;
++ count--;
++ }
++
++#if MBX_USE_INTERRUPT
++ /* ASPEED_MBOX_CTRL_RECV bit is write to clear, this also unmasks in 1 step */
++ aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
++#endif
++ ret = p - buf;
++
++out_unlock:
++ mutex_unlock(&mbox->mutex);
++ return ret;
++}
++
++static ssize_t aspeed_mbox_write(struct file *file, const char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ struct aspeed_mbox *mbox = file_mbox(file);
++ const char __user *p = buf;
++ ssize_t ret;
++ char c;
++ int i;
++
++ if (!access_ok(buf, count))
++ return -EFAULT;
++
++ if (count + *ppos > ASPEED_MBOX_NUM_REGS)
++ return -EINVAL;
++
++ mutex_lock(&mbox->mutex);
++
++ for (i = *ppos; count > 0 && i < ASPEED_MBOX_NUM_REGS; i++) {
++ ret = __get_user(c, p);
++ if (ret)
++ goto out_unlock;
++
++ aspeed_mbox_outb(mbox, c, ASPEED_MBOX_DATA_0 + (i * 4));
++ p++;
++ count--;
++ }
++
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_0);
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_1);
++ aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV | ASPEED_MBOX_CTRL_MASK | ASPEED_MBOX_CTRL_SEND, ASPEED_MBOX_BMC_CTRL);
++ ret = p - buf;
++
++out_unlock:
++ mutex_unlock(&mbox->mutex);
++ return ret;
++}
++
++static unsigned int aspeed_mbox_poll(struct file *file, poll_table *wait)
++{
++ struct aspeed_mbox *mbox = file_mbox(file);
++ unsigned int mask = 0;
++
++ poll_wait(file, &mbox->queue, wait);
++
++#if MBX_USE_INTERRUPT
++ if (aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) & ASPEED_MBOX_CTRL_RECV)
++#endif
++ mask |= POLLIN;
++
++ return mask;
++}
++
++static int aspeed_mbox_release(struct inode *inode, struct file *file)
++{
++ atomic_dec(&aspeed_mbox_open_count);
++ return 0;
++}
++
++static const struct file_operations aspeed_mbox_fops = {
++ .owner = THIS_MODULE,
++ .llseek = no_seek_end_llseek,
++ .read = aspeed_mbox_read,
++ .write = aspeed_mbox_write,
++ .open = aspeed_mbox_open,
++ .release = aspeed_mbox_release,
++ .poll = aspeed_mbox_poll,
++};
++
++static irqreturn_t aspeed_mbox_irq(int irq, void *arg)
++{
++ struct aspeed_mbox *mbox = arg;
++#if MBX_USE_INTERRUPT
++ int i;
++
++// if (!(aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL) & ASPEED_MBOX_CTRL_RECV))
++// return IRQ_NONE;
++
++ printk(KERN_ERR "BMC_CTRL: 0x%02x\n",
++ aspeed_mbox_inb(mbox, ASPEED_MBOX_BMC_CTRL));
++ printk(KERN_ERR "STATUS_0: 0x%02x\n",
++ aspeed_mbox_inb(mbox, ASPEED_MBOX_STATUS_0));
++ printk(KERN_ERR "STATUS_1: 0x%02x\n",
++ aspeed_mbox_inb(mbox, ASPEED_MBOX_STATUS_1));
++ for (i = 0; i < ASPEED_MBOX_NUM_REGS; i++) {
++ printk(KERN_ERR "DATA_%d: 0x%02x\n", i,
++ aspeed_mbox_inb(mbox, ASPEED_MBOX_DATA_0 + (i * 4)));
++ }
++#endif
++
++ /* Clear interrupt status */
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_0);
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_1);
++ aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
++
++ wake_up(&mbox->queue);
++ return IRQ_HANDLED;
++}
++
++static int aspeed_mbox_config_irq(struct aspeed_mbox *mbox,
++ struct platform_device *pdev)
++{
++ struct device *dev = &pdev->dev;
++ int rc;
++
++ mbox->irq = platform_get_irq(pdev, 0);
++ if (!mbox->irq)
++ return -ENODEV;
++
++ rc = devm_request_irq(dev, mbox->irq, aspeed_mbox_irq,
++ IRQF_SHARED, DEVICE_NAME, mbox);
++ if (rc < 0) {
++ dev_err(dev, "Unable to request IRQ %d\n", mbox->irq);
++ return rc;
++ }
++
++ /* Disable all register based interrupts. */
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_INTERRUPT_0); /* regs 0 - 7 */
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_INTERRUPT_1); /* regs 8 - 15 */
++
++ /* These registers are write one to clear. Clear them. */
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_0);
++ aspeed_mbox_outb(mbox, 0xff, ASPEED_MBOX_STATUS_1);
++
++ aspeed_mbox_outb(mbox, ASPEED_MBOX_CTRL_RECV, ASPEED_MBOX_BMC_CTRL);
++ return 0;
++}
++
++static int aspeed_mbox_probe(struct platform_device *pdev)
++{
++ struct aspeed_mbox *mbox;
++ struct device *dev;
++ int rc;
++
++ dev = &pdev->dev;
++
++ mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
++ if (!mbox)
++ return -ENOMEM;
++
++ dev_set_drvdata(&pdev->dev, mbox);
++
++ rc = of_property_read_u32(dev->of_node, "reg", &mbox->base);
++ if (rc) {
++ dev_err(dev, "Couldn't read reg device-tree property\n");
++ return rc;
++ }
++
++ mbox->regmap = syscon_node_to_regmap(
++ pdev->dev.parent->of_node);
++ if (IS_ERR(mbox->regmap)) {
++ dev_err(dev, "Couldn't get regmap\n");
++ return -ENODEV;
++ }
++
++ mutex_init(&mbox->mutex);
++ init_waitqueue_head(&mbox->queue);
++
++ mbox->clk = devm_clk_get(dev, NULL);
++ if (IS_ERR(mbox->clk)) {
++ rc = PTR_ERR(mbox->clk);
++ if (rc != -EPROBE_DEFER)
++ dev_err(dev, "couldn't get clock\n");
++ return rc;
++ }
++ rc = clk_prepare_enable(mbox->clk);
++ if (rc) {
++ dev_err(dev, "couldn't enable clock\n");
++ return rc;
++ }
++
++ mbox->miscdev.minor = MISC_DYNAMIC_MINOR;
++ mbox->miscdev.name = DEVICE_NAME;
++ mbox->miscdev.fops = &aspeed_mbox_fops;
++ mbox->miscdev.parent = dev;
++ rc = misc_register(&mbox->miscdev);
++ if (rc) {
++ dev_err(dev, "Unable to register device\n");
++ goto err;
++ }
++
++ rc = aspeed_mbox_config_irq(mbox, pdev);
++ if (rc) {
++ dev_err(dev, "Failed to configure IRQ\n");
++ misc_deregister(&mbox->miscdev);
++ goto err;
++ }
++
++ dev_info(&pdev->dev, "LPC mbox registered, irq %d\n", mbox->irq);
++
++ return 0;
++
++err:
++ clk_disable_unprepare(mbox->clk);
++
++ return rc;
++}
++
++static int aspeed_mbox_remove(struct platform_device *pdev)
++{
++ struct aspeed_mbox *mbox = dev_get_drvdata(&pdev->dev);
++
++ misc_deregister(&mbox->miscdev);
++ clk_disable_unprepare(mbox->clk);
++
++ return 0;
++}
++
++static const struct of_device_id aspeed_mbox_match[] = {
++ { .compatible = "aspeed,ast2400-mbox" },
++ { .compatible = "aspeed,ast2500-mbox" },
++ { },
++};
++MODULE_DEVICE_TABLE(of, aspeed_mbox_match);
++
++static struct platform_driver aspeed_mbox_driver = {
++ .driver = {
++ .name = DEVICE_NAME,
++ .of_match_table = aspeed_mbox_match,
++ },
++ .probe = aspeed_mbox_probe,
++ .remove = aspeed_mbox_remove,
++};
++
++module_platform_driver(aspeed_mbox_driver);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Cyril Bur <cyrilbur@gmail.com>");
++MODULE_DESCRIPTION("Aspeed mailbox device driver");
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0021-Initial-Port-of-Aspeed-LPC-SIO-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0021-Initial-Port-of-Aspeed-LPC-SIO-driver.patch
index d1745ce5f..b347894be 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0021-Initial-Port-of-Aspeed-LPC-SIO-driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0021-Initial-Port-of-Aspeed-LPC-SIO-driver.patch
@@ -1,4 +1,4 @@
-From 7d5cd323d3b05a00f8b8a6eb38a5a1ec7925660a Mon Sep 17 00:00:00 2001
+From 3d1ddeb903f6eaeb06ddc1d6cfbed6374ef31f36 Mon Sep 17 00:00:00 2001
From: Yong Li <yong.b.li@intel.com>
Date: Mon, 13 Nov 2017 16:29:44 +0800
Subject: [PATCH] Aspeed LPC SIO driver
@@ -8,24 +8,24 @@ Add lpc sio device driver for AST2500/2400
Signed-off-by: Yong Li <yong.b.li@intel.com>
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- .../devicetree/bindings/misc/aspeed-sio.txt | 18 +
+ .../bindings/soc/aspeed/aspeed-lpc-sio.txt | 17 +
arch/arm/boot/dts/aspeed-g4.dtsi | 7 +
arch/arm/boot/dts/aspeed-g5.dtsi | 7 +
- drivers/misc/Kconfig | 9 +
- drivers/misc/Makefile | 1 +
- drivers/misc/aspeed-lpc-sio.c | 450 +++++++++++++++++++++
+ drivers/soc/aspeed/Kconfig | 7 +
+ drivers/soc/aspeed/Makefile | 1 +
+ drivers/soc/aspeed/aspeed-lpc-sio.c | 450 +++++++++++++++++++++
include/uapi/linux/aspeed-lpc-sio.h | 44 ++
- 7 files changed, 536 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/misc/aspeed-sio.txt
- create mode 100644 drivers/misc/aspeed-lpc-sio.c
+ 7 files changed, 533 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/soc/aspeed/aspeed-lpc-sio.txt
+ create mode 100644 drivers/soc/aspeed/aspeed-lpc-sio.c
create mode 100644 include/uapi/linux/aspeed-lpc-sio.h
-diff --git a/Documentation/devicetree/bindings/misc/aspeed-sio.txt b/Documentation/devicetree/bindings/misc/aspeed-sio.txt
+diff --git a/Documentation/devicetree/bindings/soc/aspeed/aspeed-lpc-sio.txt b/Documentation/devicetree/bindings/soc/aspeed/aspeed-lpc-sio.txt
new file mode 100644
-index 000000000000..3530c2b02f5c
+index 000000000000..c74ea3a4e5ac
--- /dev/null
-+++ b/Documentation/devicetree/bindings/misc/aspeed-sio.txt
-@@ -0,0 +1,18 @@
++++ b/Documentation/devicetree/bindings/soc/aspeed/aspeed-lpc-sio.txt
+@@ -0,0 +1,17 @@
+* Aspeed LPC SIO driver.
+
+Required properties:
@@ -43,12 +43,11 @@ index 000000000000..3530c2b02f5c
+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
+ status = "disabled";
+};
-+
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index e8bcfc90bf7c..a87fd5ee1c84 100644
+index 07758c9b900b..3df43f925848 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -340,6 +340,13 @@
+@@ -345,6 +345,13 @@
compatible = "aspeed,bmc-misc";
};
@@ -63,10 +62,10 @@ index e8bcfc90bf7c..a87fd5ee1c84 100644
compatible = "aspeed,ast2400-mbox";
reg = <0x180 0x5c>;
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index e5c0ba0f87c8..a568699c28f4 100644
+index 2387e2d1ff9e..2d6f730a7101 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -451,6 +451,13 @@
+@@ -474,6 +474,13 @@
compatible = "aspeed,bmc-misc";
};
@@ -80,40 +79,40 @@ index e5c0ba0f87c8..a568699c28f4 100644
mbox: mbox@180 {
compatible = "aspeed,ast2500-mbox";
reg = <0x180 0x5c>;
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 00d1c547ece7..3ffb18f915e8 100644
---- a/drivers/misc/Kconfig
-+++ b/drivers/misc/Kconfig
-@@ -493,6 +493,15 @@ config ASPEED_LPC_CTRL
- ioctl()s, the driver also provides a read/write interface to a BMC ram
- region where the host LPC read/write region can be buffered.
+diff --git a/drivers/soc/aspeed/Kconfig b/drivers/soc/aspeed/Kconfig
+index a4be8e566bc7..285c19042c65 100644
+--- a/drivers/soc/aspeed/Kconfig
++++ b/drivers/soc/aspeed/Kconfig
+@@ -28,6 +28,13 @@ config ASPEED_LPC_MBOX
+ Expose the ASPEED LPC MBOX registers found on Aspeed SOCs (AST2400
+ and AST2500) to userspace.
+config ASPEED_LPC_SIO
-+ depends on (ARCH_ASPEED || COMPILE_TEST) && REGMAP && MFD_SYSCON
+ tristate "Aspeed ast2400/2500 HOST LPC SIO support"
++ depends on SOC_ASPEED && REGMAP && MFD_SYSCON
+ help
-+ Provides a driver to control the LPC SIO interface
-+ on ASPEED platform
-+ through
-+ ioctl()s.
++ Provides a driver to control the LPC SIO interface on ASPEED platform
++ through ioctl()s.
+
config ASPEED_LPC_SNOOP
tristate "Aspeed ast2500 HOST LPC snoop support"
- depends on (ARCH_ASPEED || COMPILE_TEST) && REGMAP && MFD_SYSCON
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 768278b059c3..de2d5c6d186c 100644
---- a/drivers/misc/Makefile
-+++ b/drivers/misc/Makefile
-@@ -53,6 +53,7 @@ obj-$(CONFIG_GENWQE) += genwqe/
- obj-$(CONFIG_ECHO) += echo/
- obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o
- obj-$(CONFIG_CXL_BASE) += cxl/
-+obj-$(CONFIG_ASPEED_LPC_SIO) += aspeed-lpc-sio.o
+ depends on SOC_ASPEED && REGMAP && MFD_SYSCON
+diff --git a/drivers/soc/aspeed/Makefile b/drivers/soc/aspeed/Makefile
+index f3ff29b874ed..2e547cc47e62 100644
+--- a/drivers/soc/aspeed/Makefile
++++ b/drivers/soc/aspeed/Makefile
+@@ -2,5 +2,6 @@
+ obj-$(CONFIG_ASPEED_BMC_MISC) += aspeed-bmc-misc.o
obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
- obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o
++obj-$(CONFIG_ASPEED_LPC_SIO) += aspeed-lpc-sio.o
+ obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
+ obj-$(CONFIG_ASPEED_P2A_CTRL) += aspeed-p2a-ctrl.o
+diff --git a/drivers/soc/aspeed/aspeed-lpc-sio.c b/drivers/soc/aspeed/aspeed-lpc-sio.c
+new file mode 100644
+index 000000000000..c717a3182320
--- /dev/null
-+++ b/drivers/misc/aspeed-lpc-sio.c
++++ b/drivers/soc/aspeed/aspeed-lpc-sio.c
@@ -0,0 +1,450 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (C) 2012-2017 ASPEED Technology Inc.
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0022-Add-AST2500-eSPI-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0022-Add-AST2500-eSPI-driver.patch
index 303bff0b1..a44667436 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0022-Add-AST2500-eSPI-driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0022-Add-AST2500-eSPI-driver.patch
@@ -1,4 +1,4 @@
-From 3437db37b2f39a69505338546d9f846338de6c88 Mon Sep 17 00:00:00 2001
+From 0f0e0a03218f6a7bdcdd78d319959e6bb974502c Mon Sep 17 00:00:00 2001
From: Haiyue Wang <haiyue.wang@linux.intel.com>
Date: Sat, 24 Feb 2018 11:12:32 +0800
Subject: [PATCH] eSPI: add ASPEED AST2500 eSPI driver to boot a host with PCH
@@ -18,23 +18,23 @@ Also for the host power on / off actions, from BMC side, the following VW
Signed-off-by: Haiyue Wang <haiyue.wang@linux.intel.com>
---
- .../devicetree/bindings/misc/aspeed,espi-slave.txt | 20 ++
- Documentation/misc-devices/espi-slave.rst | 119 +++++++
+ .../devicetree/bindings/misc/aspeed,espi-slave.txt | 19 ++
+ Documentation/misc-devices/espi-slave.rst | 118 +++++++
arch/arm/boot/dts/aspeed-g5.dtsi | 4 +
drivers/misc/Kconfig | 8 +
drivers/misc/Makefile | 1 +
drivers/misc/aspeed-espi-slave.c | 353 +++++++++++++++++++++
- 6 files changed, 505 insertions(+)
+ 6 files changed, 503 insertions(+)
create mode 100644 Documentation/devicetree/bindings/misc/aspeed,espi-slave.txt
create mode 100644 Documentation/misc-devices/espi-slave.rst
create mode 100644 drivers/misc/aspeed-espi-slave.c
diff --git a/Documentation/devicetree/bindings/misc/aspeed,espi-slave.txt b/Documentation/devicetree/bindings/misc/aspeed,espi-slave.txt
new file mode 100644
-index 000000000000..4f5d47ecc882
+index 000000000000..8660e2ffbb89
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/aspeed,espi-slave.txt
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
+ASPEED eSPI Slave Controller
+
+Required properties:
@@ -54,13 +54,12 @@ index 000000000000..4f5d47ecc882
+ interrupts = <23>;
+ status = "disabled";
+};
-+
diff --git a/Documentation/misc-devices/espi-slave.rst b/Documentation/misc-devices/espi-slave.rst
new file mode 100644
-index 000000000000..185acd71bd26
+index 000000000000..887a69a7130a
--- /dev/null
+++ b/Documentation/misc-devices/espi-slave.rst
-@@ -0,0 +1,119 @@
+@@ -0,0 +1,118 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+==========
@@ -179,12 +178,11 @@ index 000000000000..185acd71bd26
+`Enhanced Serial Peripheral Interface (eSPI)
+- Interface Base Specification (for Client and Server Platforms)
+<https://www.intel.com/content/dam/support/us/en/documents/software/chipset-software/327432-004_espi_base_specification_rev1.0.pdf>`_
-+
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index da9e903808bc..01d27e845982 100644
+index 2d6f730a7101..0e7f1d2fa08e 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -267,6 +267,7 @@
+@@ -289,6 +289,7 @@
clocks = <&syscon ASPEED_CLK_APB>;
interrupt-controller;
#interrupt-cells = <2>;
@@ -192,7 +190,7 @@ index da9e903808bc..01d27e845982 100644
};
sgpio: sgpio@1e780200 {
-@@ -361,6 +362,9 @@
+@@ -383,6 +384,9 @@
reg = <0x1e6ee000 0x100>;
interrupts = <23>;
status = "disabled";
@@ -203,10 +201,10 @@ index da9e903808bc..01d27e845982 100644
lpc: lpc@1e789000 {
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index d4ed3777462a..8b1fcf741411 100644
+index 9d96469fb41c..b6acddaa9421 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
-@@ -485,6 +485,14 @@ config VEXPRESS_SYSCFG
+@@ -473,6 +473,14 @@ config VEXPRESS_SYSCFG
bus. System Configuration interface is one of the possible means
of generating transactions on this bus.
@@ -218,21 +216,21 @@ index d4ed3777462a..8b1fcf741411 100644
+ Control Aspeed ast2500 eSPI slave controller to handle event
+ which needs the firmware's processing.
+
- config ASPEED_LPC_CTRL
- depends on (ARCH_ASPEED || COMPILE_TEST) && REGMAP && MFD_SYSCON
- tristate "Aspeed ast2400/2500 HOST LPC to BMC bridge control"
+ config PCI_ENDPOINT_TEST
+ depends on PCI
+ select CRC32
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 7b018962cad3..89b051f82391 100644
+index e13de4f0798f..f91f66a15484 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
-@@ -54,6 +54,7 @@ obj-$(CONFIG_ECHO) += echo/
+@@ -54,6 +54,7 @@ obj-$(CONFIG_GENWQE) += genwqe/
+ obj-$(CONFIG_ECHO) += echo/
obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o
obj-$(CONFIG_CXL_BASE) += cxl/
- obj-$(CONFIG_ASPEED_LPC_SIO) += aspeed-lpc-sio.o
+obj-$(CONFIG_ASPEED_ESPI_SLAVE) += aspeed-espi-slave.o
- obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
- obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
- obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o
+ obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o
+ obj-$(CONFIG_OCXL) += ocxl/
+ obj-y += cardreader/
diff --git a/drivers/misc/aspeed-espi-slave.c b/drivers/misc/aspeed-espi-slave.c
new file mode 100644
index 000000000000..36ae867ca6f9
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0026-Add-support-for-new-PECI-commands.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0026-Add-support-for-new-PECI-commands.patch
index 1532a5642..0e11e1c3e 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0026-Add-support-for-new-PECI-commands.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0026-Add-support-for-new-PECI-commands.patch
@@ -1,29 +1,33 @@
-From d1d221aedb9b366e3477f253386b1cf829c56193 Mon Sep 17 00:00:00 2001
+From 8d5f080b38d1b652eb5fdd3a7b74164906680ab7 Mon Sep 17 00:00:00 2001
From: "Jason M. Bills" <jason.m.bills@intel.com>
Date: Wed, 4 Apr 2018 13:52:39 -0700
Subject: [PATCH] Add support for new PECI commands
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- drivers/peci/peci-core.c | 226 ++++++++++++++++++++++++++++++++++++++++
- include/uapi/linux/peci-ioctl.h | 104 ++++++++++++++++++
- 2 files changed, 330 insertions(+)
+ drivers/peci/peci-core.c | 396 ++++++++++++++++++++++++++++++++++++++++
+ include/uapi/linux/peci-ioctl.h | 146 +++++++++++++++
+ 2 files changed, 542 insertions(+)
diff --git a/drivers/peci/peci-core.c b/drivers/peci/peci-core.c
-index e282f9ef383b..9af11accc1d4 100644
+index d1f0df8b139a..b99ba788a032 100644
--- a/drivers/peci/peci-core.c
+++ b/drivers/peci/peci-core.c
-@@ -345,6 +345,9 @@ static int peci_scan_cmd_mask(struct peci_adapter *adapter)
- adapter->cmd_mask |= BIT(PECI_CMD_GET_TEMP);
- adapter->cmd_mask |= BIT(PECI_CMD_GET_DIB);
- adapter->cmd_mask |= BIT(PECI_CMD_PING);
-+ adapter->cmd_mask |= BIT(PECI_CMD_RD_END_PT_CFG);
-+ adapter->cmd_mask |= BIT(PECI_CMD_CRASHDUMP_DISC);
-+ adapter->cmd_mask |= BIT(PECI_CMD_CRASHDUMP_GET_FRAME);
-
- out:
- peci_put_xfer_msg(msg);
-@@ -693,6 +696,226 @@ static int peci_cmd_wr_pci_cfg_local(struct peci_adapter *adapter, void *vmsg)
+@@ -318,6 +318,12 @@ static int peci_scan_cmd_mask(struct peci_adapter *adapter)
+ * See PECI Spec Table 3-1.
+ */
+ revision = FIELD_GET(REVISION_NUM_MASK, dib);
++ if (revision >= 0x40) { /* Rev. 4.0 */
++ adapter->cmd_mask |= BIT(PECI_CMD_RD_END_PT_CFG);
++ adapter->cmd_mask |= BIT(PECI_CMD_WR_END_PT_CFG);
++ adapter->cmd_mask |= BIT(PECI_CMD_CRASHDUMP_DISC);
++ adapter->cmd_mask |= BIT(PECI_CMD_CRASHDUMP_GET_FRAME);
++ }
+ if (revision >= 0x36) /* Rev. 3.6 */
+ adapter->cmd_mask |= BIT(PECI_CMD_WR_IA_MSR);
+ if (revision >= 0x35) /* Rev. 3.5 */
+@@ -687,6 +693,392 @@ static int peci_cmd_wr_pci_cfg_local(struct peci_adapter *adapter, void *vmsg)
return ret;
}
@@ -32,11 +36,12 @@ index e282f9ef383b..9af11accc1d4 100644
+ struct peci_rd_end_pt_cfg_msg *umsg = vmsg;
+ struct peci_xfer_msg *msg = NULL;
+ u32 address;
++ u8 tx_size;
+ int ret;
+
+ switch (umsg->msg_type) {
-+ case PECI_RDENDPTCFG_TYPE_LOCAL_PCI:
-+ case PECI_RDENDPTCFG_TYPE_PCI:
++ case PECI_ENDPTCFG_TYPE_LOCAL_PCI:
++ case PECI_ENDPTCFG_TYPE_PCI:
+ /*
+ * Per the PECI spec, the read length must be a byte, word,
+ * or dword
@@ -55,7 +60,7 @@ index e282f9ef383b..9af11accc1d4 100644
+ if (!msg)
+ return -ENOMEM;
+
-+ address = umsg->params.pci_cfg.reg; /* [11:0] - Register */
++ address = umsg->params.pci_cfg.reg; /* [11:0] - Register */
+ address |= (u32)umsg->params.pci_cfg.function
+ << 12; /* [14:12] - Function */
+ address |= (u32)umsg->params.pci_cfg.device
@@ -70,7 +75,7 @@ index e282f9ef383b..9af11accc1d4 100644
+ msg->tx_buf[3] = 0x00; /* Endpoint ID */
+ msg->tx_buf[4] = 0x00; /* Reserved */
+ msg->tx_buf[5] = 0x00; /* Reserved */
-+ msg->tx_buf[6] = PECI_RDENDPTCFG_ADDR_TYPE_PCI; /* Addr Type */
++ msg->tx_buf[6] = PECI_ENDPTCFG_ADDR_TYPE_PCI; /* Addr Type */
+ msg->tx_buf[7] = umsg->params.pci_cfg.seg; /* PCI Segment */
+ msg->tx_buf[8] = (u8)address; /* LSB - PCI Config Address */
+ msg->tx_buf[9] = (u8)(address >> 8); /* PCI Config Address */
@@ -79,7 +84,7 @@ index e282f9ef383b..9af11accc1d4 100644
+ (u8)(address >> 24); /* MSB - PCI Config Address */
+ break;
+
-+ case PECI_RDENDPTCFG_TYPE_MMIO:
++ case PECI_ENDPTCFG_TYPE_MMIO:
+ /*
+ * Per the PECI spec, the read length must be a byte, word,
+ * dword, or qword
@@ -96,22 +101,27 @@ index e282f9ef383b..9af11accc1d4 100644
+ * or QWORD
+ */
+ if (umsg->params.mmio.addr_type !=
-+ PECI_RDENDPTCFG_ADDR_TYPE_MMIO_D &&
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_D &&
+ umsg->params.mmio.addr_type !=
-+ PECI_RDENDPTCFG_ADDR_TYPE_MMIO_Q) {
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_Q) {
+ dev_dbg(&adapter->dev,
+ "Invalid address type, addr_type: %d\n",
+ umsg->params.mmio.addr_type);
+ return -EINVAL;
+ }
+
-+ msg = peci_get_xfer_msg(PECI_RDENDPTCFG_MMIO_D_WRITE_LEN,
++ if (umsg->params.mmio.addr_type ==
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_D)
++ tx_size = PECI_RDENDPTCFG_MMIO_D_WRITE_LEN;
++ else
++ tx_size = PECI_RDENDPTCFG_MMIO_Q_WRITE_LEN;
++ msg = peci_get_xfer_msg(tx_size,
+ PECI_RDENDPTCFG_READ_LEN_BASE +
+ umsg->rx_len);
+ if (!msg)
+ return -ENOMEM;
+
-+ address = umsg->params.mmio.function; /* [2:0] - Function */
++ address = umsg->params.mmio.function; /* [2:0] - Function */
+ address |= (u32)umsg->params.mmio.device
+ << 3; /* [7:3] - Device */
+
@@ -135,8 +145,7 @@ index e282f9ef383b..9af11accc1d4 100644
+ msg->tx_buf[13] = (u8)(umsg->params.mmio.offset
+ >> 24); /* MSB - DWORD Register Offset */
+ if (umsg->params.mmio.addr_type ==
-+ PECI_RDENDPTCFG_ADDR_TYPE_MMIO_Q) {
-+ msg->tx_len = PECI_RDENDPTCFG_MMIO_Q_WRITE_LEN;
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_Q) {
+ msg->tx_buf[14] = (u8)(umsg->params.mmio.offset
+ >> 32); /* Register Offset */
+ msg->tx_buf[15] = (u8)(umsg->params.mmio.offset
@@ -163,6 +172,167 @@ index e282f9ef383b..9af11accc1d4 100644
+ return ret;
+}
+
++static int peci_cmd_wr_end_pt_cfg(struct peci_adapter *adapter, void *vmsg)
++{
++ struct peci_wr_end_pt_cfg_msg *umsg = vmsg;
++ struct peci_xfer_msg *msg = NULL;
++ u8 tx_size, aw_fcs;
++ int ret, i, idx;
++ u32 address;
++
++ switch (umsg->msg_type) {
++ case PECI_ENDPTCFG_TYPE_LOCAL_PCI:
++ case PECI_ENDPTCFG_TYPE_PCI:
++ /*
++ * Per the PECI spec, the write length must be a byte, word,
++ * or dword
++ */
++ if (umsg->tx_len != 1 && umsg->tx_len != 2 &&
++ umsg->tx_len != 4) {
++ dev_dbg(&adapter->dev,
++ "Invalid write length, tx_len: %d\n",
++ umsg->tx_len);
++ return -EINVAL;
++ }
++
++ msg = peci_get_xfer_msg(PECI_WRENDPTCFG_PCI_WRITE_LEN_BASE +
++ umsg->tx_len, PECI_WRENDPTCFG_READ_LEN);
++ if (!msg)
++ return -ENOMEM;
++
++ address = umsg->params.pci_cfg.reg; /* [11:0] - Register */
++ address |= (u32)umsg->params.pci_cfg.function
++ << 12; /* [14:12] - Function */
++ address |= (u32)umsg->params.pci_cfg.device
++ << 15; /* [19:15] - Device */
++ address |= (u32)umsg->params.pci_cfg.bus
++ << 20; /* [27:20] - Bus */
++ /* [31:28] - Reserved */
++ msg->addr = umsg->addr;
++ msg->tx_buf[0] = PECI_WRENDPTCFG_CMD;
++ msg->tx_buf[1] = 0x00; /* request byte for Host ID|Retry bit */
++ msg->tx_buf[2] = umsg->msg_type; /* Message Type */
++ msg->tx_buf[3] = 0x00; /* Endpoint ID */
++ msg->tx_buf[4] = 0x00; /* Reserved */
++ msg->tx_buf[5] = 0x00; /* Reserved */
++ msg->tx_buf[6] = PECI_ENDPTCFG_ADDR_TYPE_PCI; /* Addr Type */
++ msg->tx_buf[7] = umsg->params.pci_cfg.seg; /* PCI Segment */
++ msg->tx_buf[8] = (u8)address; /* LSB - PCI Config Address */
++ msg->tx_buf[9] = (u8)(address >> 8); /* PCI Config Address */
++ msg->tx_buf[10] = (u8)(address >> 16); /* PCI Config Address */
++ msg->tx_buf[11] =
++ (u8)(address >> 24); /* MSB - PCI Config Address */
++ for (i = 0; i < umsg->tx_len; i++)
++ msg->tx_buf[12 + i] = (u8)(umsg->value >> (i << 3));
++
++ /* Add an Assured Write Frame Check Sequence byte */
++ ret = peci_aw_fcs(msg, 15 + umsg->tx_len, &aw_fcs);
++ if (ret)
++ goto out;
++
++ msg->tx_buf[12 + i] = 0x80 ^ aw_fcs;
++ break;
++
++ case PECI_ENDPTCFG_TYPE_MMIO:
++ /*
++ * Per the PECI spec, the write length must be a byte, word,
++ * dword, or qword
++ */
++ if (umsg->tx_len != 1 && umsg->tx_len != 2 &&
++ umsg->tx_len != 4 && umsg->tx_len != 8) {
++ dev_dbg(&adapter->dev,
++ "Invalid write length, tx_len: %d\n",
++ umsg->tx_len);
++ return -EINVAL;
++ }
++ /*
++ * Per the PECI spec, the address type must specify either DWORD
++ * or QWORD
++ */
++ if (umsg->params.mmio.addr_type !=
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_D &&
++ umsg->params.mmio.addr_type !=
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_Q) {
++ dev_dbg(&adapter->dev,
++ "Invalid address type, addr_type: %d\n",
++ umsg->params.mmio.addr_type);
++ return -EINVAL;
++ }
++
++ if (umsg->params.mmio.addr_type ==
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_D)
++ tx_size = PECI_WRENDPTCFG_MMIO_D_WRITE_LEN_BASE +
++ umsg->tx_len;
++ else
++ tx_size = PECI_WRENDPTCFG_MMIO_Q_WRITE_LEN_BASE +
++ umsg->tx_len;
++ msg = peci_get_xfer_msg(tx_size, PECI_WRENDPTCFG_READ_LEN);
++ if (!msg)
++ return -ENOMEM;
++
++ address = umsg->params.mmio.function; /* [2:0] - Function */
++ address |= (u32)umsg->params.mmio.device
++ << 3; /* [7:3] - Device */
++
++ msg->addr = umsg->addr;
++ msg->tx_buf[0] = PECI_WRENDPTCFG_CMD;
++ msg->tx_buf[1] = 0x00; /* request byte for Host ID|Retry bit */
++ msg->tx_buf[2] = umsg->msg_type; /* Message Type */
++ msg->tx_buf[3] = 0x00; /* Endpoint ID */
++ msg->tx_buf[4] = 0x00; /* Reserved */
++ msg->tx_buf[5] = umsg->params.mmio.bar; /* BAR # */
++ msg->tx_buf[6] = umsg->params.mmio.addr_type; /* Address Type */
++ msg->tx_buf[7] = umsg->params.mmio.seg; /* PCI Segment */
++ msg->tx_buf[8] = (u8)address; /* Function/Device */
++ msg->tx_buf[9] = umsg->params.mmio.bus; /* PCI Bus */
++ msg->tx_buf[10] = (u8)umsg->params.mmio
++ .offset; /* LSB - Register Offset */
++ msg->tx_buf[11] = (u8)(umsg->params.mmio.offset
++ >> 8); /* Register Offset */
++ msg->tx_buf[12] = (u8)(umsg->params.mmio.offset
++ >> 16); /* Register Offset */
++ msg->tx_buf[13] = (u8)(umsg->params.mmio.offset
++ >> 24); /* MSB - DWORD Register Offset */
++ if (umsg->params.mmio.addr_type ==
++ PECI_ENDPTCFG_ADDR_TYPE_MMIO_Q) {
++ msg->tx_len = PECI_WRENDPTCFG_MMIO_Q_WRITE_LEN_BASE;
++ msg->tx_buf[14] = (u8)(umsg->params.mmio.offset
++ >> 32); /* Register Offset */
++ msg->tx_buf[15] = (u8)(umsg->params.mmio.offset
++ >> 40); /* Register Offset */
++ msg->tx_buf[16] = (u8)(umsg->params.mmio.offset
++ >> 48); /* Register Offset */
++ msg->tx_buf[17] =
++ (u8)(umsg->params.mmio.offset
++ >> 56); /* MSB - QWORD Register Offset */
++ idx = 18;
++ } else {
++ idx = 14;
++ }
++ for (i = 0; i < umsg->tx_len; i++)
++ msg->tx_buf[idx + i] = (u8)(umsg->value >> (i << 3));
++
++ /* Add an Assured Write Frame Check Sequence byte */
++ ret = peci_aw_fcs(msg, idx + 3 + umsg->tx_len, &aw_fcs);
++ if (ret)
++ goto out;
++
++ msg->tx_buf[idx + i] = 0x80 ^ aw_fcs;
++ break;
++
++ default:
++ return -EINVAL;
++ }
++
++ ret = peci_xfer_with_retries(adapter, msg, false);
++
++out:
++ umsg->cc = msg->rx_buf[0];
++ peci_put_xfer_msg(msg);
++
++ return ret;
++}
++
+static int peci_cmd_crashdump_disc(struct peci_adapter *adapter, void *vmsg)
+{
+ struct peci_crashdump_disc_msg *umsg = vmsg;
@@ -250,46 +420,48 @@ index e282f9ef383b..9af11accc1d4 100644
typedef int (*peci_cmd_fn_type)(struct peci_adapter *, void *);
static const peci_cmd_fn_type peci_cmd_fn[PECI_CMD_MAX] = {
-@@ -708,6 +931,9 @@ static const peci_cmd_fn_type peci_cmd_fn[PECI_CMD_MAX] = {
+@@ -702,6 +1094,10 @@ static const peci_cmd_fn_type peci_cmd_fn[PECI_CMD_MAX] = {
peci_cmd_wr_pci_cfg,
peci_cmd_rd_pci_cfg_local,
peci_cmd_wr_pci_cfg_local,
+ peci_cmd_rd_end_pt_cfg,
++ peci_cmd_wr_end_pt_cfg,
+ peci_cmd_crashdump_disc,
+ peci_cmd_crashdump_get_frame,
};
/**
diff --git a/include/uapi/linux/peci-ioctl.h b/include/uapi/linux/peci-ioctl.h
-index 4c28abe2c17a..e67b0735f606 100644
+index 253fb42e38b7..405cd8edbcbf 100644
--- a/include/uapi/linux/peci-ioctl.h
+++ b/include/uapi/linux/peci-ioctl.h
-@@ -72,6 +72,9 @@ enum peci_cmd {
+@@ -71,6 +71,10 @@ enum peci_cmd {
PECI_CMD_WR_PCI_CFG,
PECI_CMD_RD_PCI_CFG_LOCAL,
PECI_CMD_WR_PCI_CFG_LOCAL,
+ PECI_CMD_RD_END_PT_CFG,
++ PECI_CMD_WR_END_PT_CFG,
+ PECI_CMD_CRASHDUMP_DISC,
+ PECI_CMD_CRASHDUMP_GET_FRAME,
PECI_CMD_MAX
};
-@@ -439,6 +442,95 @@ struct peci_wr_pci_cfg_local_msg {
+@@ -438,6 +442,132 @@ struct peci_wr_pci_cfg_local_msg {
__u32 value;
} __attribute__((__packed__));
+struct peci_rd_end_pt_cfg_msg {
-+#define PECI_RDENDPTCFG_PCI_WRITE_LEN 0x0C
-+#define PECI_RDENDPTCFG_MMIO_D_WRITE_LEN 0x0E
-+#define PECI_RDENDPTCFG_MMIO_Q_WRITE_LEN 0x12
++#define PECI_RDENDPTCFG_PCI_WRITE_LEN 12
++#define PECI_RDENDPTCFG_MMIO_D_WRITE_LEN 14
++#define PECI_RDENDPTCFG_MMIO_Q_WRITE_LEN 18
+#define PECI_RDENDPTCFG_READ_LEN_BASE 1
-+#define PECI_RDENDPTCFG_CMD 0xC1
++#define PECI_RDENDPTCFG_CMD 0xc1
+
+ __u8 addr;
+ __u8 msg_type;
-+#define PECI_RDENDPTCFG_TYPE_LOCAL_PCI 0x03
-+#define PECI_RDENDPTCFG_TYPE_PCI 0x04
-+#define PECI_RDENDPTCFG_TYPE_MMIO 0x05
++#define PECI_ENDPTCFG_TYPE_LOCAL_PCI 0x03
++#define PECI_ENDPTCFG_TYPE_PCI 0x04
++#define PECI_ENDPTCFG_TYPE_MMIO 0x05
+
+ union {
+ struct {
@@ -306,9 +478,9 @@ index 4c28abe2c17a..e67b0735f606 100644
+ __u8 function;
+ __u8 bar;
+ __u8 addr_type;
-+#define PECI_RDENDPTCFG_ADDR_TYPE_PCI 0x04
-+#define PECI_RDENDPTCFG_ADDR_TYPE_MMIO_D 0x05
-+#define PECI_RDENDPTCFG_ADDR_TYPE_MMIO_Q 0x06
++#define PECI_ENDPTCFG_ADDR_TYPE_PCI 0x04
++#define PECI_ENDPTCFG_ADDR_TYPE_MMIO_D 0x05
++#define PECI_ENDPTCFG_ADDR_TYPE_MMIO_Q 0x06
+
+ __u64 offset;
+ } mmio;
@@ -319,6 +491,43 @@ index 4c28abe2c17a..e67b0735f606 100644
+ __u8 data[8];
+} __attribute__((__packed__));
+
++struct peci_wr_end_pt_cfg_msg {
++#define PECI_WRENDPTCFG_PCI_WRITE_LEN_BASE 13
++#define PECI_WRENDPTCFG_MMIO_D_WRITE_LEN_BASE 15
++#define PECI_WRENDPTCFG_MMIO_Q_WRITE_LEN_BASE 19
++#define PECI_WRENDPTCFG_READ_LEN 1
++#define PECI_WRENDPTCFG_CMD 0xc5
++
++ __u8 addr;
++ __u8 msg_type;
++ /* See msg_type in struct peci_rd_end_pt_cfg_msg */
++
++ union {
++ struct {
++ __u8 seg;
++ __u8 bus;
++ __u8 device;
++ __u8 function;
++ __u16 reg;
++ } pci_cfg;
++ struct {
++ __u8 seg;
++ __u8 bus;
++ __u8 device;
++ __u8 function;
++ __u8 bar;
++ __u8 addr_type;
++ /* See addr_type in struct peci_rd_end_pt_cfg_msg */
++
++ __u64 offset;
++ } mmio;
++ } params;
++ __u8 tx_len;
++ __u8 cc;
++ __u8 padding[2];
++ __u64 value;
++} __attribute__((__packed__));
++
+/* Crashdump Agent */
+#define PECI_CRASHDUMP_CORE 0x00
+#define PECI_CRASHDUMP_TOR 0x01
@@ -370,7 +579,7 @@ index 4c28abe2c17a..e67b0735f606 100644
#define PECI_IOC_BASE 0xb7
#define PECI_IOC_XFER \
-@@ -479,4 +571,16 @@ struct peci_wr_pci_cfg_local_msg {
+@@ -478,4 +608,20 @@ struct peci_wr_pci_cfg_local_msg {
_IOWR(PECI_IOC_BASE, PECI_CMD_WR_PCI_CFG_LOCAL, \
struct peci_wr_pci_cfg_local_msg)
@@ -378,6 +587,10 @@ index 4c28abe2c17a..e67b0735f606 100644
+ _IOWR(PECI_IOC_BASE, PECI_CMD_RD_END_PT_CFG, \
+ struct peci_rd_end_pt_cfg_msg)
+
++#define PECI_IOC_WR_END_PT_CFG \
++ _IOWR(PECI_IOC_BASE, PECI_IOC_WR_END_PT_CFG, \
++ struct peci_wr_end_pt_cfg_msg)
++
+#define PECI_IOC_CRASHDUMP_DISC \
+ _IOWR(PECI_IOC_BASE, PECI_CMD_CRASHDUMP_DISC, \
+ struct peci_crashdump_disc_msg)
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0028-Add-AST2500-JTAG-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0028-Add-AST2500-JTAG-driver.patch
index 56dca7345..28bc8d36c 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0028-Add-AST2500-JTAG-driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0028-Add-AST2500-JTAG-driver.patch
@@ -1,12 +1,14 @@
-From 43470f186979483ba6c1e6374c7ea3a129622862 Mon Sep 17 00:00:00 2001
+From a4413fe3ba94906243b632e0b9e0e9a91620dd22 Mon Sep 17 00:00:00 2001
From: "Corona, Ernesto" <ernesto.corona@intel.com>
-Date: Mon, 1 Mar 2019 11:46:09 -0700
+Date: Fri, 1 Mar 2019 11:46:09 -0700
Subject: [PATCH] Update AST2500d JTAG driver. Step 1
Update AST2500d JTAG driver. Remove Legacy driver but keep headers.
Signed-off-by: Corona, Ernesto <ernesto.corona@intel.com>
---
+ include/uapi/linux/jtag_drv.h | 73 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
create mode 100644 include/uapi/linux/jtag_drv.h
diff --git a/include/uapi/linux/jtag_drv.h b/include/uapi/linux/jtag_drv.h
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0030-Add-dump-debug-code-into-I2C-drivers.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0030-Add-dump-debug-code-into-I2C-drivers.patch
index e984623ba..d828233fe 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0030-Add-dump-debug-code-into-I2C-drivers.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0030-Add-dump-debug-code-into-I2C-drivers.patch
@@ -1,4 +1,4 @@
-From f4c13be7b95899d6eca3fa7ae38224bc9c7d7902 Mon Sep 17 00:00:00 2001
+From 38c04788647a95e3951674eb802f1f99ecdde164 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Fri, 29 Jun 2018 11:00:02 -0700
Subject: [PATCH] Add dump debug code into I2C drivers
@@ -15,15 +15,15 @@ echo 1 > /sys/module/i2c_slave_mqueue/parameters/dump_debug
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- drivers/i2c/busses/i2c-aspeed.c | 25 +++++++++++++++++++++++++
- drivers/i2c/i2c-slave-mqueue.c | 22 ++++++++++++++++++++++
- 2 files changed, 47 insertions(+)
+ drivers/i2c/busses/i2c-aspeed.c | 26 ++++++++++++++++++++++++++
+ drivers/i2c/i2c-slave-mqueue.c | 24 ++++++++++++++++++++++++
+ 2 files changed, 50 insertions(+)
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index 6c8b38fd6e64..77dbd37b7b51 100644
+index fa66951b05d0..434b753def3b 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -166,6 +166,19 @@ struct aspeed_i2c_bus {
+@@ -163,6 +163,21 @@ struct aspeed_i2c_bus {
#endif /* CONFIG_I2C_SLAVE */
};
@@ -31,19 +31,21 @@ index 6c8b38fd6e64..77dbd37b7b51 100644
+static int dump_debug_bus_id __read_mostly;
+
+#define I2C_HEX_DUMP(bus, addr, flags, buf, len) \
-+ if (dump_debug && bus->adap.nr == dump_debug_bus_id) { \
-+ char dump_info[100] = {0,}; \
-+ snprintf(dump_info, sizeof(dump_info), \
-+ "%s (bus_id:%d, addr:0x%02x, flags:0x%02x): ", \
-+ __func__, bus->adap.nr, addr, flags); \
-+ print_hex_dump(KERN_ERR, dump_info, DUMP_PREFIX_NONE, 16, 1, \
-+ buf, len, true); \
-+ }
++ do { \
++ if (dump_debug && (bus)->adap.nr == dump_debug_bus_id) { \
++ char dump_info[100] = {0,}; \
++ snprintf(dump_info, sizeof(dump_info), \
++ "bus_id:%d, addr:0x%02x, flags:0x%02x: ", \
++ (bus)->adap.nr, addr, flags); \
++ print_hex_dump(KERN_ERR, dump_info, DUMP_PREFIX_NONE, \
++ 16, 1, buf, len, true); \
++ } \
++ } while (0)
+
static int aspeed_i2c_reset(struct aspeed_i2c_bus *bus);
static int aspeed_i2c_recover_bus(struct aspeed_i2c_bus *bus)
-@@ -655,6 +668,7 @@ static int aspeed_i2c_master_xfer(struct i2c_adapter *adap,
+@@ -652,6 +667,7 @@ static int aspeed_i2c_master_xfer(struct i2c_adapter *adap,
{
struct aspeed_i2c_bus *bus = i2c_get_adapdata(adap);
unsigned long time_left, flags;
@@ -51,7 +53,7 @@ index 6c8b38fd6e64..77dbd37b7b51 100644
spin_lock_irqsave(&bus->lock, flags);
bus->cmd_err = 0;
-@@ -697,6 +711,11 @@ static int aspeed_i2c_master_xfer(struct i2c_adapter *adap,
+@@ -694,6 +710,11 @@ static int aspeed_i2c_master_xfer(struct i2c_adapter *adap,
return -ETIMEDOUT;
}
@@ -63,21 +65,20 @@ index 6c8b38fd6e64..77dbd37b7b51 100644
return bus->master_xfer_result;
}
-@@ -1064,6 +1083,12 @@ static struct platform_driver aspeed_i2c_bus_driver = {
+@@ -1061,6 +1082,11 @@ static struct platform_driver aspeed_i2c_bus_driver = {
};
module_platform_driver(aspeed_i2c_bus_driver);
-+module_param_named(dump_debug, dump_debug, bool, S_IRUGO | S_IWUSR);
++module_param_named(dump_debug, dump_debug, bool, 0644);
+MODULE_PARM_DESC(dump_debug, "debug flag for dump printing");
-+module_param_named(dump_debug_bus_id, dump_debug_bus_id, int,
-+ S_IRUGO | S_IWUSR);
++module_param_named(dump_debug_bus_id, dump_debug_bus_id, int, 0644);
+MODULE_PARM_DESC(dump_debug_bus_id, "bus id for dump debug printing");
+
MODULE_AUTHOR("Brendan Higgins <brendanhiggins@google.com>");
MODULE_DESCRIPTION("Aspeed I2C Bus Driver");
MODULE_LICENSE("GPL v2");
diff --git a/drivers/i2c/i2c-slave-mqueue.c b/drivers/i2c/i2c-slave-mqueue.c
-index 6014bca0ff2a..4548088e1922 100644
+index 6014bca0ff2a..2c7a6038409c 100644
--- a/drivers/i2c/i2c-slave-mqueue.c
+++ b/drivers/i2c/i2c-slave-mqueue.c
@@ -21,6 +21,7 @@ struct mq_msg {
@@ -88,7 +89,7 @@ index 6014bca0ff2a..4548088e1922 100644
spinlock_t lock; /* spinlock for queue index handling */
int in;
-@@ -31,6 +32,18 @@ struct mq_queue {
+@@ -31,6 +32,21 @@ struct mq_queue {
struct mq_msg *queue;
};
@@ -96,18 +97,21 @@ index 6014bca0ff2a..4548088e1922 100644
+static int dump_debug_bus_id __read_mostly;
+
+#define I2C_HEX_DUMP(client, buf, len) \
-+ if (dump_debug && client->adapter->nr == dump_debug_bus_id) { \
-+ char dump_info[100] = {0,}; \
-+ snprintf(dump_info, sizeof(dump_info), \
-+ "%s (bus_id:%d): ", __func__, client->adapter->nr); \
-+ print_hex_dump(KERN_ERR, dump_info, DUMP_PREFIX_NONE, 16, 1, \
-+ buf, len, true); \
-+ }
++ do { \
++ if (dump_debug && \
++ (client)->adapter->nr == dump_debug_bus_id) { \
++ char dump_info[100] = {0,}; \
++ snprintf(dump_info, sizeof(dump_info), \
++ "bus_id:%d: ", (client)->adapter->nr); \
++ print_hex_dump(KERN_ERR, dump_info, DUMP_PREFIX_NONE, \
++ 16, 1, buf, len, true); \
++ } \
++ } while (0)
+
static int i2c_slave_mqueue_callback(struct i2c_client *client,
enum i2c_slave_event event, u8 *val)
{
-@@ -101,6 +114,7 @@ static ssize_t i2c_slave_mqueue_bin_read(struct file *filp,
+@@ -101,6 +117,7 @@ static ssize_t i2c_slave_mqueue_bin_read(struct file *filp,
if (msg->len <= count) {
ret = msg->len;
memcpy(buf, msg->buf, ret);
@@ -115,7 +119,7 @@ index 6014bca0ff2a..4548088e1922 100644
} else {
ret = -EOVERFLOW; /* Drop this HUGE one. */
}
-@@ -131,6 +145,8 @@ static int i2c_slave_mqueue_probe(struct i2c_client *client,
+@@ -131,6 +148,8 @@ static int i2c_slave_mqueue_probe(struct i2c_client *client,
BUILD_BUG_ON(!is_power_of_2(MQ_QUEUE_SIZE));
@@ -124,14 +128,13 @@ index 6014bca0ff2a..4548088e1922 100644
buf = devm_kmalloc_array(dev, MQ_QUEUE_SIZE, MQ_MSGBUF_SIZE,
GFP_KERNEL);
if (!buf)
-@@ -212,6 +228,12 @@ static struct i2c_driver i2c_slave_mqueue_driver = {
+@@ -212,6 +231,11 @@ static struct i2c_driver i2c_slave_mqueue_driver = {
};
module_i2c_driver(i2c_slave_mqueue_driver);
-+module_param_named(dump_debug, dump_debug, bool, S_IRUGO | S_IWUSR);
++module_param_named(dump_debug, dump_debug, bool, 0644);
+MODULE_PARM_DESC(dump_debug, "debug flag for dump printing");
-+module_param_named(dump_debug_bus_id, dump_debug_bus_id, int,
-+ S_IRUGO | S_IWUSR);
++module_param_named(dump_debug_bus_id, dump_debug_bus_id, int, 0644);
+MODULE_PARM_DESC(dump_debug_bus_id, "bus id for dump debug printing");
+
MODULE_LICENSE("GPL v2");
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0031-Add-high-speed-baud-rate-support-for-UART.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0031-Add-high-speed-baud-rate-support-for-UART.patch
index 8c9d2dce0..803701286 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0031-Add-high-speed-baud-rate-support-for-UART.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0031-Add-high-speed-baud-rate-support-for-UART.patch
@@ -1,4 +1,4 @@
-From 7baa65c9bf638265874838401e27a7b6179559ff Mon Sep 17 00:00:00 2001
+From 01c8d6a5146cd39c2286f659e21f1a1042aa741a Mon Sep 17 00:00:00 2001
From: Yong Li <yong.b.li@linux.intel.com>
Date: Wed, 2 Jan 2019 15:06:43 +0800
Subject: [PATCH] Add high speed baud rate support for UART
@@ -19,7 +19,7 @@ Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
2 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/drivers/clk/clk-aspeed.c b/drivers/clk/clk-aspeed.c
-index 5961367..3bbb4fb 100644
+index 42b4df6ba249..97c27820db3e 100644
--- a/drivers/clk/clk-aspeed.c
+++ b/drivers/clk/clk-aspeed.c
@@ -14,7 +14,9 @@
@@ -46,7 +46,7 @@ index 5961367..3bbb4fb 100644
#define ASPEED_STRAP 0x70
#define CLKIN_25MHZ_EN BIT(23)
#define AST2400_CLK_SOURCE_SEL BIT(18)
-@@ -425,7 +433,7 @@ static int aspeed_clk_probe(struct platform_device *pdev)
+@@ -446,7 +454,7 @@ static int aspeed_clk_probe(struct platform_device *pdev)
struct aspeed_reset *ar;
struct regmap *map;
struct clk_hw *hw;
@@ -55,7 +55,7 @@ index 5961367..3bbb4fb 100644
int i, ret;
map = syscon_node_to_regmap(dev->of_node);
-@@ -460,15 +468,23 @@ static int aspeed_clk_probe(struct platform_device *pdev)
+@@ -481,15 +489,23 @@ static int aspeed_clk_probe(struct platform_device *pdev)
/* UART clock div13 setting */
regmap_read(map, ASPEED_MISC_CTRL, &val);
if (val & UART_DIV13_EN)
@@ -82,8 +82,8 @@ index 5961367..3bbb4fb 100644
/*
* Memory controller (M-PLL) PLL. This clock is configured by the
* bootloader, and is exposed to Linux as a read-only clock rate.
-@@ -534,9 +550,22 @@ static int aspeed_clk_probe(struct platform_device *pdev)
- * Video Engine (ECLK) mux and clock divider
+@@ -570,9 +586,22 @@ static int aspeed_clk_probe(struct platform_device *pdev)
+ * UART[1..5] clock source mux
*/
+ /* Get the uart clock source configuration from SCU4C*/
@@ -105,7 +105,7 @@ index 5961367..3bbb4fb 100644
/* Special case: the USB port 1 clock (bit 14) is always
* working the opposite way from the other ones.
-@@ -544,7 +573,7 @@ static int aspeed_clk_probe(struct platform_device *pdev)
+@@ -580,7 +609,7 @@ static int aspeed_clk_probe(struct platform_device *pdev)
gate_flags = (gd->clock_idx == 14) ? 0 : CLK_GATE_SET_TO_DISABLE;
hw = aspeed_clk_hw_register_gate(dev,
gd->name,
@@ -115,7 +115,7 @@ index 5961367..3bbb4fb 100644
map,
gd->clock_idx,
diff --git a/include/dt-bindings/clock/aspeed-clock.h b/include/dt-bindings/clock/aspeed-clock.h
-index f437386..3358795 100644
+index f43738607d77..335879505a72 100644
--- a/include/dt-bindings/clock/aspeed-clock.h
+++ b/include/dt-bindings/clock/aspeed-clock.h
@@ -39,6 +39,8 @@
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0032-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0032-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch
index e015f2fd9..8c18e87ef 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0032-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0032-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch
@@ -1,4 +1,4 @@
-From 37b192b278d5ea5da62b2fcff4fce7cf372e4fe6 Mon Sep 17 00:00:00 2001
+From 0928704f3b593217662f980221406fcf6db39377 Mon Sep 17 00:00:00 2001
From: Oskar Senft <osk@google.com>
Date: Wed, 8 Aug 2018 10:15:05 -0400
Subject: [PATCH] misc: aspeed: Add Aspeed UART routing control driver.
@@ -102,10 +102,10 @@ index 000000000000..afaf17cb7eda
+$ cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1
+io1 io2 io3 io4 uart2 [uart3] uart4 io6
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-index 8aba46cdce46..d184fdf6dda6 100644
+index 4815104459f1..3094e90c9def 100644
--- a/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-purley.dts
-@@ -227,6 +227,10 @@
+@@ -233,6 +233,10 @@
status = "okay";
};
@@ -117,10 +117,10 @@ index 8aba46cdce46..d184fdf6dda6 100644
status = "okay";
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index adde826ac1d9..5606ac1d96d5 100644
+index 0e7f1d2fa08e..6e0b40eb939f 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -479,6 +479,12 @@
+@@ -493,6 +493,12 @@
status = "disabled";
};
};
@@ -134,12 +134,12 @@ index adde826ac1d9..5606ac1d96d5 100644
peci: bus@1e78b000 {
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 8b1fcf741411..60f203c04b9b 100644
+index b6acddaa9421..78e8fc892209 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
-@@ -560,6 +560,12 @@ config NPCM7XX_PCI_MBOX
- Expose the NPCM750/730/715/705 PCI MBOX registers found on
- Nuvoton SOCs to userspace.
+@@ -481,6 +481,12 @@ config ASPEED_ESPI_SLAVE
+ Control Aspeed ast2500 eSPI slave controller to handle event
+ which needs the firmware's processing.
+config ASPEED_UART_ROUTING
+ tristate "Aspeed ast2500 UART routing control"
@@ -147,21 +147,21 @@ index 8b1fcf741411..60f203c04b9b 100644
+ If you want to configure UART routing on Aspeed BMC platforms, enable
+ this option.
+
- source "drivers/misc/c2port/Kconfig"
- source "drivers/misc/eeprom/Kconfig"
- source "drivers/misc/cb710/Kconfig"
+ config PCI_ENDPOINT_TEST
+ depends on PCI
+ select CRC32
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 89b051f82391..8f70b888a9ca 100644
+index f91f66a15484..7337b8bcd0a3 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
-@@ -56,6 +56,7 @@ obj-$(CONFIG_CXL_BASE) += cxl/
+@@ -55,6 +55,7 @@ obj-$(CONFIG_ECHO) += echo/
+ obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o
+ obj-$(CONFIG_CXL_BASE) += cxl/
obj-$(CONFIG_ASPEED_ESPI_SLAVE) += aspeed-espi-slave.o
- obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
- obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
+obj-$(CONFIG_ASPEED_UART_ROUTING) += aspeed-uart-routing.o
- obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o
- obj-$(CONFIG_ASPEED_LPC_SIO) += aspeed-lpc-sio.o
obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o
+ obj-$(CONFIG_OCXL) += ocxl/
+ obj-y += cardreader/
diff --git a/drivers/misc/aspeed-uart-routing.c b/drivers/misc/aspeed-uart-routing.c
new file mode 100644
index 000000000000..21ef5d98c317
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0034-arm-dts-aspeed-Swap-the-mac-nodes-numbering.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0034-arm-dts-aspeed-Swap-the-mac-nodes-numbering.patch
index b819be69b..7f556de64 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0034-arm-dts-aspeed-Swap-the-mac-nodes-numbering.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0034-arm-dts-aspeed-Swap-the-mac-nodes-numbering.patch
@@ -1,4 +1,4 @@
-From 9c509b9450f641c169ee3aeb60e398c43810dcb2 Mon Sep 17 00:00:00 2001
+From fcea191a6e0eb869c62b5d1ea8a6e914a540fcfb Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 3 Oct 2018 10:17:58 -0700
Subject: [PATCH] arm: dts: aspeed: Swap the mac nodes numbering
@@ -13,7 +13,7 @@ Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index 22eab8a952ed..004bbb08dd4a 100644
+index 3df43f925848..618abeab539b 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
@@ -101,14 +101,6 @@
@@ -47,10 +47,10 @@ index 22eab8a952ed..004bbb08dd4a 100644
compatible = "aspeed,ast2400-ehci", "generic-ehci";
reg = <0x1e6a1000 0x100>;
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 92843cc1a8f4..30a7f349feeb 100644
+index 6e0b40eb939f..b8c85fad2a39 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -142,14 +142,6 @@
+@@ -149,14 +149,6 @@
reg = <0x1e6c2000 0x80>;
};
@@ -65,7 +65,7 @@ index 92843cc1a8f4..30a7f349feeb 100644
mac1: ethernet@1e680000 {
compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
reg = <0x1e680000 0x180>;
-@@ -158,6 +150,14 @@
+@@ -165,6 +157,14 @@
status = "disabled";
};
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0035-Implement-a-memory-driver-share-memory.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0035-Implement-a-memory-driver-share-memory.patch
index bb6465023..798038a8e 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0035-Implement-a-memory-driver-share-memory.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0035-Implement-a-memory-driver-share-memory.patch
@@ -1,4 +1,4 @@
-From dae410353f8681b58907c61eb2eb056513d86f6d Mon Sep 17 00:00:00 2001
+From 5ccf8e3e397edf195aa65e91af6e9ea16ed88882 Mon Sep 17 00:00:00 2001
From: Cheng C Yang <cheng.c.yang@intel.com>
Date: Fri, 9 Nov 2018 10:24:37 +0800
Subject: [PATCH] Implement a memory driver share memory
@@ -10,19 +10,19 @@ memory through this driver.
Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
---
- .../devicetree/bindings/misc/vga-shared-memory.txt | 20 +++
- drivers/misc/Kconfig | 10 ++
- drivers/misc/Makefile | 1 +
- drivers/misc/aspeed-vga-sharedmem.c | 164 +++++++++++++++++++++
- 4 files changed, 195 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/misc/vga-shared-memory.txt
- create mode 100644 drivers/misc/aspeed-vga-sharedmem.c
+ .../bindings/soc/aspeed/aspeed-vga-sharedmem.txt | 20 +++
+ drivers/soc/aspeed/Kconfig | 9 ++
+ drivers/soc/aspeed/Makefile | 1 +
+ drivers/soc/aspeed/aspeed-vga-sharedmem.c | 163 +++++++++++++++++++++
+ 4 files changed, 193 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/soc/aspeed/aspeed-vga-sharedmem.txt
+ create mode 100644 drivers/soc/aspeed/aspeed-vga-sharedmem.c
-diff --git a/Documentation/devicetree/bindings/misc/vga-shared-memory.txt b/Documentation/devicetree/bindings/misc/vga-shared-memory.txt
+diff --git a/Documentation/devicetree/bindings/soc/aspeed/aspeed-vga-sharedmem.txt b/Documentation/devicetree/bindings/soc/aspeed/aspeed-vga-sharedmem.txt
new file mode 100644
index 000000000000..03f57c53e844
--- /dev/null
-+++ b/Documentation/devicetree/bindings/misc/vga-shared-memory.txt
++++ b/Documentation/devicetree/bindings/soc/aspeed/aspeed-vga-sharedmem.txt
@@ -0,0 +1,20 @@
+* Aspeed VGA shared memory driver
+
@@ -44,45 +44,40 @@ index 000000000000..03f57c53e844
+ compatible = "aspeed,ast2500-vga-sharedmem";
+ reg = <0x9ff00000 0x100000>;
+};
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 60f203c04b9b..2d4c6ba87e70 100644
---- a/drivers/misc/Kconfig
-+++ b/drivers/misc/Kconfig
-@@ -566,6 +566,16 @@ config ASPEED_UART_ROUTING
- If you want to configure UART routing on Aspeed BMC platforms, enable
- this option.
+diff --git a/drivers/soc/aspeed/Kconfig b/drivers/soc/aspeed/Kconfig
+index 285c19042c65..59f25d16d6e7 100644
+--- a/drivers/soc/aspeed/Kconfig
++++ b/drivers/soc/aspeed/Kconfig
+@@ -51,4 +51,13 @@ config ASPEED_P2A_CTRL
+ ioctl()s, the driver also provides an interface for userspace mappings to
+ a pre-defined region.
+config ASPEED_VGA_SHAREDMEM
+ tristate "Aspeed VGA Shared memory"
-+ depends on (ARCH_ASPEED || COMPILE_TEST)
++ depends on SOC_ASPEED
+ help
+ To access VGA shared memory on Aspeed BMC, enable this option.
+ This driver used by ManagedDataRegionlV2 specification. In the
-+ specification, BIOS will transfer whole SMBIOS table to VGA
-+ memory, and BMC can get the table from VGA memory through this
-+ driver.
-+
- source "drivers/misc/c2port/Kconfig"
- source "drivers/misc/eeprom/Kconfig"
- source "drivers/misc/cb710/Kconfig"
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 8f70b888a9ca..30ee065491ef 100644
---- a/drivers/misc/Makefile
-+++ b/drivers/misc/Makefile
-@@ -55,6 +55,7 @@ obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpres
- obj-$(CONFIG_CXL_BASE) += cxl/
++ specification, BIOS will transfer whole SMBIOS table to VGA memory,
++ and BMC can get the table from VGA memory through this driver.
++
+ endmenu
+diff --git a/drivers/soc/aspeed/Makefile b/drivers/soc/aspeed/Makefile
+index 2e547cc47e62..ae4ef10914be 100644
+--- a/drivers/soc/aspeed/Makefile
++++ b/drivers/soc/aspeed/Makefile
+@@ -5,3 +5,4 @@ obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o
obj-$(CONFIG_ASPEED_LPC_SIO) += aspeed-lpc-sio.o
- obj-$(CONFIG_ASPEED_ESPI_SLAVE) += aspeed-espi-slave.o
-+obj-$(CONFIG_ASPEED_VGA_SHAREDMEM) += aspeed-vga-sharedmem.o
- obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
- obj-$(CONFIG_ASPEED_UART_ROUTING) += aspeed-uart-routing.o
-diff --git a/drivers/misc/aspeed-vga-sharedmem.c b/drivers/misc/aspeed-vga-sharedmem.c
+ obj-$(CONFIG_ASPEED_P2A_CTRL) += aspeed-p2a-ctrl.o
++obj-$(CONFIG_ASPEED_VGA_SHAREDMEM) += aspeed-vga-sharedmem.o
+\ No newline at end of file
+diff --git a/drivers/soc/aspeed/aspeed-vga-sharedmem.c b/drivers/soc/aspeed/aspeed-vga-sharedmem.c
new file mode 100644
-index 000000000000..76f60cd67d3a
+index 000000000000..cd1f5431378c
--- /dev/null
-+++ b/drivers/misc/aspeed-vga-sharedmem.c
-@@ -0,0 +1,164 @@
++++ b/drivers/soc/aspeed/aspeed-vga-sharedmem.c
+@@ -0,0 +1,163 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2018 Intel Corporation
@@ -112,11 +107,11 @@ index 000000000000..76f60cd67d3a
+
+static int vga_open(struct inode *inode, struct file *file)
+{
++ struct aspeed_vga_sharedmem *vga_sharedmem = file_sharemem(file);
++
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
-+ struct aspeed_vga_sharedmem *vga_sharedmem = file_sharemem(file);
-+
+ if (!vga_sharedmem->mmap_enable)
+ return -EPERM;
+
@@ -193,7 +188,6 @@ index 000000000000..76f60cd67d3a
+{
+ struct aspeed_vga_sharedmem *vga_sharedmem;
+ struct device *dev = &pdev->dev;
-+ u32 reg[2];
+ struct resource *rc;
+
+ vga_sharedmem = devm_kzalloc(dev, sizeof(*vga_sharedmem), GFP_KERNEL);
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0039-Add-Aspeed-PWM-driver-which-uses-FTTMR010-timer-IP.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0039-Add-Aspeed-PWM-driver-which-uses-FTTMR010-timer-IP.patch
index 3e8f86666..c115d23d0 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0039-Add-Aspeed-PWM-driver-which-uses-FTTMR010-timer-IP.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0039-Add-Aspeed-PWM-driver-which-uses-FTTMR010-timer-IP.patch
@@ -1,4 +1,4 @@
-From ef2e1d9d2e8c97daf806f4da74738a84de054116 Mon Sep 17 00:00:00 2001
+From 7ac4709dd92c608ca4c8ff0046a434c8f465a80c Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Mon, 11 Feb 2019 17:02:35 -0800
Subject: [PATCH] Add Aspeed PWM driver which uses FTTMR010 timer IP
@@ -13,15 +13,15 @@ Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
arch/arm/boot/dts/aspeed-g5.dtsi | 2 +-
drivers/pwm/Kconfig | 9 +
drivers/pwm/Makefile | 1 +
- drivers/pwm/pwm-fttmr010.c | 437 +++++++++++++++++++++++++++++++++++++++
- 4 files changed, 448 insertions(+), 1 deletion(-)
+ drivers/pwm/pwm-fttmr010.c | 441 +++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 452 insertions(+), 1 deletion(-)
create mode 100644 drivers/pwm/pwm-fttmr010.c
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 8a7c4257b917..c24197232385 100644
+index b8c85fad2a39..88ac8e08b6ae 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -300,7 +300,7 @@
+@@ -312,7 +312,7 @@
timer: timer@1e782000 {
/* This timer is a Faraday FTTMR010 derivative */
@@ -31,10 +31,10 @@ index 8a7c4257b917..c24197232385 100644
interrupts = <16 17 18 35 36 37 38 39>;
clocks = <&syscon ASPEED_CLK_APB>;
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
-index a8f47df0655a..92a8fbebe2d9 100644
+index dff5a93f7daa..5759439a3947 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
-@@ -170,6 +170,15 @@ config PWM_FSL_FTM
+@@ -171,6 +171,15 @@ config PWM_FSL_FTM
To compile this driver as a module, choose M here: the module
will be called pwm-fsl-ftm.
@@ -51,7 +51,7 @@ index a8f47df0655a..92a8fbebe2d9 100644
tristate "HiSilicon BVT PWM support"
depends on ARCH_HISI || COMPILE_TEST
diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile
-index 9c676a0dadf5..13b7b20ad5ab 100644
+index c368599d36c0..937d212bb02a 100644
--- a/drivers/pwm/Makefile
+++ b/drivers/pwm/Makefile
@@ -15,6 +15,7 @@ obj-$(CONFIG_PWM_CRC) += pwm-crc.o
@@ -61,13 +61,13 @@ index 9c676a0dadf5..13b7b20ad5ab 100644
+obj-$(CONFIG_PWM_FTTMR010) += pwm-fttmr010.o
obj-$(CONFIG_PWM_HIBVT) += pwm-hibvt.o
obj-$(CONFIG_PWM_IMG) += pwm-img.o
- obj-$(CONFIG_PWM_IMX) += pwm-imx.o
+ obj-$(CONFIG_PWM_IMX1) += pwm-imx1.o
diff --git a/drivers/pwm/pwm-fttmr010.c b/drivers/pwm/pwm-fttmr010.c
new file mode 100644
-index 000000000000..32e508c962dc
+index 000000000000..4c929a25e27c
--- /dev/null
+++ b/drivers/pwm/pwm-fttmr010.c
-@@ -0,0 +1,437 @@
+@@ -0,0 +1,441 @@
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (c) 2019 Intel Corporation
+
@@ -192,7 +192,6 @@ index 000000000000..32e508c962dc
+static int pwm_fttmr010_enable(struct pwm_chip *chip, struct pwm_device *pwm)
+{
+ struct pwm_fttmr010 *priv = to_pwm_fttmr010(chip);
-+ ulong flags;
+ u32 cr;
+
+ cr = readl(priv->base + TIMER_CR);
@@ -210,6 +209,8 @@ index 000000000000..32e508c962dc
+ case 8:
+ cr |= (TIMER_8_CR_ASPEED_ENABLE | TIMER_8_CR_ASPEED_PULSE_OUT);
+ break;
++ default:
++ return -ERANGE;
+ }
+
+ writel(cr, priv->base + TIMER_CR);
@@ -221,7 +222,6 @@ index 000000000000..32e508c962dc
+static void pwm_fttmr010_disable(struct pwm_chip *chip, struct pwm_device *pwm)
+{
+ struct pwm_fttmr010 *priv = to_pwm_fttmr010(chip);
-+ ulong flags;
+ u32 cr;
+
+ cr = readl(priv->base + TIMER_CR);
@@ -239,6 +239,8 @@ index 000000000000..32e508c962dc
+ case 8:
+ cr &= ~(TIMER_8_CR_ASPEED_ENABLE | TIMER_8_CR_ASPEED_PULSE_OUT);
+ break;
++ default:
++ return;
+ }
+
+ writel(cr, priv->base + TIMER_CR);
@@ -309,6 +311,8 @@ index 000000000000..32e508c962dc
+ lreg_offset = TIMER8_ASPEED_LOAD;
+ mreg_offset = TIMER8_ASPEED_MATCH1;
+ break;
++ default:
++ return -ERANGE;
+ }
+
+ writel(tload, priv->base + creg_offset);
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0040-i2c-Add-mux-hold-unhold-msg-types.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0040-i2c-Add-mux-hold-unhold-msg-types.patch
index 1b86e9c04..b2057d247 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0040-i2c-Add-mux-hold-unhold-msg-types.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0040-i2c-Add-mux-hold-unhold-msg-types.patch
@@ -1,4 +1,4 @@
-From 80ea6461d77e5b415d9f83fa2f4708fc21eab09b Mon Sep 17 00:00:00 2001
+From ed13e7eb07e6cb8bdc1eb4563de30b469a9beb26 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Fri, 15 Feb 2019 16:05:09 -0800
Subject: [PATCH] i2c: Add mux hold/unhold msg types
@@ -39,19 +39,19 @@ in downstream only.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- drivers/i2c/i2c-core-base.c | 99 ++++++++++++++++++++++++++++++++++-----
- drivers/i2c/i2c-core-smbus.c | 17 ++++++-
+ drivers/i2c/i2c-core-base.c | 70 +++++++++++++++++++++++++--
+ drivers/i2c/i2c-core-smbus.c | 22 +++++++--
drivers/i2c/i2c-mux.c | 109 +++++++++++++++++++++++++++++++++++++++----
include/linux/i2c-mux.h | 3 ++
include/linux/i2c.h | 25 ++++++++++
include/uapi/linux/i2c.h | 1 +
- 6 files changed, 233 insertions(+), 21 deletions(-)
+ 6 files changed, 214 insertions(+), 16 deletions(-)
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
-index 28460f6a60cc..009b0507768e 100644
+index 9e43508d4567..8a480d269542 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
-@@ -1210,6 +1210,25 @@ int i2c_handle_smbus_host_notify(struct i2c_adapter *adap, unsigned short addr)
+@@ -1299,6 +1299,25 @@ int i2c_handle_smbus_host_notify(struct i2c_adapter *adap, unsigned short addr)
}
EXPORT_SYMBOL_GPL(i2c_handle_smbus_host_notify);
@@ -77,7 +77,7 @@ index 28460f6a60cc..009b0507768e 100644
static int i2c_register_adapter(struct i2c_adapter *adap)
{
int res = -EINVAL;
-@@ -1291,6 +1310,9 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
+@@ -1381,6 +1400,9 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
bus_for_each_drv(&i2c_bus_type, NULL, adap, __process_new_adapter);
mutex_unlock(&core_lock);
@@ -87,7 +87,7 @@ index 28460f6a60cc..009b0507768e 100644
return 0;
out_reg:
-@@ -1511,6 +1533,8 @@ void i2c_del_adapter(struct i2c_adapter *adap)
+@@ -1601,6 +1623,8 @@ void i2c_del_adapter(struct i2c_adapter *adap)
idr_remove(&i2c_adapter_idr, adap->nr);
mutex_unlock(&core_lock);
@@ -96,7 +96,7 @@ index 28460f6a60cc..009b0507768e 100644
/* Clear the device structure in case this adapter is ever going to be
added again */
memset(&adap->dev, 0, sizeof(adap->dev));
-@@ -1860,7 +1884,9 @@ static int i2c_check_for_quirks(struct i2c_adapter *adap, struct i2c_msg *msgs,
+@@ -1950,7 +1974,9 @@ static int i2c_check_for_quirks(struct i2c_adapter *adap, struct i2c_msg *msgs,
*/
int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
{
@@ -106,7 +106,7 @@ index 28460f6a60cc..009b0507768e 100644
int ret, try;
if (WARN_ON(!msgs || num < 1))
-@@ -1869,6 +1895,25 @@ int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
+@@ -1963,6 +1989,25 @@ int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
if (adap->quirks && i2c_check_for_quirks(adap, msgs, num))
return -EOPNOTSUPP;
@@ -132,7 +132,7 @@ index 28460f6a60cc..009b0507768e 100644
/*
* i2c_trace_msg_key gets enabled when tracepoint i2c_transfer gets
* enabled. This is an efficient way of keeping the for-loop from
-@@ -1901,6 +1946,9 @@ int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
+@@ -1999,6 +2044,9 @@ int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
trace_i2c_result(adap, num, ret);
}
@@ -142,7 +142,7 @@ index 28460f6a60cc..009b0507768e 100644
return ret;
}
EXPORT_SYMBOL(__i2c_transfer);
-@@ -1919,6 +1967,7 @@ EXPORT_SYMBOL(__i2c_transfer);
+@@ -2017,6 +2065,7 @@ EXPORT_SYMBOL(__i2c_transfer);
*/
int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
{
@@ -150,77 +150,50 @@ index 28460f6a60cc..009b0507768e 100644
int ret;
if (!adap->algo->master_xfer) {
-@@ -1942,19 +1991,47 @@ int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
+@@ -2040,12 +2089,25 @@ int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
* one (discarding status on the second message) or errno
* (discarding status on the first one).
*/
-- if (in_atomic() || irqs_disabled()) {
-- ret = i2c_trylock_bus(adap, I2C_LOCK_SEGMENT);
-- if (!ret)
-- /* I2C activity is ongoing. */
-- return -EAGAIN;
-- } else {
-- i2c_lock_bus(adap, I2C_LOCK_SEGMENT);
-- }
-
-- ret = __i2c_transfer(adap, msgs, num);
-- i2c_unlock_bus(adap, I2C_LOCK_SEGMENT);
-+ if (adap->algo->master_xfer) {
-+#ifdef DEBUG
-+ for (ret = 0; ret < num; ret++) {
-+ dev_dbg(&adap->dev,
-+ "master_xfer[%d] %c, addr=0x%02x, len=%d%s\n",
-+ ret, (msgs[ret].flags & I2C_M_RD) ? 'R' : 'W',
-+ msgs[ret].addr, msgs[ret].len,
-+ (msgs[ret].flags & I2C_M_RECV_LEN) ? "+" : "");
-+ }
-+#endif
-+ /*
-+ * Do not lock a bus for delivering an unhold msg to a mux
-+ * adpater. This is just for a single length unhold msg case.
-+ */
-+ if (num == 1 && i2c_parent_is_i2c_adapter(adap) &&
-+ i2c_check_hold_msg(msgs[0].flags, msgs[0].len,
-+ (u16 *)msgs[0].buf) ==
-+ I2C_HOLD_MSG_RESET)
-+ do_bus_lock = false;
-+
-+ if (do_bus_lock) {
-+ if (in_atomic() || irqs_disabled()) {
-+ ret = i2c_trylock_bus(adap, I2C_LOCK_SEGMENT);
-+ if (!ret)
-+ /* I2C activity is ongoing. */
-+ return -EAGAIN;
-+ } else {
-+ i2c_lock_bus(adap, I2C_LOCK_SEGMENT);
-+ }
-+ }
-
-- return ret;
-+ ret = __i2c_transfer(adap, msgs, num);
-+ if (do_bus_lock)
-+ i2c_unlock_bus(adap, I2C_LOCK_SEGMENT);
+- ret = __i2c_lock_bus_helper(adap);
+- if (ret)
+- return ret;
++ /*
++ * Do not lock a bus for delivering an unhold msg to a mux
++ * adpater. This is just for a single length unhold msg case.
++ */
++ if (num == 1 && i2c_parent_is_i2c_adapter(adap) &&
++ i2c_check_hold_msg(msgs[0].flags, msgs[0].len,
++ (u16 *)msgs[0].buf) ==
++ I2C_HOLD_MSG_RESET)
++ do_bus_lock = false;
+
-+ return ret;
-+ } else {
-+ dev_dbg(&adap->dev, "I2C level transfers not supported\n");
-+ return -EOPNOTSUPP;
++ if (do_bus_lock) {
++ ret = __i2c_lock_bus_helper(adap);
++ if (ret)
++ return ret;
+ }
- }
- EXPORT_SYMBOL(i2c_transfer);
+ ret = __i2c_transfer(adap, msgs, num);
+- i2c_unlock_bus(adap, I2C_LOCK_SEGMENT);
++ if (do_bus_lock)
++ i2c_unlock_bus(adap, I2C_LOCK_SEGMENT);
+
+ return ret;
+ }
diff --git a/drivers/i2c/i2c-core-smbus.c b/drivers/i2c/i2c-core-smbus.c
-index 9cd66cabb84f..64c58911bf21 100644
+index 3ac426a8ab5a..f7bf95101e34 100644
--- a/drivers/i2c/i2c-core-smbus.c
+++ b/drivers/i2c/i2c-core-smbus.c
-@@ -528,12 +528,25 @@ s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
+@@ -526,15 +526,29 @@ s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
unsigned short flags, char read_write,
u8 command, int protocol, union i2c_smbus_data *data)
{
+ bool do_bus_lock = true;
s32 res;
-- i2c_lock_bus(adapter, I2C_LOCK_SEGMENT);
+- res = __i2c_lock_bus_helper(adapter);
+- if (res)
+- return res;
+ /*
+ * Do not lock a bus for delivering an unhold msg to a mux adpater.
+ * This is just for a single length unhold msg case.
@@ -231,8 +204,12 @@ index 9cd66cabb84f..64c58911bf21 100644
+ &data->word) == I2C_HOLD_MSG_RESET)
+ do_bus_lock = false;
+
-+ if (do_bus_lock)
-+ i2c_lock_bus(adapter, I2C_LOCK_SEGMENT);
++ if (do_bus_lock) {
++ res = __i2c_lock_bus_helper(adapter);
++ if (res)
++ return res;
++ }
+
res = __i2c_smbus_xfer(adapter, addr, flags, read_write,
command, protocol, data);
- i2c_unlock_bus(adapter, I2C_LOCK_SEGMENT);
@@ -242,7 +219,7 @@ index 9cd66cabb84f..64c58911bf21 100644
return res;
}
diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c
-index f330690b4125..4d8909a0f90a 100644
+index 603252fa1284..d3f55243e701 100644
--- a/drivers/i2c/i2c-mux.c
+++ b/drivers/i2c/i2c-mux.c
@@ -26,6 +26,7 @@
@@ -430,7 +407,7 @@ index f330690b4125..4d8909a0f90a 100644
return muxc;
}
EXPORT_SYMBOL_GPL(i2c_mux_alloc);
-@@ -435,6 +526,8 @@ void i2c_mux_del_adapters(struct i2c_mux_core *muxc)
+@@ -441,6 +532,8 @@ void i2c_mux_del_adapters(struct i2c_mux_core *muxc)
{
char symlink_name[20];
@@ -440,10 +417,10 @@ index f330690b4125..4d8909a0f90a 100644
struct i2c_adapter *adap = muxc->adapter[--muxc->num_adapters];
struct i2c_mux_priv *priv = adap->algo_data;
diff --git a/include/linux/i2c-mux.h b/include/linux/i2c-mux.h
-index bd74d5706f3b..bc6f778eaf9d 100644
+index c5a977320f82..47f8763d6ed2 100644
--- a/include/linux/i2c-mux.h
+++ b/include/linux/i2c-mux.h
-@@ -41,6 +41,9 @@ struct i2c_mux_core {
+@@ -27,6 +27,9 @@ struct i2c_mux_core {
int (*select)(struct i2c_mux_core *, u32 chan_id);
int (*deselect)(struct i2c_mux_core *, u32 chan_id);
@@ -454,10 +431,10 @@ index bd74d5706f3b..bc6f778eaf9d 100644
int max_adapters;
struct i2c_adapter *adapter[0];
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
-index 65b4eaed1d96..eadde70c0d4a 100644
+index 1308126fc384..3ee92c6a442d 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
-@@ -692,6 +692,13 @@ struct i2c_adapter {
+@@ -699,6 +699,13 @@ struct i2c_adapter {
const struct i2c_adapter_quirks *quirks;
struct irq_domain *host_notify_domain;
@@ -471,7 +448,7 @@ index 65b4eaed1d96..eadde70c0d4a 100644
};
#define to_i2c_adapter(d) container_of(d, struct i2c_adapter, dev)
-@@ -949,4 +956,22 @@ static inline struct i2c_client *i2c_acpi_new_device(struct device *dev,
+@@ -998,4 +1005,22 @@ static inline struct i2c_client *i2c_acpi_new_device(struct device *dev,
}
#endif /* CONFIG_ACPI */
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0041-Enable-passthrough-based-gpio-character-device.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0041-Enable-passthrough-based-gpio-character-device.patch
deleted file mode 100644
index 7a4b090ec..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0041-Enable-passthrough-based-gpio-character-device.patch
+++ /dev/null
@@ -1,287 +0,0 @@
-From 554bc7a7c7aa6e0c0ec49a24063102e17954d06c Mon Sep 17 00:00:00 2001
-From: Kuiying Wang <kuiying.wang@intel.com>
-Date: Thu, 31 Jan 2019 17:47:39 +0800
-Subject: [PATCH] Enable passthrough based gpio character device.
-
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
----
- drivers/gpio/gpio-aspeed.c | 47 ++++++++++++++++++++++++++++--
- drivers/gpio/gpiolib.c | 51 +++++++++++++++++++++++++++++++--
- drivers/gpio/gpiolib.h | 1 +
- include/linux/gpio/consumer.h | 9 ++++++
- include/linux/pinctrl/pinconf-generic.h | 2 ++
- include/uapi/linux/gpio.h | 1 +
- 6 files changed, 106 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
-index 854bce4fb9e7..5f1bce3a9274 100644
---- a/drivers/gpio/gpio-aspeed.c
-+++ b/drivers/gpio/gpio-aspeed.c
-@@ -17,9 +17,11 @@
- #include <linux/init.h>
- #include <linux/io.h>
- #include <linux/kernel.h>
-+#include <linux/mfd/syscon.h>
- #include <linux/module.h>
- #include <linux/pinctrl/consumer.h>
- #include <linux/platform_device.h>
-+#include <linux/regmap.h>
- #include <linux/spinlock.h>
- #include <linux/string.h>
-
-@@ -58,6 +60,7 @@ struct aspeed_gpio {
- struct gpio_chip chip;
- spinlock_t lock;
- void __iomem *base;
-+ struct regmap *scu;
- int irq;
- const struct aspeed_gpio_config *config;
-
-@@ -91,6 +94,13 @@ struct aspeed_gpio_bank {
- * and thus can be used to read back what was last written
- * reliably.
- */
-+#define SCU8C 0x8C /* Multi-function Pin Control #4 */
-+#define PASS_THROUGH1 32
-+#define PASS_THROUGH2 34
-+#define PASS_THROUGH2_MASK 0x2000
-+#define PASS_THROUGH1_MASK 0x1000
-+#define PASS_THROUGH2_ON 0x2000
-+#define PASS_THROUGH1_ON 0x1000
-
- static const int debounce_timers[4] = { 0x00, 0x50, 0x54, 0x58 };
-
-@@ -988,12 +998,38 @@ static int set_debounce(struct gpio_chip *chip, unsigned int offset,
- return disable_debounce(chip, offset);
- }
-
-+static int aspeed_gpio_pass_through(struct gpio_chip *chip, unsigned int offset,
-+ unsigned long param)
-+{
-+ struct aspeed_gpio *gpio = gpiochip_get_data(chip);
-+ u32 value;
-+
-+ if (!gpio->scu)
-+ return -ENOTSUPP;
-+ if (param == PIN_CONFIG_PASS_THROUGH_ENABLE){
-+ if (offset == PASS_THROUGH2){
-+ regmap_update_bits(gpio->scu, SCU8C, PASS_THROUGH2_MASK, PASS_THROUGH2_ON);
-+ } else if (offset == PASS_THROUGH1){
-+ regmap_update_bits(gpio->scu, SCU8C, PASS_THROUGH1_MASK, PASS_THROUGH1_ON);
-+ }
-+ } else if (param == PIN_CONFIG_PASS_THROUGH_DISABLE){
-+ if (offset == PASS_THROUGH2){
-+ regmap_update_bits(gpio->scu, SCU8C, PASS_THROUGH2_MASK, ~(PASS_THROUGH2_ON));
-+ } else if (offset == PASS_THROUGH1){
-+ regmap_update_bits(gpio->scu, SCU8C, PASS_THROUGH1_MASK, ~(PASS_THROUGH1_ON));
-+ }
-+ } else {
-+ return -ENOTSUPP;
-+ }
-+
-+ return 0;
-+}
-+
- static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
- unsigned long config)
- {
- unsigned long param = pinconf_to_config_param(config);
- u32 arg = pinconf_to_config_argument(config);
--
- if (param == PIN_CONFIG_INPUT_DEBOUNCE)
- return set_debounce(chip, offset, arg);
- else if (param == PIN_CONFIG_BIAS_DISABLE ||
-@@ -1006,6 +1042,9 @@ static int aspeed_gpio_set_config(struct gpio_chip *chip, unsigned int offset,
- return -ENOTSUPP;
- else if (param == PIN_CONFIG_PERSIST_STATE)
- return aspeed_gpio_reset_tolerance(chip, offset, arg);
-+ else if (param == PIN_CONFIG_PASS_THROUGH_ENABLE ||
-+ param == PIN_CONFIG_PASS_THROUGH_DISABLE)
-+ return aspeed_gpio_pass_through(chip, offset, param);
-
- return -ENOTSUPP;
- }
-@@ -1167,7 +1206,11 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
- gpio->base = devm_ioremap_resource(&pdev->dev, res);
- if (IS_ERR(gpio->base))
- return PTR_ERR(gpio->base);
--
-+ gpio->scu = syscon_regmap_lookup_by_compatible("aspeed,ast2500-scu");
-+ if (IS_ERR(gpio->scu)) {
-+ dev_err(&pdev->dev, "Failed to find SCU regmap\n");
-+ gpio->scu = NULL;
-+ }
- spin_lock_init(&gpio->lock);
-
- gpio_id = of_match_node(aspeed_gpio_of_table, pdev->dev.of_node);
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index d1adfdf50fb3..4f9fdd25c6d7 100644
---- a/drivers/gpio/gpiolib.c
-+++ b/drivers/gpio/gpiolib.c
-@@ -428,6 +428,7 @@ struct linehandle_state {
- GPIOHANDLE_REQUEST_OUTPUT | \
- GPIOHANDLE_REQUEST_ACTIVE_LOW | \
- GPIOHANDLE_REQUEST_OPEN_DRAIN | \
-+ GPIOHANDLE_REQUEST_PASS_THROUGH | \
- GPIOHANDLE_REQUEST_OPEN_SOURCE)
-
- static long linehandle_ioctl(struct file *filep, unsigned int cmd,
-@@ -530,7 +531,6 @@ static int linehandle_create(struct gpio_device *gdev, void __user *ip)
- return -EINVAL;
-
- lflags = handlereq.flags;
--
- /* Return an error if an unknown flag is set */
- if (lflags & ~GPIOHANDLE_REQUEST_VALID_FLAGS)
- return -EINVAL;
-@@ -590,6 +590,8 @@ static int linehandle_create(struct gpio_device *gdev, void __user *ip)
- set_bit(FLAG_OPEN_DRAIN, &desc->flags);
- if (lflags & GPIOHANDLE_REQUEST_OPEN_SOURCE)
- set_bit(FLAG_OPEN_SOURCE, &desc->flags);
-+ if (lflags & GPIOHANDLE_REQUEST_PASS_THROUGH)
-+ set_bit(FLAG_PASS_THROUGH, &desc->flags);
-
- ret = gpiod_set_transitory(desc, false);
- if (ret < 0)
-@@ -609,6 +611,11 @@ static int linehandle_create(struct gpio_device *gdev, void __user *ip)
- ret = gpiod_direction_input(desc);
- if (ret)
- goto out_free_descs;
-+ } else if (lflags & GPIOHANDLE_REQUEST_PASS_THROUGH) {
-+ int val = !!handlereq.default_values[i];
-+ ret = gpiod_direction_pass_through(desc, val);
-+ if (ret)
-+ goto out_free_descs;
- }
- dev_dbg(&gdev->dev, "registered chardev handle for line %d\n",
- offset);
-@@ -1027,7 +1034,6 @@ static long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
- struct gpio_device *gdev = filp->private_data;
- struct gpio_chip *chip = gdev->chip;
- void __user *ip = (void __user *)arg;
--
- /* We fail any subsequent ioctl():s when the chip is gone */
- if (!chip)
- return -ENODEV;
-@@ -1035,7 +1041,6 @@ static long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
- /* Fill in the struct and pass to userspace */
- if (cmd == GPIO_GET_CHIPINFO_IOCTL) {
- struct gpiochip_info chipinfo;
--
- memset(&chipinfo, 0, sizeof(chipinfo));
-
- strncpy(chipinfo.name, dev_name(&gdev->dev),
-@@ -2709,6 +2714,46 @@ int gpiod_direction_output(struct gpio_desc *desc, int value)
- EXPORT_SYMBOL_GPL(gpiod_direction_output);
-
- /**
-+ * gpiod_direction_pass_through - set the GPIO direction to pass-through
-+ * @desc: GPIO to set to pass-through
-+ *
-+ * Set the direction of the passed GPIO to passthrough.
-+ *
-+ * Return 0 in case of success, else an error code.
-+ */
-+int gpiod_direction_pass_through(struct gpio_desc *desc, int val)
-+{
-+ struct gpio_chip *gc;
-+
-+ VALIDATE_DESC(desc);
-+ /* GPIOs used for IRQs shall not be set as pass-through */
-+ if (test_bit(FLAG_USED_AS_IRQ, &desc->flags)) {
-+ gpiod_err(desc,
-+ "%s: tried to set a GPIO tied to an IRQ as pass-through\n",
-+ __func__);
-+ return -EIO;
-+ }
-+ gc = desc->gdev->chip;
-+ val = !!val;
-+ if (test_bit(FLAG_PASS_THROUGH, &desc->flags)) {
-+ if (val)
-+ gpio_set_config(gc, gpio_chip_hwgpio(desc),
-+ PIN_CONFIG_PASS_THROUGH_ENABLE);
-+ else
-+ gpio_set_config(gc, gpio_chip_hwgpio(desc),
-+ PIN_CONFIG_PASS_THROUGH_DISABLE);
-+ } else {
-+ gpiod_err(desc,
-+ "%s: desc->flags is not set to FLAG_PASS_THROUGH\n",
-+ __func__);
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(gpiod_direction_pass_through);
-+
-+/**
- * gpiod_set_debounce - sets @debounce time for a GPIO
- * @desc: descriptor of the GPIO for which to set debounce time
- * @debounce: debounce time in microseconds
-diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h
-index bc57f0dc5953..a821a04fc04b 100644
---- a/drivers/gpio/gpiolib.h
-+++ b/drivers/gpio/gpiolib.h
-@@ -212,6 +212,7 @@ struct gpio_desc {
- #define FLAG_IS_OUT 1
- #define FLAG_EXPORT 2 /* protected by sysfs_lock */
- #define FLAG_SYSFS 3 /* exported via /sys/class/gpio/control */
-+#define FLAG_PASS_THROUGH 4 /*Gpio is passthrough type*/
- #define FLAG_ACTIVE_LOW 6 /* value has active low */
- #define FLAG_OPEN_DRAIN 7 /* Gpio is open drain type */
- #define FLAG_OPEN_SOURCE 8 /* Gpio is open source type */
-diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
-index 9ddcf50a3c59..f9775be5a46a 100644
---- a/include/linux/gpio/consumer.h
-+++ b/include/linux/gpio/consumer.h
-@@ -110,6 +110,7 @@ void devm_gpiod_put_array(struct device *dev, struct gpio_descs *descs);
- int gpiod_get_direction(struct gpio_desc *desc);
- int gpiod_direction_input(struct gpio_desc *desc);
- int gpiod_direction_output(struct gpio_desc *desc, int value);
-+int gpiod_direction_pass_through(struct gpio_desc *desc, int val);
- int gpiod_direction_output_raw(struct gpio_desc *desc, int value);
-
- /* Value get/set from non-sleeping context */
-@@ -348,6 +349,14 @@ static inline int gpiod_direction_output(struct gpio_desc *desc, int value)
- WARN_ON(1);
- return -ENOSYS;
- }
-+
-+static inline int gpiod_direction_pass_through(struct gpio_desc *desc, int val)
-+{
-+ /* GPIO can never have been requested */
-+ WARN_ON(1);
-+ return -ENOSYS;
-+}
-+
- static inline int gpiod_direction_output_raw(struct gpio_desc *desc, int value)
- {
- /* GPIO can never have been requested */
-diff --git a/include/linux/pinctrl/pinconf-generic.h b/include/linux/pinctrl/pinconf-generic.h
-index 6c0680641108..59f0cbabb685 100644
---- a/include/linux/pinctrl/pinconf-generic.h
-+++ b/include/linux/pinctrl/pinconf-generic.h
-@@ -124,6 +124,8 @@ enum pin_config_param {
- PIN_CONFIG_SLEW_RATE,
- PIN_CONFIG_SKEW_DELAY,
- PIN_CONFIG_PERSIST_STATE,
-+ PIN_CONFIG_PASS_THROUGH_ENABLE,
-+ PIN_CONFIG_PASS_THROUGH_DISABLE,
- PIN_CONFIG_END = 0x7F,
- PIN_CONFIG_MAX = 0xFF,
- };
-diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
-index 4ebfe0ac6c5b..99864572b7d9 100644
---- a/include/uapi/linux/gpio.h
-+++ b/include/uapi/linux/gpio.h
-@@ -62,6 +62,7 @@ struct gpioline_info {
- #define GPIOHANDLE_REQUEST_ACTIVE_LOW (1UL << 2)
- #define GPIOHANDLE_REQUEST_OPEN_DRAIN (1UL << 3)
- #define GPIOHANDLE_REQUEST_OPEN_SOURCE (1UL << 4)
-+#define GPIOHANDLE_REQUEST_PASS_THROUGH (1UL << 5)
-
- /**
- * struct gpiohandle_request - Information about a GPIO handle request
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0042-Add-bus-timeout-ms-and-retries-device-tree-propertie.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0042-Add-bus-timeout-ms-and-retries-device-tree-propertie.patch
index 3588d62d9..25f494652 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0042-Add-bus-timeout-ms-and-retries-device-tree-propertie.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0042-Add-bus-timeout-ms-and-retries-device-tree-propertie.patch
@@ -1,4 +1,4 @@
-From 6515a2134f90f33dbbea8ede5de598d17bb00c12 Mon Sep 17 00:00:00 2001
+From c55d6bb49cfbd39a7c0848076c84166def65936e Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Thu, 7 Mar 2019 15:17:40 -0800
Subject: [PATCH] Add bus-timeout-ms and #retries device tree properties
@@ -59,10 +59,10 @@ index 44efafdfd7f5..e382931cf3d6 100644
used by the device. I2C core will assign "irq" interrupt (or the very first
interrupt if not using interrupt names) as primary interrupt for the slave.
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index 506d867b43d9..84237c5d0aca 100644
+index 434b753def3b..99bd30953531 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -1012,7 +1012,6 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+@@ -1014,7 +1014,6 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
spin_lock_init(&bus->lock);
init_completion(&bus->cmd_complete);
bus->adap.owner = THIS_MODULE;
@@ -71,10 +71,10 @@ index 506d867b43d9..84237c5d0aca 100644
bus->adap.dev.parent = &pdev->dev;
bus->adap.dev.of_node = pdev->dev.of_node;
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
-index 009b0507768e..386aa2dad908 100644
+index 8a480d269542..69b798a2d31e 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
-@@ -1231,6 +1231,7 @@ static void i2c_adapter_hold_timer_callback(struct timer_list *t)
+@@ -1320,6 +1320,7 @@ static void i2c_adapter_hold_timer_callback(struct timer_list *t)
static int i2c_register_adapter(struct i2c_adapter *adap)
{
@@ -82,7 +82,7 @@ index 009b0507768e..386aa2dad908 100644
int res = -EINVAL;
/* Can't register until after driver model init */
-@@ -1257,8 +1258,15 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
+@@ -1347,8 +1348,15 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
INIT_LIST_HEAD(&adap->userspace_clients);
/* Set default timeout to 1 second if not already set */
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0043-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-BT.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0043-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-BT.patch
index f04824c0e..035945cf3 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0043-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-BT.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0043-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-BT.patch
@@ -1,4 +1,4 @@
-From d82aacea62f2cc3f5c4f6654bd8920255edf24fd Mon Sep 17 00:00:00 2001
+From c4e7b89ee20dc28e10fae7eb0859e4fa9d3e8643 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 13 Mar 2019 15:04:16 -0700
Subject: [PATCH] char: ipmi: Add clock control logic into Aspeed LPC BT driver
@@ -42,29 +42,29 @@ index 028268fd99ee..d13887d60f19 100644
+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
};
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index 6e6f50a0fbab..3a7e31f3de07 100644
+index 618abeab539b..c2388bb7c678 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -333,6 +333,7 @@
+@@ -337,6 +337,7 @@
ibt: ibt@c0 {
compatible = "aspeed,ast2400-ibt-bmc";
reg = <0xc0 0x18>;
+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
interrupts = <8>;
+ status = "disabled";
};
-
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 4cd4a8258e42..a6720bc952b0 100644
+index 88ac8e08b6ae..88b318fd287b 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -468,6 +468,7 @@
+@@ -470,6 +470,7 @@
ibt: ibt@c0 {
compatible = "aspeed,ast2500-ibt-bmc";
reg = <0xc0 0x18>;
+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
interrupts = <8>;
+ status = "disabled";
};
-
diff --git a/drivers/char/ipmi/bt-bmc.c b/drivers/char/ipmi/bt-bmc.c
index 40b9927c072c..a4ec9d1743d7 100644
--- a/drivers/char/ipmi/bt-bmc.c
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0044-misc-Add-clock-control-logic-into-Aspeed-LPC-SNOOP-d.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0044-misc-Add-clock-control-logic-into-Aspeed-LPC-SNOOP-d.patch
index 0559ef5be..c335fb3ec 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0044-misc-Add-clock-control-logic-into-Aspeed-LPC-SNOOP-d.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0044-misc-Add-clock-control-logic-into-Aspeed-LPC-SNOOP-d.patch
@@ -1,4 +1,4 @@
-From 1ebca05f5cb04162e124e59cac701291f23d9091 Mon Sep 17 00:00:00 2001
+From a5bbf0f5943d3a6be6e58a4b78d6d18694ceb859 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 13 Mar 2019 15:27:48 -0700
Subject: [PATCH] misc: Add clock control logic into Aspeed LPC SNOOP driver
@@ -16,16 +16,16 @@ SNOOP driver.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
- arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
- drivers/misc/aspeed-lpc-snoop.c | 30 +++++++++++++++++++++++++++---
+ arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
+ arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
+ drivers/soc/aspeed/aspeed-lpc-snoop.c | 30 +++++++++++++++++++++++++++---
3 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index 3a7e31f3de07..bedfb77c0158 100644
+index c2388bb7c678..70aca75d65e0 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -316,6 +316,7 @@
+@@ -320,6 +320,7 @@
compatible = "aspeed,ast2400-lpc-snoop";
reg = <0x0 0x80>;
interrupts = <8>;
@@ -34,10 +34,10 @@ index 3a7e31f3de07..bedfb77c0158 100644
};
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index a6720bc952b0..a26e8b3c09bf 100644
+index 88b318fd287b..f4a5d06f1000 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -451,6 +451,7 @@
+@@ -453,6 +453,7 @@
compatible = "aspeed,ast2500-lpc-snoop";
reg = <0x0 0x80>;
interrupts = <8>;
@@ -45,11 +45,11 @@ index a6720bc952b0..a26e8b3c09bf 100644
status = "disabled";
};
-diff --git a/drivers/misc/aspeed-lpc-snoop.c b/drivers/misc/aspeed-lpc-snoop.c
-index 2feb4347d67f..39a0471f0b8f 100644
---- a/drivers/misc/aspeed-lpc-snoop.c
-+++ b/drivers/misc/aspeed-lpc-snoop.c
-@@ -15,6 +15,7 @@
+diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c b/drivers/soc/aspeed/aspeed-lpc-snoop.c
+index 48f7ac238861..96ea52db25be 100644
+--- a/drivers/soc/aspeed/aspeed-lpc-snoop.c
++++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c
+@@ -11,6 +11,7 @@
*/
#include <linux/bitops.h>
@@ -57,7 +57,7 @@ index 2feb4347d67f..39a0471f0b8f 100644
#include <linux/interrupt.h>
#include <linux/fs.h>
#include <linux/kfifo.h>
-@@ -71,6 +72,7 @@ struct aspeed_lpc_snoop_channel {
+@@ -67,6 +68,7 @@ struct aspeed_lpc_snoop_channel {
struct aspeed_lpc_snoop {
struct regmap *regmap;
int irq;
@@ -65,7 +65,7 @@ index 2feb4347d67f..39a0471f0b8f 100644
struct aspeed_lpc_snoop_channel chan[NUM_SNOOP_CHANNELS];
};
-@@ -286,22 +288,42 @@ static int aspeed_lpc_snoop_probe(struct platform_device *pdev)
+@@ -282,22 +284,42 @@ static int aspeed_lpc_snoop_probe(struct platform_device *pdev)
return -ENODEV;
}
@@ -111,7 +111,7 @@ index 2feb4347d67f..39a0471f0b8f 100644
return rc;
}
-@@ -313,6 +335,8 @@ static int aspeed_lpc_snoop_remove(struct platform_device *pdev)
+@@ -309,6 +331,8 @@ static int aspeed_lpc_snoop_remove(struct platform_device *pdev)
aspeed_lpc_disable_snoop(lpc_snoop, 0);
aspeed_lpc_disable_snoop(lpc_snoop, 1);
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0045-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-KC.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0045-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-KC.patch
index d9b6d05f9..499662ac3 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0045-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-KC.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0045-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-KC.patch
@@ -1,4 +1,4 @@
-From 1326920183042bb91583eb56dabd29ec921f8f65 Mon Sep 17 00:00:00 2001
+From 27675470115548612cee9153903aaffffb68177b Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 13 Mar 2019 15:36:34 -0700
Subject: [PATCH] char: ipmi: Add clock control logic into Aspeed LPC KCS
@@ -45,10 +45,10 @@ index d98a9bf45d6c..3453eb0bf8f2 100644
kcs_addr = <0xCA2>;
status = "okay";
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index bedfb77c0158..a5072ed1f823 100644
+index 1c00828da913..f04006f4cd27 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -294,6 +294,33 @@
+@@ -298,6 +298,33 @@
lpc_bmc: lpc-bmc@0 {
compatible = "aspeed,ast2400-lpc-bmc";
reg = <0x0 0x80>;
@@ -82,7 +82,7 @@ index bedfb77c0158..a5072ed1f823 100644
};
lpc_host: lpc-host@80 {
-@@ -305,6 +332,14 @@
+@@ -309,6 +336,14 @@
#size-cells = <1>;
ranges = <0x0 0x80 0x1e0>;
@@ -98,10 +98,10 @@ index bedfb77c0158..a5072ed1f823 100644
compatible = "aspeed,ast2400-lpc-ctrl";
reg = <0x0 0x80>;
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index a26e8b3c09bf..6a2f161e7548 100644
+index f2292bdfef91..d46b9ffc79de 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -128,7 +128,7 @@
+@@ -135,7 +135,7 @@
};
vic: interrupt-controller@1e6c0080 {
@@ -110,7 +110,7 @@ index a26e8b3c09bf..6a2f161e7548 100644
interrupt-controller;
#interrupt-cells = <1>;
valid-sources = <0xfefff7ff 0x0807ffff>;
-@@ -408,18 +408,21 @@
+@@ -410,18 +410,21 @@
compatible = "aspeed,ast2500-kcs-bmc";
interrupts = <8>;
kcs_chan = <1>;
@@ -132,7 +132,7 @@ index a26e8b3c09bf..6a2f161e7548 100644
status = "disabled";
};
};
-@@ -437,6 +440,7 @@
+@@ -439,6 +442,7 @@
compatible = "aspeed,ast2500-kcs-bmc";
interrupts = <8>;
kcs_chan = <4>;
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0046-misc-Add-clock-control-logic-into-Aspeed-LPC-MBOX-dr.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0046-misc-Add-clock-control-logic-into-Aspeed-LPC-MBOX-dr.patch
deleted file mode 100644
index 220283e24..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0046-misc-Add-clock-control-logic-into-Aspeed-LPC-MBOX-dr.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From db310b43e5b444a4e2854f3d69d002c2f0d0605c Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Wed, 13 Mar 2019 15:53:24 -0700
-Subject: [PATCH] misc: Add clock control logic into Aspeed LPC MBOX driver
-
-If LPC MBOX driver is registered ahead of lpc-ctrl module, LPC
-MBOX block will be enabled without heart beating of LCLK until
-lpc-ctrl enables the LCLK. This issue causes improper handling on
-host interrupts when the host sends interrupt in that time frame.
-Then kernel eventually forcibly disables the interrupt with dumping
-stack and printing a 'nobody cared this irq' message out.
-
-To prevent this issue, all LPC sub-nodes should enable LCLK
-individually so this patch adds clock control logic into the LPC
-MBOX driver.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
- arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
- drivers/misc/aspeed-lpc-mbox.c | 42 +++++++++++++++++++++++++++++++---------
- 3 files changed, 35 insertions(+), 9 deletions(-)
-
-diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index a5072ed1f823..729245b74c13 100644
---- a/arch/arm/boot/dts/aspeed-g4.dtsi
-+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -389,6 +389,7 @@
- reg = <0x180 0x5c>;
- interrupts = <46>;
- #mbox-cells = <1>;
-+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
- status = "disabled";
- };
- };
-diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 6a2f161e7548..df9d63a94264 100644
---- a/arch/arm/boot/dts/aspeed-g5.dtsi
-+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -493,6 +493,7 @@
- reg = <0x180 0x5c>;
- interrupts = <46>;
- #mbox-cells = <1>;
-+ clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
- status = "disabled";
- };
- };
-diff --git a/drivers/misc/aspeed-lpc-mbox.c b/drivers/misc/aspeed-lpc-mbox.c
-index 0933e0553953..f105d27786ac 100644
---- a/drivers/misc/aspeed-lpc-mbox.c
-+++ b/drivers/misc/aspeed-lpc-mbox.c
-@@ -7,6 +7,7 @@
- * 2 of the License, or (at your option) any later version.
- */
-
-+#include <linux/clk.h>
- #include <linux/interrupt.h>
- #include <linux/mfd/syscon.h>
- #include <linux/miscdevice.h>
-@@ -37,7 +38,9 @@
- struct aspeed_mbox {
- struct miscdevice miscdev;
- struct regmap *regmap;
-+ struct clk *clk;
- unsigned int base;
-+ int irq;
- wait_queue_head_t queue;
- struct mutex mutex;
- };
-@@ -237,16 +240,16 @@ static int aspeed_mbox_config_irq(struct aspeed_mbox *mbox,
- struct platform_device *pdev)
- {
- struct device *dev = &pdev->dev;
-- int rc, irq;
-+ int rc;
-
-- irq = irq_of_parse_and_map(dev->of_node, 0);
-- if (!irq)
-+ mbox->irq = platform_get_irq(pdev, 0);
-+ if (!mbox->irq)
- return -ENODEV;
-
-- rc = devm_request_irq(dev, irq, aspeed_mbox_irq,
-- IRQF_SHARED, DEVICE_NAME, mbox);
-+ rc = devm_request_irq(dev, mbox->irq, aspeed_mbox_irq,
-+ IRQF_SHARED, DEVICE_NAME, mbox);
- if (rc < 0) {
-- dev_err(dev, "Unable to request IRQ %d\n", irq);
-+ dev_err(dev, "Unable to request IRQ %d\n", mbox->irq);
- return rc;
- }
-
-@@ -301,6 +304,19 @@ static int aspeed_mbox_probe(struct platform_device *pdev)
- mutex_init(&mbox->mutex);
- init_waitqueue_head(&mbox->queue);
-
-+ mbox->clk = devm_clk_get(dev, NULL);
-+ if (IS_ERR(mbox->clk)) {
-+ rc = PTR_ERR(mbox->clk);
-+ if (rc != -EPROBE_DEFER)
-+ dev_err(dev, "couldn't get clock\n");
-+ return rc;
-+ }
-+ rc = clk_prepare_enable(mbox->clk);
-+ if (rc) {
-+ dev_err(dev, "couldn't enable clock\n");
-+ return rc;
-+ }
-+
- mbox->miscdev.minor = MISC_DYNAMIC_MINOR;
- mbox->miscdev.name = DEVICE_NAME;
- mbox->miscdev.fops = &aspeed_mbox_fops;
-@@ -308,17 +324,24 @@ static int aspeed_mbox_probe(struct platform_device *pdev)
- rc = misc_register(&mbox->miscdev);
- if (rc) {
- dev_err(dev, "Unable to register device\n");
-- return rc;
-+ goto err;
- }
-
- rc = aspeed_mbox_config_irq(mbox, pdev);
- if (rc) {
- dev_err(dev, "Failed to configure IRQ\n");
- misc_deregister(&mbox->miscdev);
-- return rc;
-+ goto err;
- }
-
-+ dev_info(&pdev->dev, "LPC mbox registered, irq %d\n", mbox->irq);
-+
- return 0;
-+
-+err:
-+ clk_disable_unprepare(mbox->clk);
-+
-+ return rc;
- }
-
- static int aspeed_mbox_remove(struct platform_device *pdev)
-@@ -326,6 +349,7 @@ static int aspeed_mbox_remove(struct platform_device *pdev)
- struct aspeed_mbox *mbox = dev_get_drvdata(&pdev->dev);
-
- misc_deregister(&mbox->miscdev);
-+ clk_disable_unprepare(mbox->clk);
-
- return 0;
- }
-@@ -335,6 +359,7 @@ static const struct of_device_id aspeed_mbox_match[] = {
- { .compatible = "aspeed,ast2500-mbox" },
- { },
- };
-+MODULE_DEVICE_TABLE(of, aspeed_mbox_match);
-
- static struct platform_driver aspeed_mbox_driver = {
- .driver = {
-@@ -347,7 +372,6 @@ static struct platform_driver aspeed_mbox_driver = {
-
- module_platform_driver(aspeed_mbox_driver);
-
--MODULE_DEVICE_TABLE(of, aspeed_mbox_match);
- MODULE_LICENSE("GPL");
- MODULE_AUTHOR("Cyril Bur <cyrilbur@gmail.com>");
- MODULE_DESCRIPTION("Aspeed mailbox device driver");
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0047-misc-Block-error-printing-on-probe-defer-case-in-Asp.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0047-misc-Block-error-printing-on-probe-defer-case-in-Asp.patch
index 40c26e31b..c3d1f4e8d 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0047-misc-Block-error-printing-on-probe-defer-case-in-Asp.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0047-misc-Block-error-printing-on-probe-defer-case-in-Asp.patch
@@ -1,4 +1,4 @@
-From 4762687044ec864719ca14d8efa3dccdc3807e70 Mon Sep 17 00:00:00 2001
+From 108b39883e73f822b8f03e0d3fe3818b85b29b41 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 13 Mar 2019 15:57:08 -0700
Subject: [PATCH] misc: Block error printing on probe defer case in Aspeed LPC
@@ -10,14 +10,14 @@ out an error message because the probing will be re-visited.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- drivers/misc/aspeed-lpc-ctrl.c | 7 +++++--
+ drivers/soc/aspeed/aspeed-lpc-ctrl.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/drivers/misc/aspeed-lpc-ctrl.c b/drivers/misc/aspeed-lpc-ctrl.c
-index a024f8042259..c0818c7b0ffb 100644
---- a/drivers/misc/aspeed-lpc-ctrl.c
-+++ b/drivers/misc/aspeed-lpc-ctrl.c
-@@ -239,8 +239,10 @@ static int aspeed_lpc_ctrl_probe(struct platform_device *pdev)
+diff --git a/drivers/soc/aspeed/aspeed-lpc-ctrl.c b/drivers/soc/aspeed/aspeed-lpc-ctrl.c
+index 01ed21e8bfee..ae08419834a3 100644
+--- a/drivers/soc/aspeed/aspeed-lpc-ctrl.c
++++ b/drivers/soc/aspeed/aspeed-lpc-ctrl.c
+@@ -252,8 +252,10 @@ static int aspeed_lpc_ctrl_probe(struct platform_device *pdev)
lpc_ctrl->clk = devm_clk_get(dev, NULL);
if (IS_ERR(lpc_ctrl->clk)) {
@@ -30,7 +30,7 @@ index a024f8042259..c0818c7b0ffb 100644
}
rc = clk_prepare_enable(lpc_ctrl->clk);
if (rc) {
-@@ -264,6 +266,7 @@ static int aspeed_lpc_ctrl_probe(struct platform_device *pdev)
+@@ -275,6 +277,7 @@ static int aspeed_lpc_ctrl_probe(struct platform_device *pdev)
err:
clk_disable_unprepare(lpc_ctrl->clk);
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0048-ARM-dts-aspeed-Set-default-status-of-LPC-BT-as-disab.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0048-ARM-dts-aspeed-Set-default-status-of-LPC-BT-as-disab.patch
deleted file mode 100644
index efbea1be8..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0048-ARM-dts-aspeed-Set-default-status-of-LPC-BT-as-disab.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From abf63c03805bf7df31133b720e165eab759ea702 Mon Sep 17 00:00:00 2001
-From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
-Date: Thu, 14 Mar 2019 13:11:49 -0700
-Subject: [PATCH] ARM: dts: aspeed: Set default status of LPC BT as 'disabled'
-
-LPC BT is not widely used so set its default status as 'disabled'.
-
-Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
----
- arch/arm/boot/dts/aspeed-g4.dtsi | 1 +
- arch/arm/boot/dts/aspeed-g5.dtsi | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index 729245b74c13..d4e1e29c6ed2 100644
---- a/arch/arm/boot/dts/aspeed-g4.dtsi
-+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -371,6 +371,7 @@
- reg = <0xc0 0x18>;
- clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
- interrupts = <8>;
-+ status = "disabled";
- };
-
- sio_regs: regs {
-diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index df9d63a94264..a3850644b10e 100644
---- a/arch/arm/boot/dts/aspeed-g5.dtsi
-+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -475,6 +475,7 @@
- reg = <0xc0 0x18>;
- clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
- interrupts = <8>;
-+ status = "disabled";
- };
-
- sio_regs: regs {
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0051-Add-AST2500-JTAG-device.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0051-Add-AST2500-JTAG-device.patch
index d66facdfa..d9379f565 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0051-Add-AST2500-JTAG-device.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0051-Add-AST2500-JTAG-device.patch
@@ -1,4 +1,4 @@
-From a2e0020ef6e03abde6819fb7fc328dcf23d0bd71 Mon Sep 17 00:00:00 2001
+From 278740d23c1eac792c64608af4bfa3fae640965f Mon Sep 17 00:00:00 2001
From: "Hunt, Bryan" <bryan.hunt@intel.com>
Date: Mon, 6 May 2019 10:02:14 -0700
Subject: [PATCH] Add AST2500d JTAG driver
@@ -7,14 +7,14 @@ Adding aspeed jtag device
Signed-off-by: Hunt, Bryan <bryan.hunt@intel.com>
---
- arch/arm/boot/dts/aspeed-g5.dtsi | 9 +
- 1 files changed, 15 insertions(+)
+ arch/arm/boot/dts/aspeed-g5.dtsi | 9 +++++++++
+ 1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index bf7ae631a458..2c9f287759ce 100644
+index ed0b7217f55f..89a9febf6f14 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -366,6 +366,15 @@
+@@ -389,6 +389,15 @@
pinctrl-0 = <&pinctrl_espi_default>;
};
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0052-drivers-jtag-Add-JTAG-core-driver.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0052-drivers-jtag-Add-JTAG-core-driver.patch
index 6c9d46d9d..3047746ca 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0052-drivers-jtag-Add-JTAG-core-driver.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0052-drivers-jtag-Add-JTAG-core-driver.patch
@@ -1,4 +1,4 @@
-From 0b8b93851bb79e70e91159f310afd4b56084977f Mon Sep 17 00:00:00 2001
+From 520416545a47cffe66815f31bc1465eab8864554 Mon Sep 17 00:00:00 2001
From: "Corona, Ernesto" <ernesto.corona@intel.com>
Date: Fri, 7 Jun 2019 07:37:39 -0800
Subject: [PATCH v29 1/6] drivers: jtag: Add JTAG core driver
@@ -258,7 +258,7 @@ Comments pointed by Tobias Klauser <tklauser@distanz.ch>
drivers/jtag/Makefile | 1 +
drivers/jtag/jtag.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++
include/linux/jtag.h | 47 +++++++
- include/uapi/linux/jtag.h | 214 ++++++++++++++++++++++++++++++
+ include/uapi/linux/jtag.h | 214 +++++++++++++++++++++++++++++++
7 files changed, 602 insertions(+)
create mode 100644 drivers/jtag/Kconfig
create mode 100644 drivers/jtag/Makefile
@@ -267,27 +267,27 @@ Comments pointed by Tobias Klauser <tklauser@distanz.ch>
create mode 100644 include/uapi/linux/jtag.h
diff --git a/drivers/Kconfig b/drivers/Kconfig
-index 4f9f990..0102bae 100644
+index 339ac306ded6..fb970bbe6b03 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
-@@ -228,4 +228,5 @@ source "drivers/siox/Kconfig"
+@@ -234,4 +234,5 @@ source "drivers/counter/Kconfig"
- source "drivers/slimbus/Kconfig"
+ source "drivers/peci/Kconfig"
+source "drivers/jtag/Kconfig"
endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
-index e1ce029..6d756c2 100644
+index 18d91cd5ac0f..b4d21c963923 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -186,3 +186,4 @@ obj-$(CONFIG_MULTIPLEXER) += mux/
- obj-$(CONFIG_SIOX) += siox/
- obj-$(CONFIG_GNSS) += gnss/
+@@ -189,3 +189,4 @@ obj-$(CONFIG_GNSS) += gnss/
+ obj-$(CONFIG_INTERCONNECT) += interconnect/
+ obj-$(CONFIG_COUNTER) += counter/
obj-$(CONFIG_PECI) += peci/
-+obj-$(CONFIG_JTAG) += jtag/
++obj-$(CONFIG_JTAG_ASPEED) += jtag/
diff --git a/drivers/jtag/Kconfig b/drivers/jtag/Kconfig
new file mode 100644
-index 0000000..47771fc
+index 000000000000..47771fcd3c5b
--- /dev/null
+++ b/drivers/jtag/Kconfig
@@ -0,0 +1,17 @@
@@ -310,14 +310,14 @@ index 0000000..47771fc
+ be called jtag.
diff --git a/drivers/jtag/Makefile b/drivers/jtag/Makefile
new file mode 100644
-index 0000000..af37493
+index 000000000000..af374939a9e6
--- /dev/null
+++ b/drivers/jtag/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_JTAG) += jtag.o
diff --git a/drivers/jtag/jtag.c b/drivers/jtag/jtag.c
new file mode 100644
-index 0000000..47503a1
+index 000000000000..39a4d88a9c21
--- /dev/null
+++ b/drivers/jtag/jtag.c
@@ -0,0 +1,321 @@
@@ -644,7 +644,7 @@ index 0000000..47503a1
+MODULE_LICENSE("GPL v2");
diff --git a/include/linux/jtag.h b/include/linux/jtag.h
new file mode 100644
-index 0000000..4153c90
+index 000000000000..fab12dc4fc5e
--- /dev/null
+++ b/include/linux/jtag.h
@@ -0,0 +1,47 @@
@@ -697,7 +697,7 @@ index 0000000..4153c90
+#endif /* __LINUX_JTAG_H */
diff --git a/include/uapi/linux/jtag.h b/include/uapi/linux/jtag.h
new file mode 100644
-index 0000000..3f9e195
+index 000000000000..315e59577a17
--- /dev/null
+++ b/include/uapi/linux/jtag.h
@@ -0,0 +1,214 @@
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0055-Documentation-jtag-Add-ABI-documentation.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0055-Documentation-jtag-Add-ABI-documentation.patch
index b91311d94..1e4142035 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0055-Documentation-jtag-Add-ABI-documentation.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0055-Documentation-jtag-Add-ABI-documentation.patch
@@ -1,6 +1,6 @@
-From c2d57900820475b50affd171f4dc423a278887ae Mon Sep 17 00:00:00 2001
+From d4c55bd4eeb6d9290025fa353d1787f18bca6ade Mon Sep 17 00:00:00 2001
From: "Corona, Ernesto" <ernesto.corona@intel.com>
-Date: Wed, 10 Mar 2019 11:47:40 -0800
+Date: Sun, 10 Mar 2019 11:47:40 -0800
Subject: [PATCH v29 4/6] Documentation: jtag: Add ABI documentation
Added document that describe the ABI for JTAG class driver
@@ -84,8 +84,8 @@ v6->v7
Comments pointed by Pavel Machek <pavel@ucw.cz>
- Added jtag-cdev documentation to Documentation/ABI/testing folder
---
- Documentation/ABI/testing/jtag-dev | 23 +++++++
- Documentation/jtag/overview | 27 ++++++++
+ Documentation/ABI/testing/jtag-dev | 23 ++++++
+ Documentation/jtag/overview | 27 +++++++
Documentation/jtag/transactions | 145 +++++++++++++++++++++++++++++++++++++
3 files changed, 195 insertions(+)
create mode 100644 Documentation/ABI/testing/jtag-dev
@@ -94,7 +94,7 @@ Comments pointed by Pavel Machek <pavel@ucw.cz>
diff --git a/Documentation/ABI/testing/jtag-dev b/Documentation/ABI/testing/jtag-dev
new file mode 100644
-index 0000000..423baab
+index 000000000000..423baab18761
--- /dev/null
+++ b/Documentation/ABI/testing/jtag-dev
@@ -0,0 +1,23 @@
@@ -123,7 +123,7 @@ index 0000000..423baab
+ userspace tools which wants to access to JTAG bus
diff --git a/Documentation/jtag/overview b/Documentation/jtag/overview
new file mode 100644
-index 0000000..6a5ec33
+index 000000000000..6a5ec335e313
--- /dev/null
+++ b/Documentation/jtag/overview
@@ -0,0 +1,27 @@
@@ -156,7 +156,7 @@ index 0000000..6a5ec33
+User: close -> /dev/jatgX -> JTAG core driver -> JTAG hardware specific driver
diff --git a/Documentation/jtag/transactions b/Documentation/jtag/transactions
new file mode 100644
-index 0000000..76fd0b1
+index 000000000000..f5d4a1ded6cf
--- /dev/null
+++ b/Documentation/jtag/transactions
@@ -0,0 +1,145 @@
@@ -254,7 +254,7 @@ index 0000000..76fd0b1
+length: xfer data length in bits
+tdio : xfer data array
+from: xfer from state can be current JTAG tap state saved by the driver
-+ JTAG_STATE_CURRENT or in a multichain environment any state listed in
++ JTAG_STATE_CURRENT or in a multichain environment any state listed in
+ jtag_tapstate struct saved by your multichain controller software.
+endstate: xfer end state after transaction finish
+ can be: any state listed in jtag_tapstate struct
@@ -307,3 +307,4 @@ index 0000000..76fd0b1
+ tdo1 = bitbang_data[1].tdo;
--
2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0057-drivers-jtag-Add-JTAG-core-driver-Maintainers.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0057-drivers-jtag-Add-JTAG-core-driver-Maintainers.patch
index 8ab4615f0..47a532590 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0057-drivers-jtag-Add-JTAG-core-driver-Maintainers.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0057-drivers-jtag-Add-JTAG-core-driver-Maintainers.patch
@@ -1,6 +1,6 @@
-From 0a563429bc3c34a951db92600681e799b606a01f Mon Sep 17 00:00:00 2001
+From 8598b57423967f5851484533a1b09a04bafa235b Mon Sep 17 00:00:00 2001
From: "Corona, Ernesto" <ernesto.corona@intel.com>
-Date: Wed, 10 Mar 2019 11:49:37 -0800
+Date: Sun, 10 Mar 2019 11:49:37 -0800
Subject: [PATCH v29 6/6] drivers: jtag: Add JTAG core driver Maintainers
JTAG class driver provide infrastructure to support hardware/software
@@ -24,10 +24,10 @@ Cc: Bryan Hunt <bryan.hunt@intel.com>
1 file changed, 11 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
-index dce5c09..eb710a6 100644
+index e0925f221e25..2cd0a46f9a1a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -8173,6 +8173,17 @@ L: linux-serial@vger.kernel.org
+@@ -8521,6 +8521,17 @@ L: linux-serial@vger.kernel.org
S: Orphan
F: drivers/tty/serial/jsm/
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0058-i2c-aspeed-add-general-call-support.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0058-i2c-aspeed-add-general-call-support.patch
index de8bf2355..7d5e006d1 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0058-i2c-aspeed-add-general-call-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0058-i2c-aspeed-add-general-call-support.patch
@@ -1,4 +1,4 @@
-From 551b5192b1074679ca9411cdedb9137d38f7de3d Mon Sep 17 00:00:00 2001
+From f5b6d42c1710a4c1314bc0160f904aa01f501e96 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 1 May 2019 13:27:34 -0700
Subject: [PATCH] i2c: aspeed: add general call support
@@ -28,10 +28,10 @@ index 7da7e813b2b0..724ee9f35c10 100644
specified.
- #retries : Number of retries for master transfer.
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index 0060193e1aa4..f96160e01a69 100644
+index 99bd30953531..8f26060bd685 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -50,6 +50,7 @@
+@@ -47,6 +47,7 @@
#define ASPEED_I2CD_SDA_DRIVE_1T_EN BIT(8)
#define ASPEED_I2CD_M_SDA_DRIVE_1T_EN BIT(7)
#define ASPEED_I2CD_M_HIGH_SPEED_EN BIT(6)
@@ -39,7 +39,7 @@ index 0060193e1aa4..f96160e01a69 100644
#define ASPEED_I2CD_SLAVE_EN BIT(1)
#define ASPEED_I2CD_MASTER_EN BIT(0)
-@@ -74,6 +75,7 @@
+@@ -71,6 +72,7 @@
*/
#define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14)
#define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13)
@@ -47,7 +47,7 @@ index 0060193e1aa4..f96160e01a69 100644
#define ASPEED_I2CD_INTR_SLAVE_MATCH BIT(7)
#define ASPEED_I2CD_INTR_SCL_TIMEOUT BIT(6)
#define ASPEED_I2CD_INTR_ABNORMAL BIT(5)
-@@ -133,6 +135,8 @@ enum aspeed_i2c_slave_state {
+@@ -130,6 +132,8 @@ enum aspeed_i2c_slave_state {
ASPEED_I2C_SLAVE_READ_PROCESSED,
ASPEED_I2C_SLAVE_WRITE_REQUESTED,
ASPEED_I2C_SLAVE_WRITE_RECEIVED,
@@ -56,7 +56,7 @@ index 0060193e1aa4..f96160e01a69 100644
ASPEED_I2C_SLAVE_STOP,
};
-@@ -163,6 +167,8 @@ struct aspeed_i2c_bus {
+@@ -160,6 +164,8 @@ struct aspeed_i2c_bus {
#if IS_ENABLED(CONFIG_I2C_SLAVE)
struct i2c_client *slave;
enum aspeed_i2c_slave_state slave_state;
@@ -65,7 +65,7 @@ index 0060193e1aa4..f96160e01a69 100644
#endif /* CONFIG_I2C_SLAVE */
};
-@@ -267,6 +273,12 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -266,6 +272,12 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
bus->slave_state = ASPEED_I2C_SLAVE_START;
}
@@ -78,7 +78,7 @@ index 0060193e1aa4..f96160e01a69 100644
/* Slave is not currently active, irq was for someone else. */
if (bus->slave_state == ASPEED_I2C_SLAVE_INACTIVE)
return irq_handled;
-@@ -285,6 +297,21 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -284,6 +296,21 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
else
bus->slave_state =
ASPEED_I2C_SLAVE_WRITE_REQUESTED;
@@ -100,18 +100,16 @@ index 0060193e1aa4..f96160e01a69 100644
}
irq_handled |= ASPEED_I2CD_INTR_RX_DONE;
}
-@@ -324,6 +351,10 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
- bus->slave_state = ASPEED_I2C_SLAVE_WRITE_RECEIVED;
- i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
+@@ -326,11 +353,16 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ case ASPEED_I2C_SLAVE_WRITE_RECEIVED:
+ i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED, &value);
break;
+ case ASPEED_I2C_SLAVE_GCALL_REQUESTED:
+ bus->slave_state = ASPEED_I2C_SLAVE_WRITE_RECEIVED;
+ i2c_slave_event(slave, I2C_SLAVE_GCALL_REQUESTED, &value);
+ break;
- case ASPEED_I2C_SLAVE_WRITE_RECEIVED:
- i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED, &value);
- break;
-@@ -332,6 +363,7 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ case ASPEED_I2C_SLAVE_STOP:
+ i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
bus->slave_state = ASPEED_I2C_SLAVE_INACTIVE;
break;
case ASPEED_I2C_SLAVE_START:
@@ -119,7 +117,7 @@ index 0060193e1aa4..f96160e01a69 100644
/* Slave was just started. Waiting for the next event. */;
break;
default:
-@@ -739,6 +771,8 @@ static void __aspeed_i2c_reg_slave(struct aspeed_i2c_bus *bus, u16 slave_addr)
+@@ -738,6 +770,8 @@ static void __aspeed_i2c_reg_slave(struct aspeed_i2c_bus *bus, u16 slave_addr)
/* Turn on slave mode. */
func_ctrl_reg_val = readl(bus->base + ASPEED_I2C_FUN_CTRL_REG);
func_ctrl_reg_val |= ASPEED_I2CD_SLAVE_EN;
@@ -128,7 +126,7 @@ index 0060193e1aa4..f96160e01a69 100644
writel(func_ctrl_reg_val, bus->base + ASPEED_I2C_FUN_CTRL_REG);
}
-@@ -777,6 +811,8 @@ static int aspeed_i2c_unreg_slave(struct i2c_client *client)
+@@ -776,6 +810,8 @@ static int aspeed_i2c_unreg_slave(struct i2c_client *client)
/* Turn off slave mode. */
func_ctrl_reg_val = readl(bus->base + ASPEED_I2C_FUN_CTRL_REG);
func_ctrl_reg_val &= ~ASPEED_I2CD_SLAVE_EN;
@@ -137,7 +135,7 @@ index 0060193e1aa4..f96160e01a69 100644
writel(func_ctrl_reg_val, bus->base + ASPEED_I2C_FUN_CTRL_REG);
bus->slave = NULL;
-@@ -921,6 +957,9 @@ static int aspeed_i2c_init(struct aspeed_i2c_bus *bus,
+@@ -920,6 +956,9 @@ static int aspeed_i2c_init(struct aspeed_i2c_bus *bus,
bus->base + ASPEED_I2C_FUN_CTRL_REG);
#if IS_ENABLED(CONFIG_I2C_SLAVE)
@@ -148,10 +146,10 @@ index 0060193e1aa4..f96160e01a69 100644
if (bus->slave)
__aspeed_i2c_reg_slave(bus, bus->slave->addr);
diff --git a/drivers/i2c/i2c-slave-mqueue.c b/drivers/i2c/i2c-slave-mqueue.c
-index 4548088e1922..a608846cb1db 100644
+index 2c7a6038409c..1d4db584b393 100644
--- a/drivers/i2c/i2c-slave-mqueue.c
+++ b/drivers/i2c/i2c-slave-mqueue.c
-@@ -53,10 +53,12 @@ static int i2c_slave_mqueue_callback(struct i2c_client *client,
+@@ -56,10 +56,12 @@ static int i2c_slave_mqueue_callback(struct i2c_client *client,
switch (event) {
case I2C_SLAVE_WRITE_REQUESTED:
@@ -166,10 +164,10 @@ index 4548088e1922..a608846cb1db 100644
case I2C_SLAVE_WRITE_RECEIVED:
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
-index e1c6b78bdaf1..03ffb70d75f2 100644
+index 3ee92c6a442d..dfdccb2acb24 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
-@@ -371,6 +371,7 @@ enum i2c_slave_event {
+@@ -359,6 +359,7 @@ enum i2c_slave_event {
I2C_SLAVE_WRITE_REQUESTED,
I2C_SLAVE_READ_PROCESSED,
I2C_SLAVE_WRITE_RECEIVED,
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch
index 3a86d5b25..003a96c8d 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0065-i2c-aspeed-fix-master-pending-state-handling.patch
@@ -1,4 +1,4 @@
-From 50221ac92816333efcf961c5f22f8b9ffdccb31b Mon Sep 17 00:00:00 2001
+From 4a05d2506e7cb7fb3ad323a16861f09279b4da39 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Tue, 11 Jun 2019 14:59:53 -0700
Subject: [PATCH] i2c: aspeed: fix master pending state handling
@@ -15,10 +15,10 @@ Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index f96160e01a69..64bc68eaa88f 100644
+index 8f26060bd685..d8143c24d3a7 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -384,18 +384,19 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
+@@ -383,18 +383,19 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
struct i2c_msg *msg = &bus->msgs[bus->msgs_index];
u8 slave_addr = i2c_8bit_addr_from_msg(msg);
@@ -41,7 +41,7 @@ index f96160e01a69..64bc68eaa88f 100644
bus->buf_index = 0;
if (msg->flags & I2C_M_RD) {
-@@ -480,7 +481,7 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -479,7 +480,7 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
if (bus->slave_state != ASPEED_I2C_SLAVE_INACTIVE)
goto out_no_complete;
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0066-i2c-aspeed-add-buffer-mode-transfer-support.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0066-i2c-aspeed-add-buffer-mode-transfer-support.patch
index 9480daeff..9b96b400b 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0066-i2c-aspeed-add-buffer-mode-transfer-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0066-i2c-aspeed-add-buffer-mode-transfer-support.patch
@@ -1,4 +1,4 @@
-From efb710a6b3a39f28b988af717eefc1b72c4c43bd Mon Sep 17 00:00:00 2001
+From 36128aacdc8b642b9ee080e493abbc00de345f1d Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Tue, 11 Jun 2019 15:07:08 -0700
Subject: [PATCH] i2c: aspeed: add buffer mode transfer support
@@ -15,7 +15,7 @@ It has 2 KBytes (256 Bytes x 8 pages) of I2C SRAM buffer pool from
buffer pool manipulation. To simplify implementation for supporting
both AST2400 and AST2500, it assigns each 128 Bytes per bus without
using buffer pool manipulation so total 1792 Bytes of I2C SRAM
-buffer will used.
+buffer will be used.
AST2500:
It has 16 Bytes of individual I2C SRAM buffer per each bus and its
@@ -30,329 +30,452 @@ It provides buffer based master and slave data transfer.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
- arch/arm/boot/dts/aspeed-g4.dtsi | 42 ++++--
- arch/arm/boot/dts/aspeed-g5.dtsi | 42 ++++--
- drivers/i2c/busses/i2c-aspeed.c | 262 ++++++++++++++++++++++++++++++++----
- drivers/irqchip/irq-aspeed-i2c-ic.c | 8 ++
- 4 files changed, 301 insertions(+), 53 deletions(-)
+ .../devicetree/bindings/i2c/i2c-aspeed.txt | 40 ++-
+ arch/arm/boot/dts/aspeed-g4.dtsi | 47 ++--
+ arch/arm/boot/dts/aspeed-g5.dtsi | 47 ++--
+ drivers/i2c/busses/i2c-aspeed.c | 294 ++++++++++++++++++---
+ 4 files changed, 349 insertions(+), 79 deletions(-)
+diff --git a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
+index 724ee9f35c10..e1a0ae7a8c08 100644
+--- a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
++++ b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
+@@ -3,7 +3,10 @@ Device tree configuration for the I2C busses on the AST24XX and AST25XX SoCs.
+ Required Properties:
+ - #address-cells : should be 1
+ - #size-cells : should be 0
+-- reg : address offset and range of bus
++- reg : Address offset and range of bus registers.
++ An additional SRAM buffer address offset and range is
++ optional in case of enabling I2C dedicated SRAM for
++ buffer mode transfer support.
+ - compatible : should be "aspeed,ast2400-i2c-bus"
+ or "aspeed,ast2500-i2c-bus"
+ - clocks : root clock of bus, should reference the APB
+@@ -29,12 +32,21 @@ i2c {
+ #size-cells = <1>;
+ ranges = <0 0x1e78a000 0x1000>;
+
+- i2c_ic: interrupt-controller@0 {
+- #interrupt-cells = <1>;
+- compatible = "aspeed,ast2400-i2c-ic";
++ i2c_gr: i2c-global-regs@0 {
++ compatible = "aspeed,ast2500-i2c-gr", "syscon";
+ reg = <0x0 0x40>;
+- interrupts = <12>;
+- interrupt-controller;
++
++ #address-cells = <1>;
++ #size-cells = <1>;
++ ranges = <0x0 0x0 0x40>;
++
++ i2c_ic: interrupt-controller@0 {
++ #interrupt-cells = <1>;
++ compatible = "aspeed,ast2500-i2c-ic";
++ reg = <0x0 0x4>;
++ interrupts = <12>;
++ interrupt-controller;
++ };
+ };
+
+ i2c0: i2c-bus@40 {
+@@ -42,11 +54,25 @@ i2c {
+ #size-cells = <0>;
+ #interrupt-cells = <1>;
+ reg = <0x40 0x40>;
+- compatible = "aspeed,ast2400-i2c-bus";
++ compatible = "aspeed,ast2500-i2c-bus";
+ clocks = <&syscon ASPEED_CLK_APB>;
+ resets = <&syscon ASPEED_RESET_I2C>;
+ bus-frequency = <100000>;
+ interrupts = <0>;
+ interrupt-parent = <&i2c_ic>;
+ };
++
++ /* buffer mode transfer enabled */
++ i2c1: i2c-bus@80 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ #interrupt-cells = <1>;
++ reg = <0x80 0x40>, <0x210 0x10>;
++ compatible = "aspeed,ast2500-i2c-bus";
++ clocks = <&syscon ASPEED_CLK_APB>;
++ resets = <&syscon ASPEED_RESET_I2C>;
++ bus-frequency = <100000>;
++ interrupts = <1>;
++ interrupt-parent = <&i2c_ic>;
++ };
+ };
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
-index 47a5029f5bdb..c1c125add9fa 100644
+index 47a5029f5bdb..052b1b6b4dc7 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
-@@ -482,7 +482,8 @@
+@@ -469,12 +469,21 @@
+ };
+
+ &i2c {
+- i2c_ic: interrupt-controller@0 {
+- #interrupt-cells = <1>;
+- compatible = "aspeed,ast2400-i2c-ic";
++ i2c_gr: i2c-global-regs@0 {
++ compatible = "aspeed,ast2400-i2c-gr", "syscon";
+ reg = <0x0 0x40>;
+- interrupts = <12>;
+- interrupt-controller;
++
++ #address-cells = <1>;
++ #size-cells = <1>;
++ ranges = <0x0 0x0 0x40>;
++
++ i2c_ic: interrupt-controller@0 {
++ #interrupt-cells = <1>;
++ compatible = "aspeed,ast2400-i2c-ic";
++ reg = <0x0 0x4>;
++ interrupts = <12>;
++ interrupt-controller;
++ };
+ };
+
+ i2c0: i2c-bus@40 {
+@@ -482,7 +491,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x40 0x40>;
+ reg = <0x40 0x40>, <0x800 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -498,7 +499,8 @@
+@@ -498,7 +507,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x80 0x40>;
+ reg = <0x80 0x40>, <0x880 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -514,7 +516,8 @@
+@@ -514,7 +523,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0xc0 0x40>;
+ reg = <0xc0 0x40>, <0x900 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -531,7 +534,8 @@
+@@ -531,7 +540,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x100 0x40>;
+ reg = <0x100 0x40>, <0x980 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -548,7 +552,8 @@
+@@ -548,7 +557,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x140 0x40>;
+ reg = <0x140 0x40>, <0xa00 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -565,7 +570,8 @@
+@@ -565,7 +574,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x180 0x40>;
+ reg = <0x180 0x40>, <0xa80 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -582,7 +588,8 @@
+@@ -582,7 +591,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x1c0 0x40>;
+ reg = <0x1c0 0x40>, <0xb00 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -599,7 +606,8 @@
+@@ -599,7 +608,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x300 0x40>;
+ reg = <0x300 0x40>, <0xb80 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -616,7 +624,8 @@
+@@ -616,7 +625,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x340 0x40>;
+ reg = <0x340 0x40>, <0xc00 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -633,7 +642,8 @@
+@@ -633,7 +642,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x380 0x40>;
+ reg = <0x380 0x40>, <0xc80 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -650,7 +660,8 @@
+@@ -650,7 +659,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x3c0 0x40>;
+ reg = <0x3c0 0x40>, <0xd00 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -667,7 +678,8 @@
+@@ -667,7 +676,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x400 0x40>;
+ reg = <0x400 0x40>, <0xd80 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -684,7 +696,8 @@
+@@ -684,7 +693,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x440 0x40>;
+ reg = <0x440 0x40>, <0xe00 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -701,7 +714,8 @@
+@@ -701,7 +710,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x480 0x40>;
+ reg = <0x480 0x40>, <0xe80 0x80>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2400-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
-index 9d5ed9499b1f..662249bc15f9 100644
+index 89a9febf6f14..2d2173d598e4 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
-@@ -599,7 +599,8 @@
+@@ -586,12 +586,21 @@
+ };
+
+ &i2c {
+- i2c_ic: interrupt-controller@0 {
+- #interrupt-cells = <1>;
+- compatible = "aspeed,ast2500-i2c-ic";
++ i2c_gr: i2c-global-regs@0 {
++ compatible = "aspeed,ast2500-i2c-gr", "syscon";
+ reg = <0x0 0x40>;
+- interrupts = <12>;
+- interrupt-controller;
++
++ #address-cells = <1>;
++ #size-cells = <1>;
++ ranges = <0x0 0x0 0x40>;
++
++ i2c_ic: interrupt-controller@0 {
++ #interrupt-cells = <1>;
++ compatible = "aspeed,ast2500-i2c-ic";
++ reg = <0x0 0x4>;
++ interrupts = <12>;
++ interrupt-controller;
++ };
+ };
+
+ i2c0: i2c-bus@40 {
+@@ -599,7 +608,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x40 0x40>;
+ reg = <0x40 0x40>, <0x200 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -615,7 +616,8 @@
+@@ -615,7 +624,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x80 0x40>;
+ reg = <0x80 0x40>, <0x210 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -631,7 +633,8 @@
+@@ -631,7 +640,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0xc0 0x40>;
+ reg = <0xc0 0x40>, <0x220 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -648,7 +651,8 @@
+@@ -648,7 +657,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x100 0x40>;
+ reg = <0x100 0x40>, <0x230 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -665,7 +669,8 @@
+@@ -665,7 +674,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x140 0x40>;
+ reg = <0x140 0x40>, <0x240 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -682,7 +687,8 @@
+@@ -682,7 +691,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x180 0x40>;
+ reg = <0x180 0x40>, <0x250 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -699,7 +705,8 @@
+@@ -699,7 +708,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x1c0 0x40>;
+ reg = <0x1c0 0x40>, <0x260 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -716,7 +723,8 @@
+@@ -716,7 +725,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x300 0x40>;
+ reg = <0x300 0x40>, <0x270 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -733,7 +741,8 @@
+@@ -733,7 +742,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x340 0x40>;
+ reg = <0x340 0x40>, <0x280 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -750,7 +759,8 @@
+@@ -750,7 +759,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x380 0x40>;
+ reg = <0x380 0x40>, <0x290 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -767,7 +777,8 @@
+@@ -767,7 +776,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x3c0 0x40>;
+ reg = <0x3c0 0x40>, <0x2a0 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -784,7 +795,8 @@
+@@ -784,7 +793,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x400 0x40>;
+ reg = <0x400 0x40>, <0x2b0 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -801,7 +813,8 @@
+@@ -801,7 +810,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x440 0x40>;
+ reg = <0x440 0x40>, <0x2c0 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
-@@ -818,7 +831,8 @@
+@@ -818,7 +827,7 @@
#size-cells = <0>;
#interrupt-cells = <1>;
- reg = <0x480 0x40>;
+ reg = <0x480 0x40>, <0x2d0 0x10>;
-+ reg-names = "bus-regs", "buf";
compatible = "aspeed,ast2500-i2c-bus";
clocks = <&syscon ASPEED_CLK_APB>;
resets = <&syscon ASPEED_RESET_I2C>;
diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index 64bc68eaa88f..b21a4c87853e 100644
+index d8143c24d3a7..b721fb1d6d4c 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -10,6 +10,7 @@
- * published by the Free Software Foundation.
+@@ -7,6 +7,7 @@
+ * Copyright 2017 Google, Inc.
*/
+#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/err.h>
-@@ -38,6 +39,7 @@
+@@ -19,15 +20,24 @@
+ #include <linux/irqchip/chained_irq.h>
+ #include <linux/irqdomain.h>
+ #include <linux/kernel.h>
++#include <linux/mfd/syscon.h>
+ #include <linux/module.h>
+ #include <linux/of_address.h>
+ #include <linux/of_irq.h>
+ #include <linux/of_platform.h>
+ #include <linux/platform_device.h>
++#include <linux/regmap.h>
+ #include <linux/reset.h>
+ #include <linux/slab.h>
+
+-/* I2C Register */
++/* I2C Global Registers */
++/* 0x00 : I2CG Interrupt Status Register */
++/* 0x08 : I2CG Interrupt Target Assignment */
++/* 0x0c : I2CG Global Control Register (AST2500) */
++#define ASPEED_I2CG_GLOBAL_CTRL_REG 0x0c
++#define ASPEED_I2CG_SRAM_BUFFER_EN BIT(0)
++
++/* I2C Bus Registers */
+ #define ASPEED_I2C_FUN_CTRL_REG 0x00
+ #define ASPEED_I2C_AC_TIMING_REG1 0x04
+ #define ASPEED_I2C_AC_TIMING_REG2 0x08
+@@ -35,14 +45,12 @@
#define ASPEED_I2C_INTR_STS_REG 0x10
#define ASPEED_I2C_CMD_REG 0x14
#define ASPEED_I2C_DEV_ADDR_REG 0x18
+#define ASPEED_I2C_BUF_CTRL_REG 0x1c
#define ASPEED_I2C_BYTE_BUF_REG 0x20
- /* Global Register Definition */
-@@ -46,6 +48,7 @@
-
+-/* Global Register Definition */
+-/* 0x00 : I2C Interrupt Status Register */
+-/* 0x08 : I2C Interrupt Target Assignment */
+-
/* Device Register Definition */
/* 0x00 : I2CD Function Control Register */
+#define ASPEED_I2CD_BUFFER_PAGE_SEL_MASK GENMASK(22, 20)
#define ASPEED_I2CD_MULTI_MASTER_DIS BIT(15)
#define ASPEED_I2CD_SDA_DRIVE_1T_EN BIT(8)
#define ASPEED_I2CD_M_SDA_DRIVE_1T_EN BIT(7)
-@@ -107,6 +110,8 @@
+@@ -104,6 +112,8 @@
#define ASPEED_I2CD_BUS_RECOVER_CMD BIT(11)
/* Command Bit */
@@ -361,7 +484,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
#define ASPEED_I2CD_M_STOP_CMD BIT(5)
#define ASPEED_I2CD_M_S_RX_CMD_LAST BIT(4)
#define ASPEED_I2CD_M_RX_CMD BIT(3)
-@@ -117,6 +122,13 @@
+@@ -114,6 +124,13 @@
/* 0x18 : I2CD Slave Device Address Register */
#define ASPEED_I2CD_DEV_ADDR_MASK GENMASK(6, 0)
@@ -375,11 +498,11 @@ index 64bc68eaa88f..b21a4c87853e 100644
enum aspeed_i2c_master_state {
ASPEED_I2C_MASTER_INACTIVE,
ASPEED_I2C_MASTER_PENDING,
-@@ -164,6 +176,11 @@ struct aspeed_i2c_bus {
+@@ -161,6 +178,11 @@ struct aspeed_i2c_bus {
int master_xfer_result;
/* Multi-master */
bool multi_master;
-+ /* Buffer/DMA mode */
++ /* Buffer mode */
+ void __iomem *buf_base;
+ size_t buf_size;
+ u8 buf_offset;
@@ -387,7 +510,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
#if IS_ENABLED(CONFIG_I2C_SLAVE)
struct i2c_client *slave;
enum aspeed_i2c_slave_state slave_state;
-@@ -260,6 +277,7 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -259,6 +281,7 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
{
u32 command, irq_handled = 0;
struct i2c_client *slave = bus->slave;
@@ -395,39 +518,42 @@ index 64bc68eaa88f..b21a4c87853e 100644
u8 value;
if (!slave)
-@@ -288,7 +306,11 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -287,7 +310,12 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
/* Slave was sent something. */
if (irq_status & ASPEED_I2CD_INTR_RX_DONE) {
- value = readl(bus->base + ASPEED_I2C_BYTE_BUF_REG) >> 8;
+ if (bus->buf_base &&
-+ bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED)
++ bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED &&
++ !(irq_status & ASPEED_I2CD_INTR_NORMAL_STOP))
+ value = readb(bus->buf_base);
+ else
+ value = readl(bus->base + ASPEED_I2C_BYTE_BUF_REG) >> 8;
/* Handle address frame. */
if (bus->slave_state == ASPEED_I2C_SLAVE_START) {
if (value & 0x1)
-@@ -318,6 +340,18 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -317,6 +345,20 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
/* Slave was asked to stop. */
if (irq_status & ASPEED_I2CD_INTR_NORMAL_STOP) {
-+ if (bus->buf_base &&
-+ bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED) {
-+ len = FIELD_GET(ASPEED_I2CD_BUF_RX_COUNT_MASK,
-+ readl(bus->base +
-+ ASPEED_I2C_BUF_CTRL_REG));
-+ for (i = 0; i < len; i++) {
-+ value = readb(bus->buf_base + i);
-+ i2c_slave_event(slave,
-+ I2C_SLAVE_WRITE_RECEIVED,
-+ &value);
++ if (bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED &&
++ irq_status & ASPEED_I2CD_INTR_RX_DONE) {
++ if (bus->buf_base) {
++ len = FIELD_GET(ASPEED_I2CD_BUF_RX_COUNT_MASK,
++ readl(bus->base +
++ ASPEED_I2C_BUF_CTRL_REG));
++ for (i = 0; i < len; i++) {
++ value = readb(bus->buf_base + i);
++ i2c_slave_event(slave,
++ I2C_SLAVE_WRITE_RECEIVED,
++ &value);
++ }
+ }
+ }
irq_handled |= ASPEED_I2CD_INTR_NORMAL_STOP;
bus->slave_state = ASPEED_I2C_SLAVE_STOP;
}
-@@ -350,6 +384,15 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -349,9 +391,36 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
case ASPEED_I2C_SLAVE_WRITE_REQUESTED:
bus->slave_state = ASPEED_I2C_SLAVE_WRITE_RECEIVED;
i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
@@ -441,10 +567,6 @@ index 64bc68eaa88f..b21a4c87853e 100644
+ bus->base + ASPEED_I2C_CMD_REG);
+ }
break;
- case ASPEED_I2C_SLAVE_GCALL_REQUESTED:
- bus->slave_state = ASPEED_I2C_SLAVE_WRITE_RECEIVED;
-@@ -357,6 +400,24 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
- break;
case ASPEED_I2C_SLAVE_WRITE_RECEIVED:
i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED, &value);
+ if (bus->buf_base) {
@@ -466,9 +588,9 @@ index 64bc68eaa88f..b21a4c87853e 100644
+ bus->base + ASPEED_I2C_CMD_REG);
+ }
break;
- case ASPEED_I2C_SLAVE_STOP:
- i2c_slave_event(slave, I2C_SLAVE_STOP, &value);
-@@ -383,6 +444,8 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
+ case ASPEED_I2C_SLAVE_GCALL_REQUESTED:
+ bus->slave_state = ASPEED_I2C_SLAVE_WRITE_RECEIVED;
+@@ -382,6 +451,8 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
u32 command = ASPEED_I2CD_M_START_CMD | ASPEED_I2CD_M_TX_CMD;
struct i2c_msg *msg = &bus->msgs[bus->msgs_index];
u8 slave_addr = i2c_8bit_addr_from_msg(msg);
@@ -477,7 +599,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
#if IS_ENABLED(CONFIG_I2C_SLAVE)
/*
-@@ -401,12 +464,66 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
+@@ -400,12 +471,66 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
if (msg->flags & I2C_M_RD) {
command |= ASPEED_I2CD_M_RX_CMD;
@@ -486,11 +608,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
- command |= ASPEED_I2CD_M_S_RX_CMD_LAST;
+
+ if (bus->buf_base && !(msg->flags & I2C_M_RECV_LEN)) {
-+ command |= ASPEED_I2CD_TX_BUFF_ENABLE |
-+ ASPEED_I2CD_RX_BUFF_ENABLE;
-+
-+ wbuf[0] = slave_addr;
-+ writel(*(u32 *)wbuf, bus->buf_base);
++ command |= ASPEED_I2CD_RX_BUFF_ENABLE;
+
+ if (msg->len > bus->buf_size) {
+ len = bus->buf_size;
@@ -501,7 +619,6 @@ index 64bc68eaa88f..b21a4c87853e 100644
+
+ writel(FIELD_PREP(ASPEED_I2CD_BUF_RX_SIZE_MASK,
+ len - 1) |
-+ FIELD_PREP(ASPEED_I2CD_BUF_TX_COUNT_MASK, 0) |
+ FIELD_PREP(ASPEED_I2CD_BUF_OFFSET_MASK,
+ bus->buf_offset),
+ bus->base + ASPEED_I2C_BUF_CTRL_REG);
@@ -521,6 +638,11 @@ index 64bc68eaa88f..b21a4c87853e 100644
+ else
+ len = msg->len + 1;
+
++ /*
++ * Yeah, it looks clumsy but byte writings on a remapped
++ * I2C SRAM cause corruptions so use this way to make
++ * dword writings.
++ */
+ wbuf[0] = slave_addr;
+ for (i = 1; i < len; i++) {
+ wbuf[i % 4] = msg->buf[i - 1];
@@ -548,22 +670,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
writel(command, bus->base + ASPEED_I2C_CMD_REG);
}
-@@ -441,12 +558,22 @@ static int aspeed_i2c_is_irq_error(u32 irq_status)
- return 0;
- }
-
-+static inline int aspeed_i2c_is_tx_error(struct aspeed_i2c_bus *bus)
-+{
-+ if (FIELD_GET(ASPEED_I2CD_BUF_TX_COUNT_MASK,
-+ readl(bus->base + ASPEED_I2C_BUF_CTRL_REG)) !=
-+ bus->buf_size - 1)
-+ return -EIO;
-+
-+ return 0;
-+}
-+
- static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
- {
+@@ -445,7 +570,7 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
u32 irq_handled = 0, command = 0;
struct i2c_msg *msg;
u8 recv_byte;
@@ -572,16 +679,17 @@ index 64bc68eaa88f..b21a4c87853e 100644
if (irq_status & ASPEED_I2CD_INTR_BUS_RECOVER_DONE) {
bus->master_state = ASPEED_I2C_MASTER_INACTIVE;
-@@ -559,11 +686,46 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -558,11 +683,43 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
/* fall through */
case ASPEED_I2C_MASTER_TX_FIRST:
if (bus->buf_index < msg->len) {
++ command = ASPEED_I2CD_M_TX_CMD;
++
+ if (bus->buf_base) {
+ u8 wbuf[4];
+ int i;
+
-+ if (unlikely(aspeed_i2c_is_tx_error(bus)))
-+ goto error_and_stop;
++ command |= ASPEED_I2CD_TX_BUFF_ENABLE;
+
+ if (msg->len - bus->buf_index > bus->buf_size)
+ len = bus->buf_size;
@@ -606,15 +714,11 @@ index 64bc68eaa88f..b21a4c87853e 100644
+ FIELD_PREP(ASPEED_I2CD_BUF_OFFSET_MASK,
+ bus->buf_offset),
+ bus->base + ASPEED_I2C_BUF_CTRL_REG);
-+ writel(ASPEED_I2CD_TX_BUFF_ENABLE |
-+ ASPEED_I2CD_M_TX_CMD,
-+ bus->base + ASPEED_I2C_CMD_REG);
+ } else {
+ writel(msg->buf[bus->buf_index++],
+ bus->base + ASPEED_I2C_BYTE_BUF_REG);
-+ writel(ASPEED_I2CD_M_TX_CMD,
-+ bus->base + ASPEED_I2C_CMD_REG);
+ }
++ writel(command, bus->base + ASPEED_I2C_CMD_REG);
bus->master_state = ASPEED_I2C_MASTER_TX;
- writel(msg->buf[bus->buf_index++],
- bus->base + ASPEED_I2C_BYTE_BUF_REG);
@@ -623,7 +727,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
} else {
aspeed_i2c_next_msg_or_stop(bus);
}
-@@ -580,25 +742,57 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+@@ -579,25 +736,56 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
}
irq_handled |= ASPEED_I2CD_INTR_RX_DONE;
@@ -687,7 +791,6 @@ index 64bc68eaa88f..b21a4c87853e 100644
+ FIELD_PREP(ASPEED_I2CD_BUF_OFFSET_MASK,
+ bus->buf_offset),
+ bus->base + ASPEED_I2C_BUF_CTRL_REG);
-+
+ } else {
+ if (bus->buf_index + 1 == msg->len)
+ command |= ASPEED_I2CD_M_S_RX_CMD_LAST;
@@ -695,7 +798,7 @@ index 64bc68eaa88f..b21a4c87853e 100644
writel(command, bus->base + ASPEED_I2C_CMD_REG);
} else {
aspeed_i2c_next_msg_or_stop(bus);
-@@ -948,6 +1142,9 @@ static int aspeed_i2c_init(struct aspeed_i2c_bus *bus,
+@@ -947,6 +1135,9 @@ static int aspeed_i2c_init(struct aspeed_i2c_bus *bus,
if (ret < 0)
return ret;
@@ -705,11 +808,13 @@ index 64bc68eaa88f..b21a4c87853e 100644
if (of_property_read_bool(pdev->dev.of_node, "multi-master"))
bus->multi_master = true;
else
-@@ -1010,17 +1207,32 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+@@ -1007,16 +1198,15 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+ {
+ const struct of_device_id *match;
struct aspeed_i2c_bus *bus;
++ bool sram_enabled = true;
struct clk *parent_clk;
- struct resource *res;
-+ void __iomem *gc_reg;
+- struct resource *res;
int irq, ret;
bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL);
@@ -717,54 +822,65 @@ index 64bc68eaa88f..b21a4c87853e 100644
return -ENOMEM;
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "bus-regs");
- bus->base = devm_ioremap_resource(&pdev->dev, res);
+- bus->base = devm_ioremap_resource(&pdev->dev, res);
++ bus->base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(bus->base))
return PTR_ERR(bus->base);
-+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "buf");
-+ bus->buf_base = devm_ioremap_resource(&pdev->dev, res);
-+ if (IS_ERR(bus->buf_base) || resource_size(res) < 2) {
-+ bus->buf_base = NULL;
-+ } else {
-+ bus->buf_size = resource_size(res);
-+ if (of_device_is_compatible(pdev->dev.of_node,
-+ "aspeed,ast2400-i2c-bus")) {
-+ bus->buf_page = (res->start >> 8) & GENMASK(3, 0) - 8;
-+ bus->buf_offset = (res->start >> 2) &
-+ ASPEED_I2CD_BUF_OFFSET_MASK;
+@@ -1050,6 +1240,42 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+ bus->get_clk_reg_val = (u32 (*)(struct device *, u32))
+ match->data;
+
++ /* Enable I2C SRAM in case of AST2500 */
++ if (of_device_is_compatible(pdev->dev.of_node,
++ "aspeed,ast2500-i2c-bus")) {
++ struct regmap *gr_regmap = syscon_regmap_lookup_by_compatible(
++ "aspeed,ast2500-i2c-gr");
++ if (IS_ERR(gr_regmap))
++ ret = PTR_ERR(gr_regmap);
++ else
++ ret = regmap_update_bits(gr_regmap,
++ ASPEED_I2CG_GLOBAL_CTRL_REG,
++ ASPEED_I2CG_SRAM_BUFFER_EN,
++ ASPEED_I2CG_SRAM_BUFFER_EN);
++
++ if (ret)
++ sram_enabled = false;
++ }
++
++ if (sram_enabled) {
++ struct resource *res = platform_get_resource(pdev,
++ IORESOURCE_MEM, 1);
++
++ bus->buf_base = devm_ioremap_resource(&pdev->dev, res);
++ if (IS_ERR(bus->buf_base) || resource_size(res) < 2) {
++ bus->buf_base = NULL;
++ } else {
++ bus->buf_size = resource_size(res);
++ if (of_device_is_compatible(pdev->dev.of_node,
++ "aspeed,ast2400-i2c-bus")) {
++ bus->buf_page = ((res->start >> 8) &
++ GENMASK(3, 0)) - 8;
++ bus->buf_offset = (res->start >> 2) &
++ ASPEED_I2CD_BUF_OFFSET_MASK;
++ }
+ }
+ }
+
- parent_clk = devm_clk_get(&pdev->dev, NULL);
- if (IS_ERR(parent_clk))
- return PTR_ERR(parent_clk);
-diff --git a/drivers/irqchip/irq-aspeed-i2c-ic.c b/drivers/irqchip/irq-aspeed-i2c-ic.c
-index f20200af0992..99985b22a9fa 100644
---- a/drivers/irqchip/irq-aspeed-i2c-ic.c
-+++ b/drivers/irqchip/irq-aspeed-i2c-ic.c
-@@ -18,6 +18,9 @@
- #include <linux/of_irq.h>
- #include <linux/io.h>
-
-+/* I2C Global Control Register (AST2500) */
-+#define ASPEED_I2C_GLOBAL_CTRL_REG 0xc
-+#define ASPEED_I2C_SRAM_BUFFER_EN BIT(0)
+ /* Initialize the I2C adapter */
+ spin_lock_init(&bus->lock);
+ init_completion(&bus->cmd_complete);
+@@ -1085,8 +1311,8 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
- #define ASPEED_I2C_IC_NUM_BUS 14
+ platform_set_drvdata(pdev, bus);
-@@ -100,6 +103,11 @@ static int __init aspeed_i2c_ic_of_init(struct device_node *node,
- irq_set_chained_handler_and_data(i2c_ic->parent_irq,
- aspeed_i2c_ic_irq_handler, i2c_ic);
-
-+ /* Enable I2C SRAM buffer in case of AST2500 */
-+ if (of_device_is_compatible(node, "aspeed,ast2500-i2c-ic"))
-+ writel(ASPEED_I2C_SRAM_BUFFER_EN,
-+ i2c_ic->base + ASPEED_I2C_GLOBAL_CTRL_REG);
-+
- pr_info("i2c controller registered, irq %d\n", i2c_ic->parent_irq);
+- dev_info(bus->dev, "i2c bus %d registered, irq %d\n",
+- bus->adap.nr, irq);
++ dev_info(bus->dev, "i2c bus %d registered (%s mode), irq %d\n",
++ bus->adap.nr, bus->buf_base ? "buffer" : "byte", irq);
return 0;
+ }
--
2.7.4
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0067-i2c-aspeed-add-DMA-mode-transfer-support.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0067-i2c-aspeed-add-DMA-mode-transfer-support.patch
new file mode 100644
index 000000000..a051dbc4d
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0067-i2c-aspeed-add-DMA-mode-transfer-support.patch
@@ -0,0 +1,442 @@
+From 7defe387ea07af3d48feb4daec78d54a284105f1 Mon Sep 17 00:00:00 2001
+From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+Date: Tue, 18 Jun 2019 08:47:50 -0700
+Subject: [PATCH] i2c: aspeed: add DMA mode transfer support
+
+This commit adds DMA mode transfer support.
+
+Only AST2500 supports DMA mode under some limitations:
+I2C is sharing the DMA H/W with UHCI host controller and MCTP
+controller. Since those controllers operate with DMA mode only, I2C
+has to use buffer mode or byte mode instead if one of those
+controllers is enabled. Also make sure that if SD/eMMC or Port80
+snoop uses DMA mode instead of PIO or FIFO respectively, I2C can't
+use DMA mode.
+
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ .../devicetree/bindings/i2c/i2c-aspeed.txt | 25 +++
+ drivers/i2c/busses/i2c-aspeed.c | 231 +++++++++++++++++++--
+ 2 files changed, 241 insertions(+), 15 deletions(-)
+
+diff --git a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
+index e1a0ae7a8c08..97142516399a 100644
+--- a/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
++++ b/Documentation/devicetree/bindings/i2c/i2c-aspeed.txt
+@@ -19,6 +19,16 @@ Optional Properties:
+ - bus-frequency : frequency of the bus clock in Hz defaults to 100 kHz when not
+ specified
+ - multi-master : states that there is another master active on this bus.
++- aspeed,dma-buf-size : size of DMA buffer (from 2 to 4095 in case of AST2500).
++ Only AST2500 supports DMA mode under some limitations:
++ I2C is sharing the DMA H/W with UHCI host controller
++ and MCTP controller. Since those controllers operate
++ with DMA mode only, I2C has to use buffer mode or byte
++ mode instead if one of those controllers is enabled.
++ Also make sure that if SD/eMMC or Port80 snoop uses
++ DMA mode instead of PIO or FIFO respectively, I2C
++ can't use DMA mode. IF both DMA and buffer modes are
++ enabled, DMA mode will be selected.
+ - general-call : enables general call receiving.
+ - bus-timeout-ms: bus timeout in milliseconds defaults to 1 second when not
+ specified.
+@@ -75,4 +85,19 @@ i2c {
+ interrupts = <1>;
+ interrupt-parent = <&i2c_ic>;
+ };
++
++ /* DMA mode transfer enabled */
++ i2c2: i2c-bus@c0 {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ #interrupt-cells = <1>;
++ reg = <0xc0 0x40>;
++ aspeed,dma-buf-size = <4095>;
++ compatible = "aspeed,ast2500-i2c-bus";
++ clocks = <&syscon ASPEED_CLK_APB>;
++ resets = <&syscon ASPEED_RESET_I2C>;
++ bus-frequency = <100000>;
++ interrupts = <2>;
++ interrupt-parent = <&i2c_ic>;
++ };
+ };
+diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
+index b721fb1d6d4c..127bc69952ca 100644
+--- a/drivers/i2c/busses/i2c-aspeed.c
++++ b/drivers/i2c/busses/i2c-aspeed.c
+@@ -10,6 +10,8 @@
+ #include <linux/bitfield.h>
+ #include <linux/clk.h>
+ #include <linux/completion.h>
++#include <linux/dma-mapping.h>
++#include <linux/dmapool.h>
+ #include <linux/err.h>
+ #include <linux/errno.h>
+ #include <linux/i2c.h>
+@@ -47,6 +49,8 @@
+ #define ASPEED_I2C_DEV_ADDR_REG 0x18
+ #define ASPEED_I2C_BUF_CTRL_REG 0x1c
+ #define ASPEED_I2C_BYTE_BUF_REG 0x20
++#define ASPEED_I2C_DMA_ADDR_REG 0x24
++#define ASPEED_I2C_DMA_LEN_REG 0x28
+
+ /* Device Register Definition */
+ /* 0x00 : I2CD Function Control Register */
+@@ -112,6 +116,8 @@
+ #define ASPEED_I2CD_BUS_RECOVER_CMD BIT(11)
+
+ /* Command Bit */
++#define ASPEED_I2CD_RX_DMA_ENABLE BIT(9)
++#define ASPEED_I2CD_TX_DMA_ENABLE BIT(8)
+ #define ASPEED_I2CD_RX_BUFF_ENABLE BIT(7)
+ #define ASPEED_I2CD_TX_BUFF_ENABLE BIT(6)
+ #define ASPEED_I2CD_M_STOP_CMD BIT(5)
+@@ -131,6 +137,14 @@
+ #define ASPEED_I2CD_BUF_TX_COUNT_MASK GENMASK(15, 8)
+ #define ASPEED_I2CD_BUF_OFFSET_MASK GENMASK(5, 0)
+
++/* 0x24 : I2CD DMA Mode Buffer Address Register */
++#define ASPEED_I2CD_DMA_ADDR_MASK GENMASK(31, 2)
++#define ASPEED_I2CD_DMA_ALIGN 4
++
++/* 0x28 : I2CD DMA Transfer Length Register */
++#define ASPEED_I2CD_DMA_LEN_SHIFT 0
++#define ASPEED_I2CD_DMA_LEN_MASK GENMASK(11, 0)
++
+ enum aspeed_i2c_master_state {
+ ASPEED_I2C_MASTER_INACTIVE,
+ ASPEED_I2C_MASTER_PENDING,
+@@ -183,6 +197,12 @@ struct aspeed_i2c_bus {
+ size_t buf_size;
+ u8 buf_offset;
+ u8 buf_page;
++ /* DMA mode */
++ struct dma_pool *dma_pool;
++ dma_addr_t dma_handle;
++ u8 *dma_buf;
++ size_t dma_buf_size;
++ size_t dma_len;
+ #if IS_ENABLED(CONFIG_I2C_SLAVE)
+ struct i2c_client *slave;
+ enum aspeed_i2c_slave_state slave_state;
+@@ -310,9 +330,13 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+
+ /* Slave was sent something. */
+ if (irq_status & ASPEED_I2CD_INTR_RX_DONE) {
+- if (bus->buf_base &&
++ if (bus->dma_buf &&
+ bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED &&
+ !(irq_status & ASPEED_I2CD_INTR_NORMAL_STOP))
++ value = bus->dma_buf[0];
++ else if (bus->buf_base &&
++ bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED &&
++ !(irq_status & ASPEED_I2CD_INTR_NORMAL_STOP))
+ value = readb(bus->buf_base);
+ else
+ value = readl(bus->base + ASPEED_I2C_BYTE_BUF_REG) >> 8;
+@@ -347,7 +371,18 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ if (irq_status & ASPEED_I2CD_INTR_NORMAL_STOP) {
+ if (bus->slave_state == ASPEED_I2C_SLAVE_WRITE_RECEIVED &&
+ irq_status & ASPEED_I2CD_INTR_RX_DONE) {
+- if (bus->buf_base) {
++ if (bus->dma_buf) {
++ len = bus->dma_buf_size -
++ FIELD_GET(ASPEED_I2CD_DMA_LEN_MASK,
++ readl(bus->base +
++ ASPEED_I2C_DMA_LEN_REG));
++ for (i = 0; i < len; i++) {
++ value = bus->dma_buf[i];
++ i2c_slave_event(slave,
++ I2C_SLAVE_WRITE_RECEIVED,
++ &value);
++ }
++ } else if (bus->buf_base) {
+ len = FIELD_GET(ASPEED_I2CD_BUF_RX_COUNT_MASK,
+ readl(bus->base +
+ ASPEED_I2C_BUF_CTRL_REG));
+@@ -391,7 +426,15 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ case ASPEED_I2C_SLAVE_WRITE_REQUESTED:
+ bus->slave_state = ASPEED_I2C_SLAVE_WRITE_RECEIVED;
+ i2c_slave_event(slave, I2C_SLAVE_WRITE_REQUESTED, &value);
+- if (bus->buf_base) {
++ if (bus->dma_buf) {
++ writel(bus->dma_handle & ASPEED_I2CD_DMA_ADDR_MASK,
++ bus->base + ASPEED_I2C_DMA_ADDR_REG);
++ writel(FIELD_PREP(ASPEED_I2CD_DMA_LEN_MASK,
++ bus->dma_buf_size),
++ bus->base + ASPEED_I2C_DMA_LEN_REG);
++ writel(ASPEED_I2CD_RX_DMA_ENABLE,
++ bus->base + ASPEED_I2C_CMD_REG);
++ } else if (bus->buf_base) {
+ writel(FIELD_PREP(ASPEED_I2CD_BUF_RX_SIZE_MASK,
+ bus->buf_size - 1) |
+ FIELD_PREP(ASPEED_I2CD_BUF_OFFSET_MASK,
+@@ -403,7 +446,25 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ break;
+ case ASPEED_I2C_SLAVE_WRITE_RECEIVED:
+ i2c_slave_event(slave, I2C_SLAVE_WRITE_RECEIVED, &value);
+- if (bus->buf_base) {
++ if (bus->dma_buf) {
++ len = bus->dma_buf_size -
++ FIELD_GET(ASPEED_I2CD_DMA_LEN_MASK,
++ readl(bus->base +
++ ASPEED_I2C_DMA_LEN_REG));
++ for (i = 1; i < len; i++) {
++ value = bus->dma_buf[i];
++ i2c_slave_event(slave,
++ I2C_SLAVE_WRITE_RECEIVED,
++ &value);
++ }
++ writel(bus->dma_handle & ASPEED_I2CD_DMA_ADDR_MASK,
++ bus->base + ASPEED_I2C_DMA_ADDR_REG);
++ writel(FIELD_PREP(ASPEED_I2CD_DMA_LEN_MASK,
++ bus->dma_buf_size),
++ bus->base + ASPEED_I2C_DMA_LEN_REG);
++ writel(ASPEED_I2CD_RX_DMA_ENABLE,
++ bus->base + ASPEED_I2C_CMD_REG);
++ } else if (bus->buf_base) {
+ len = FIELD_GET(ASPEED_I2CD_BUF_RX_COUNT_MASK,
+ readl(bus->base +
+ ASPEED_I2C_BUF_CTRL_REG));
+@@ -472,7 +533,23 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
+ if (msg->flags & I2C_M_RD) {
+ command |= ASPEED_I2CD_M_RX_CMD;
+
+- if (bus->buf_base && !(msg->flags & I2C_M_RECV_LEN)) {
++ if (bus->dma_buf && !(msg->flags & I2C_M_RECV_LEN)) {
++ command |= ASPEED_I2CD_RX_DMA_ENABLE;
++
++ if (msg->len > bus->dma_buf_size) {
++ len = bus->dma_buf_size;
++ } else {
++ len = msg->len;
++ command |= ASPEED_I2CD_M_S_RX_CMD_LAST;
++ }
++
++ writel(bus->dma_handle & ASPEED_I2CD_DMA_ADDR_MASK,
++ bus->base + ASPEED_I2C_DMA_ADDR_REG);
++ writel(FIELD_PREP(ASPEED_I2CD_DMA_LEN_MASK,
++ len),
++ bus->base + ASPEED_I2C_DMA_LEN_REG);
++ bus->dma_len = len;
++ } else if (bus->buf_base && !(msg->flags & I2C_M_RECV_LEN)) {
+ command |= ASPEED_I2CD_RX_BUFF_ENABLE;
+
+ if (msg->len > bus->buf_size) {
+@@ -493,7 +570,26 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
+ command |= ASPEED_I2CD_M_S_RX_CMD_LAST;
+ }
+ } else {
+- if (bus->buf_base) {
++ if (bus->dma_buf) {
++ command |= ASPEED_I2CD_TX_DMA_ENABLE;
++
++ if (msg->len + 1 > bus->dma_buf_size)
++ len = bus->dma_buf_size;
++ else
++ len = msg->len + 1;
++
++ bus->dma_buf[0] = slave_addr;
++ memcpy(bus->dma_buf + 1, msg->buf, len);
++
++ bus->buf_index = len - 1;
++
++ writel(bus->dma_handle & ASPEED_I2CD_DMA_ADDR_MASK,
++ bus->base + ASPEED_I2C_DMA_ADDR_REG);
++ writel(FIELD_PREP(ASPEED_I2CD_DMA_LEN_MASK,
++ len),
++ bus->base + ASPEED_I2C_DMA_LEN_REG);
++ bus->dma_len = len;
++ } else if (bus->buf_base) {
+ int i;
+
+ command |= ASPEED_I2CD_TX_BUFF_ENABLE;
+@@ -529,7 +625,8 @@ static void aspeed_i2c_do_start(struct aspeed_i2c_bus *bus)
+ }
+ }
+
+- if (!(command & ASPEED_I2CD_TX_BUFF_ENABLE))
++ if (!(command & (ASPEED_I2CD_TX_BUFF_ENABLE |
++ ASPEED_I2CD_TX_DMA_ENABLE)))
+ writel(slave_addr, bus->base + ASPEED_I2C_BYTE_BUF_REG);
+ writel(command, bus->base + ASPEED_I2C_CMD_REG);
+ }
+@@ -685,7 +782,28 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ if (bus->buf_index < msg->len) {
+ command = ASPEED_I2CD_M_TX_CMD;
+
+- if (bus->buf_base) {
++ if (bus->dma_buf) {
++ command |= ASPEED_I2CD_TX_DMA_ENABLE;
++
++ if (msg->len - bus->buf_index >
++ bus->dma_buf_size)
++ len = bus->dma_buf_size;
++ else
++ len = msg->len - bus->buf_index;
++
++ memcpy(bus->dma_buf, msg->buf + bus->buf_index,
++ len);
++
++ bus->buf_index += len;
++
++ writel(bus->dma_handle &
++ ASPEED_I2CD_DMA_ADDR_MASK,
++ bus->base + ASPEED_I2C_DMA_ADDR_REG);
++ writel(FIELD_PREP(ASPEED_I2CD_DMA_LEN_MASK,
++ len),
++ bus->base + ASPEED_I2C_DMA_LEN_REG);
++ bus->dma_len = len;
++ } else if (bus->buf_base) {
+ u8 wbuf[4];
+ int i;
+
+@@ -736,7 +854,15 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ }
+ irq_handled |= ASPEED_I2CD_INTR_RX_DONE;
+
+- if (bus->buf_base && !(msg->flags & I2C_M_RECV_LEN)) {
++ if (bus->dma_buf && !(msg->flags & I2C_M_RECV_LEN)) {
++ len = bus->dma_len -
++ FIELD_GET(ASPEED_I2CD_DMA_LEN_MASK,
++ readl(bus->base +
++ ASPEED_I2C_DMA_LEN_REG));
++
++ memcpy(msg->buf + bus->buf_index, bus->dma_buf, len);
++ bus->buf_index += len;
++ } else if (bus->buf_base && !(msg->flags & I2C_M_RECV_LEN)) {
+ len = FIELD_GET(ASPEED_I2CD_BUF_RX_COUNT_MASK,
+ readl(bus->base +
+ ASPEED_I2C_BUF_CTRL_REG));
+@@ -764,7 +890,25 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ if (bus->buf_index < msg->len) {
+ command = ASPEED_I2CD_M_RX_CMD;
+ bus->master_state = ASPEED_I2C_MASTER_RX;
+- if (bus->buf_base) {
++ if (bus->dma_buf) {
++ command |= ASPEED_I2CD_RX_DMA_ENABLE;
++
++ if (msg->len - bus->buf_index >
++ bus->dma_buf_size) {
++ len = bus->dma_buf_size;
++ } else {
++ len = msg->len - bus->buf_index;
++ command |= ASPEED_I2CD_M_S_RX_CMD_LAST;
++ }
++
++ writel(bus->dma_handle &
++ ASPEED_I2CD_DMA_ADDR_MASK,
++ bus->base + ASPEED_I2C_DMA_ADDR_REG);
++ writel(FIELD_PREP(ASPEED_I2CD_DMA_LEN_MASK,
++ len),
++ bus->base + ASPEED_I2C_DMA_LEN_REG);
++ bus->dma_len = len;
++ } else if (bus->buf_base) {
+ command |= ASPEED_I2CD_RX_BUFF_ENABLE;
+
+ if (msg->len - bus->buf_index >
+@@ -1257,7 +1401,51 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+ sram_enabled = false;
+ }
+
+- if (sram_enabled) {
++ /*
++ * Only AST2500 supports DMA mode under some limitations:
++ * I2C is sharing the DMA H/W with UHCI host controller and MCTP
++ * controller. Since those controllers operate with DMA mode only, I2C
++ * has to use buffer mode or byte mode instead if one of those
++ * controllers is enabled. Also make sure that if SD/eMMC or Port80
++ * snoop uses DMA mode instead of PIO or FIFO respectively, I2C can't
++ * use DMA mode.
++ */
++ if (sram_enabled && !IS_ENABLED(CONFIG_USB_UHCI_ASPEED) &&
++ of_device_is_compatible(pdev->dev.of_node,
++ "aspeed,ast2500-i2c-bus")) {
++ u32 dma_len_max = ASPEED_I2CD_DMA_LEN_MASK >>
++ ASPEED_I2CD_DMA_LEN_SHIFT;
++
++ ret = device_property_read_u32(&pdev->dev,
++ "aspeed,dma-buf-size",
++ &bus->dma_buf_size);
++ if (!ret && bus->dma_buf_size > dma_len_max)
++ bus->dma_buf_size = dma_len_max;
++ }
++
++ if (bus->dma_buf_size) {
++ if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) {
++ dev_warn(&pdev->dev, "No suitable DMA available\n");
++ } else {
++ bus->dma_pool = dma_pool_create("i2c-aspeed",
++ &pdev->dev,
++ bus->dma_buf_size,
++ ASPEED_I2CD_DMA_ALIGN,
++ 0);
++ if (bus->dma_pool)
++ bus->dma_buf = dma_pool_alloc(bus->dma_pool,
++ GFP_KERNEL,
++ &bus->dma_handle);
++
++ if (!bus->dma_buf) {
++ dev_warn(&pdev->dev,
++ "Cannot allocate DMA buffer\n");
++ dma_pool_destroy(bus->dma_pool);
++ }
++ }
++ }
++
++ if (!bus->dma_buf && sram_enabled) {
+ struct resource *res = platform_get_resource(pdev,
+ IORESOURCE_MEM, 1);
+
+@@ -1297,24 +1485,33 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+ */
+ ret = aspeed_i2c_init(bus, pdev);
+ if (ret < 0)
+- return ret;
++ goto out_free_dma_buf;
+
+ irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
+ ret = devm_request_irq(&pdev->dev, irq, aspeed_i2c_bus_irq,
+ 0, dev_name(&pdev->dev), bus);
+ if (ret < 0)
+- return ret;
++ goto out_free_dma_buf;
+
+ ret = i2c_add_adapter(&bus->adap);
+ if (ret < 0)
+- return ret;
++ goto out_free_dma_buf;
+
+ platform_set_drvdata(pdev, bus);
+
+ dev_info(bus->dev, "i2c bus %d registered (%s mode), irq %d\n",
+- bus->adap.nr, bus->buf_base ? "buffer" : "byte", irq);
++ bus->adap.nr, bus->dma_buf ? "dma" :
++ bus->buf_base ? "buffer" : "byte",
++ irq);
+
+ return 0;
++
++out_free_dma_buf:
++ if (bus->dma_buf)
++ dma_pool_free(bus->dma_pool, bus->dma_buf, bus->dma_handle);
++ dma_pool_destroy(bus->dma_pool);
++
++ return ret;
+ }
+
+ static int aspeed_i2c_remove_bus(struct platform_device *pdev)
+@@ -1332,6 +1529,10 @@ static int aspeed_i2c_remove_bus(struct platform_device *pdev)
+
+ reset_control_assert(bus->rst);
+
++ if (bus->dma_buf)
++ dma_pool_free(bus->dma_pool, bus->dma_buf, bus->dma_handle);
++ dma_pool_destroy(bus->dma_pool);
++
+ i2c_del_adapter(&bus->adap);
+
+ return 0;
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0068-i2c-aspeed-add-H-W-timeout-support.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0068-i2c-aspeed-add-H-W-timeout-support.patch
new file mode 100644
index 000000000..f4dfd6cfa
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0068-i2c-aspeed-add-H-W-timeout-support.patch
@@ -0,0 +1,181 @@
+From 9a43b47fb794fd195912c6956783b021a46307f8 Mon Sep 17 00:00:00 2001
+From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+Date: Thu, 11 Jul 2019 13:53:34 -0700
+Subject: [PATCH] i2c: aspeed: add H/W timeout support
+
+This commit adds I2C H/W timeout support.
+
+Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
+---
+ drivers/i2c/busses/i2c-aspeed.c | 79 +++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 73 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
+index 0ed9a27850e6..ecb5793036cc 100644
+--- a/drivers/i2c/busses/i2c-aspeed.c
++++ b/drivers/i2c/busses/i2c-aspeed.c
+@@ -71,10 +71,14 @@
+ #define ASPEED_I2CD_TIME_SCL_HIGH_MASK GENMASK(19, 16)
+ #define ASPEED_I2CD_TIME_SCL_LOW_SHIFT 12
+ #define ASPEED_I2CD_TIME_SCL_LOW_MASK GENMASK(15, 12)
++#define ASPEED_I2CD_TIME_TIMEOUT_BASE_DIVISOR_SHIFT 8
++#define ASPEED_I2CD_TIME_TIMEOUT_BASE_DIVISOR_MASK GENMASK(9, 8)
+ #define ASPEED_I2CD_TIME_BASE_DIVISOR_MASK GENMASK(3, 0)
+ #define ASPEED_I2CD_TIME_SCL_REG_MAX GENMASK(3, 0)
++
+ /* 0x08 : I2CD Clock and AC Timing Control Register #2 */
+-#define ASPEED_NO_TIMEOUT_CTRL 0
++#define ASPEED_I2CD_TIMEOUT_CYCLES_SHIFT 0
++#define ASPEED_I2CD_TIMEOUT_CYCLES_MASK GENMASK(4, 0)
+
+ /* 0x0c : I2CD Interrupt Control Register &
+ * 0x10 : I2CD Interrupt Status Register
+@@ -82,6 +86,7 @@
+ * These share bit definitions, so use the same values for the enable &
+ * status bits.
+ */
++#define ASPEED_I2CD_INTR_SLAVE_INACTIVE_TIMEOUT BIT(15)
+ #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT BIT(14)
+ #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE BIT(13)
+ #define ASPEED_I2CD_INTR_GCALL_ADDR BIT(8)
+@@ -98,8 +103,11 @@
+ ASPEED_I2CD_INTR_SCL_TIMEOUT | \
+ ASPEED_I2CD_INTR_ABNORMAL | \
+ ASPEED_I2CD_INTR_ARBIT_LOSS)
++#define ASPEED_I2CD_INTR_SLAVE_ERRORS \
++ ASPEED_I2CD_INTR_SLAVE_INACTIVE_TIMEOUT
+ #define ASPEED_I2CD_INTR_ALL \
+- (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
++ (ASPEED_I2CD_INTR_SLAVE_INACTIVE_TIMEOUT | \
++ ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
+ ASPEED_I2CD_INTR_BUS_RECOVER_DONE | \
+ ASPEED_I2CD_INTR_SCL_TIMEOUT | \
+ ASPEED_I2CD_INTR_ABNORMAL | \
+@@ -180,6 +188,7 @@ struct aspeed_i2c_bus {
+ u32 divisor);
+ unsigned long parent_clk_frequency;
+ u32 bus_frequency;
++ u32 hw_timeout_ms;
+ /* Transaction state. */
+ enum aspeed_i2c_master_state master_state;
+ struct i2c_msg *msgs;
+@@ -297,6 +306,14 @@ static int aspeed_i2c_recover_bus(struct aspeed_i2c_bus *bus)
+ }
+
+ #if IS_ENABLED(CONFIG_I2C_SLAVE)
++static int aspeed_i2c_check_slave_error(u32 irq_status)
++{
++ if (irq_status & ASPEED_I2CD_INTR_SLAVE_INACTIVE_TIMEOUT)
++ return -EIO;
++
++ return 0;
++}
++
+ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ {
+ u32 command, irq_handled = 0;
+@@ -307,6 +324,14 @@ static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ if (!slave)
+ return 0;
+
++ if (aspeed_i2c_check_slave_error(irq_status)) {
++ dev_dbg(bus->dev, "received slave error interrupt: 0x%08x\n",
++ irq_status);
++ irq_handled |= (irq_status & ASPEED_I2CD_INTR_SLAVE_ERRORS);
++ bus->slave_state = ASPEED_I2C_SLAVE_INACTIVE;
++ return irq_handled;
++ }
++
+ command = readl(bus->base + ASPEED_I2C_CMD_REG);
+
+ /* Slave was requested, restart state machine. */
+@@ -649,7 +674,7 @@ static void aspeed_i2c_next_msg_or_stop(struct aspeed_i2c_bus *bus)
+ }
+ }
+
+-static int aspeed_i2c_is_irq_error(u32 irq_status)
++static int aspeed_i2c_check_master_error(u32 irq_status)
+ {
+ if (irq_status & ASPEED_I2CD_INTR_ARBIT_LOSS)
+ return -EAGAIN;
+@@ -680,9 +705,9 @@ static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status)
+ * should clear the command queue effectively taking us back to the
+ * INACTIVE state.
+ */
+- ret = aspeed_i2c_is_irq_error(irq_status);
++ ret = aspeed_i2c_check_master_error(irq_status);
+ if (ret) {
+- dev_dbg(bus->dev, "received error interrupt: 0x%08x\n",
++ dev_dbg(bus->dev, "received master error interrupt: 0x%08x\n",
+ irq_status);
+ irq_handled |= (irq_status & ASPEED_I2CD_INTR_MASTER_ERRORS);
+ if (bus->master_state != ASPEED_I2C_MASTER_INACTIVE) {
+@@ -1251,6 +1276,7 @@ static u32 aspeed_i2c_25xx_get_clk_reg_val(struct device *dev, u32 divisor)
+ /* precondition: bus.lock has been acquired. */
+ static int aspeed_i2c_init_clk(struct aspeed_i2c_bus *bus)
+ {
++ u32 timeout_base_divisor, timeout_tick_us, timeout_cycles;
+ u32 divisor, clk_reg_val;
+
+ divisor = DIV_ROUND_UP(bus->parent_clk_frequency, bus->bus_frequency);
+@@ -1259,8 +1285,46 @@ static int aspeed_i2c_init_clk(struct aspeed_i2c_bus *bus)
+ ASPEED_I2CD_TIME_THDSTA_MASK |
+ ASPEED_I2CD_TIME_TACST_MASK);
+ clk_reg_val |= bus->get_clk_reg_val(bus->dev, divisor);
++
++ if (bus->hw_timeout_ms) {
++ u8 div_max = ASPEED_I2CD_TIME_TIMEOUT_BASE_DIVISOR_MASK >>
++ ASPEED_I2CD_TIME_TIMEOUT_BASE_DIVISOR_SHIFT;
++ u8 cycles_max = ASPEED_I2CD_TIMEOUT_CYCLES_MASK >>
++ ASPEED_I2CD_TIMEOUT_CYCLES_SHIFT;
++
++ timeout_base_divisor = 0;
++
++ do {
++ timeout_tick_us = 1000 * (16384 <<
++ (timeout_base_divisor << 1)) /
++ (bus->parent_clk_frequency / 1000);
++
++ if (timeout_base_divisor == div_max ||
++ timeout_tick_us * ASPEED_I2CD_TIMEOUT_CYCLES_MASK >=
++ bus->hw_timeout_ms * 1000)
++ break;
++ } while (timeout_base_divisor++ < div_max);
++
++ if (timeout_tick_us) {
++ timeout_cycles = DIV_ROUND_UP(bus->hw_timeout_ms * 1000,
++ timeout_tick_us);
++ if (timeout_cycles == 0)
++ timeout_cycles = 1;
++ else if (timeout_cycles > cycles_max)
++ timeout_cycles = cycles_max;
++ } else {
++ timeout_cycles = 0;
++ }
++ } else {
++ timeout_base_divisor = 0;
++ timeout_cycles = 0;
++ }
++
++ clk_reg_val |= FIELD_PREP(ASPEED_I2CD_TIME_TIMEOUT_BASE_DIVISOR_MASK,
++ timeout_base_divisor);
++
+ writel(clk_reg_val, bus->base + ASPEED_I2C_AC_TIMING_REG1);
+- writel(ASPEED_NO_TIMEOUT_CTRL, bus->base + ASPEED_I2C_AC_TIMING_REG2);
++ writel(timeout_cycles, bus->base + ASPEED_I2C_AC_TIMING_REG2);
+
+ return 0;
+ }
+@@ -1464,6 +1528,9 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
+ }
+ }
+
++ device_property_read_u32(&pdev->dev, "aspeed,hw-timeout-ms",
++ &bus->hw_timeout_ms);
++
+ /* Initialize the I2C adapter */
+ spin_lock_init(&bus->lock);
+ init_completion(&bus->cmd_complete);
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
index ed5be3455..999c8d17c 100644
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -13,6 +13,7 @@ SRC_URI += " \
file://0009-SGPIO-DT-and-pinctrl-fixup.patch \
file://0010-Update-PECI-drivers-to-sync-with-linux-upstreaming-v.patch \
file://0019-Add-I2C-IPMB-support.patch \
+ file://0020-misc-aspeed-add-lpc-mbox-driver.patch \
file://0021-Initial-Port-of-Aspeed-LPC-SIO-driver.patch \
file://0022-Add-AST2500-eSPI-driver.patch \
file://0026-Add-support-for-new-PECI-commands.patch \
@@ -24,14 +25,11 @@ SRC_URI += " \
file://0035-Implement-a-memory-driver-share-memory.patch \
file://0039-Add-Aspeed-PWM-driver-which-uses-FTTMR010-timer-IP.patch \
file://0040-i2c-Add-mux-hold-unhold-msg-types.patch \
- file://0041-Enable-passthrough-based-gpio-character-device.patch \
file://0042-Add-bus-timeout-ms-and-retries-device-tree-propertie.patch \
file://0043-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-BT.patch \
file://0044-misc-Add-clock-control-logic-into-Aspeed-LPC-SNOOP-d.patch \
file://0045-char-ipmi-Add-clock-control-logic-into-Aspeed-LPC-KC.patch \
- file://0046-misc-Add-clock-control-logic-into-Aspeed-LPC-MBOX-dr.patch \
file://0047-misc-Block-error-printing-on-probe-defer-case-in-Asp.patch \
- file://0048-ARM-dts-aspeed-Set-default-status-of-LPC-BT-as-disab.patch \
file://0049-Suppress-excessive-HID-gadget-error-logs.patch \
file://0051-Add-AST2500-JTAG-device.patch \
file://0052-drivers-jtag-Add-JTAG-core-driver.patch \
@@ -43,4 +41,7 @@ SRC_URI += " \
file://0058-i2c-aspeed-add-general-call-support.patch \
file://0065-i2c-aspeed-fix-master-pending-state-handling.patch \
file://0066-i2c-aspeed-add-buffer-mode-transfer-support.patch \
+ file://0067-i2c-aspeed-add-DMA-mode-transfer-support.patch \
+ file://0001-set-idle-disconnect-to-true-in-all-cases.patch \
+ file://0068-i2c-aspeed-add-H-W-timeout-support.patch \
"
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers/0001-Enable-passthrough-based-gpio-character-device.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers/0001-Enable-passthrough-based-gpio-character-device.patch
deleted file mode 100644
index 15e845ebc..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers/0001-Enable-passthrough-based-gpio-character-device.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 61a5796d151337fd537d1aeb3fb072dcdf96abbe Mon Sep 17 00:00:00 2001
-From: Kuiying Wang <kuiying.wang@intel.com>
-Date: Sun, 3 Feb 2019 16:08:11 +0800
-Subject: [PATCH] Enable passthrough based gpio character device.
-
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
----
- include/uapi/linux/gpio.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
-index 1bf6e6df..8883ca90 100644
---- a/include/uapi/linux/gpio.h
-+++ b/include/uapi/linux/gpio.h
-@@ -62,7 +62,7 @@ struct gpioline_info {
- #define GPIOHANDLE_REQUEST_ACTIVE_LOW (1UL << 2)
- #define GPIOHANDLE_REQUEST_OPEN_DRAIN (1UL << 3)
- #define GPIOHANDLE_REQUEST_OPEN_SOURCE (1UL << 4)
--
-+#define GPIOHANDLE_REQUEST_PASS_THROUGH (1UL << 5)
- /**
- * struct gpiohandle_request - Information about a GPIO handle request
- * @lineoffsets: an array desired lines, specified by offset index for the
---
-2.16.2
-
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers_%.bbappend b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers_%.bbappend
deleted file mode 100644
index 703af71df..000000000
--- a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-libc-headers_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += " \
- file://0001-Enable-passthrough-based-gpio-character-device.patch \
- "
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.CloseMuxes.service b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.CloseMuxes.service
deleted file mode 100644
index bc05fa1a1..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager/xyz.openbmc_project.CloseMuxes.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Close Muxes
-ConditionFileNotEmpty=/usr/bin/CloseMuxes.py
-
-[Service]
-ExecStart=/usr/bin/env CloseMuxes.py
-Type=oneshot
-
-[Install]
-WantedBy=basic.target
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
index 8b9da74f0..d4b50df88 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/configuration/entity-manager_%.bbappend
@@ -1,18 +1,8 @@
# this is here just to bump faster than upstream
SRC_URI = "git://github.com/openbmc/entity-manager.git"
-SRCREV = "15c49902cf030a91a5b4bd325d185ee74b760359"
+SRCREV = "441c7a86749b2331863b115e141033e735bd6ffc"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-RDEPENDS_${PN} += "python"
-SRC_URI += " file://xyz.openbmc_project.CloseMuxes.service"
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.CloseMuxes.service"
-
EXTRA_OECMAKE = "-DYOCTO=1 -DUSE_OVERLAYS=0"
-do_install_prepend() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/scripts/CloseMuxes.py ${D}${bindir}
- install -d ${D}${base_libdir}/systemd/system
- install -m 0644 ${WORKDIR}/xyz.openbmc_project.CloseMuxes.service ${D}${base_libdir}/systemd/system
-}
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0002-Modify-Dbus-for-IPv6.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0002-Modify-Dbus-for-IPv6.patch
index 3ca81c388..fc09da3bd 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0002-Modify-Dbus-for-IPv6.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0002-Modify-Dbus-for-IPv6.patch
@@ -1,26 +1,24 @@
-From 068b816b3c9bf75dcd2a808fc81c67a32fbe29ea Mon Sep 17 00:00:00 2001
+From 62240a7ef12bb2ed3730a625ad7a809a9a6d0512 Mon Sep 17 00:00:00 2001
From: David Cobbley <david.j.cobbley@linux.intel.com>
Date: Wed, 6 Jun 2018 10:11:58 -0700
-Subject: [PATCH] Modify Dbus for IPv6.
+Subject: [PATCH 1/1] Modify Dbus for IPv6.
Add additional interfaces for IPv6 use.
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
---
- .../Network/EthernetInterface.interface.yaml | 17 ++++++++++++++++-
- xyz/openbmc_project/Network/IP.interface.yaml | 4 ++++
- 2 files changed, 20 insertions(+), 1 deletion(-)
+ .../Network/EthernetInterface.interface.yaml | 13 ++++++++++++-
+ xyz/openbmc_project/Network/IP.interface.yaml | 4 ++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/xyz/openbmc_project/Network/EthernetInterface.interface.yaml b/xyz/openbmc_project/Network/EthernetInterface.interface.yaml
-index 744ac77..6b7cd9a 100644
+index 6fa1d0b..6b7cd9a 100644
--- a/xyz/openbmc_project/Network/EthernetInterface.interface.yaml
+++ b/xyz/openbmc_project/Network/EthernetInterface.interface.yaml
-@@ -42,6 +42,14 @@ properties:
+@@ -46,6 +46,10 @@ properties:
+ type: boolean
description: >
- This indicates link local auto configuration on this ethernet
- interface and configured on this ethernet interface.
-+ - name: IPv6AcceptRA
-+ type: boolean
-+ description: >
-+ Boolean for accepting router advertisements in IPv6
+ Boolean for accepting router advertisements in IPv6
+ - name: IPAddressEnables
+ type: enum[self.IPAllowed]
+ description: >
@@ -28,7 +26,7 @@ index 744ac77..6b7cd9a 100644
enumerations:
- name: LinkLocalConf
-@@ -52,4 +60,11 @@ enumerations:
+@@ -56,4 +60,11 @@ enumerations:
- name: v4
- name: v6
- name: none
@@ -42,13 +40,13 @@ index 744ac77..6b7cd9a 100644
+ - name: IPv4Only
+ - name: IPv6Only
diff --git a/xyz/openbmc_project/Network/IP.interface.yaml b/xyz/openbmc_project/Network/IP.interface.yaml
-index 565dcd6..2ffb016 100644
+index 5091ac9..b2442a5 100644
--- a/xyz/openbmc_project/Network/IP.interface.yaml
+++ b/xyz/openbmc_project/Network/IP.interface.yaml
-@@ -22,6 +22,10 @@ properties:
- type: string
- description: >
- This is the IP gateway for this address.
+@@ -34,6 +34,10 @@ properties:
+ errors:
+ - xyz::openbmc_project.Common.Error.NotAllowed
+
+ - name: BackupGateway
+ type: string
+ description: >
@@ -57,5 +55,5 @@ index 565dcd6..2ffb016 100644
type: enum[self.Protocol]
description: >
--
-2.7.4
+2.17.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0003-Chassis-Power-Control-are-implemented.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0003-Chassis-Power-Control-are-implemented.patch
deleted file mode 100644
index 0e25856ac..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0003-Chassis-Power-Control-are-implemented.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-From a20f9fa9941533b591b6bbfe6b22a74b7c0dfe64 Mon Sep 17 00:00:00 2001
-From: Ed Tanous <ed.tanous@intel.com>
-Date: Thu, 24 Jan 2019 09:29:01 -0800
-Subject: [PATCH] Chassis Power Control are implemented.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Feature level:
-Power on server is ready
-Power off server is ready
-Power cycle server is ready
-Power reset server is ready
-
-Framework level:
-WebUI is enabled.
-IPMI Commands is enabled.
-Restful API is enabled.
-Physical buttons (Power/Reset/ID) are enabled.
-Chassis state manager is enabled.
-Host state manager is enabled.
-
-Enabled IPMI commands:
-ipmitool -H <ip_addr> -P <pass_word> -I lanplus chassis status
-ipmitool -H <ip_addr>  -P <pass_word> -I lanplus chassis power status
-ipmitool -H <ip_addr>  -P <pass_word> -I lanplus chassis power on
-ipmitool -H <ip_addr>  -P <pass_word> -I lanplus chassis power off
-ipmitool -H <ip_addr>  -P <pass_word> -I lanplus chassis power cycle
-ipmitool -H <ip_addr>  -P <pass_word> -I lanplus chassis power reset
-
-Enabled Restful APIs:
-Login: curl --noproxy <ip_addr> -c cjar -b cjar -k -H "Content-Type: application/json" -X POST https://<ip_addr>/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }“
-Host State: curl --noproxy <ip_addr> -b cjar -k https://<ip_addr>/xyz/openbmc_project/state/host0
-Chassis State: curl --noproxy <ip_addr> -b cjar -k https://<ip_addr>/xyz/openbmc_project/state/chassis0
-Power state: curl --noproxy <ip_addr> -b cjar -k https://<ip_addr>/xyz/openbmc_project/Chassis/Control/Power0
-Power on/off: curl --noproxy <ip_addr> -q1c cjar -b cjar -k -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}' -X PUT https://<ip_addr>/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
-
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- .../Chassis/Control/Chassis.interface.yaml | 94 ++++++++++++++++++++++
- .../Chassis/Control/Power.interface.yaml | 92 ++++++++++++++++++---
- 2 files changed, 173 insertions(+), 13 deletions(-)
- create mode 100644 xyz/openbmc_project/Chassis/Control/Chassis.interface.yaml
-
-diff --git a/xyz/openbmc_project/Chassis/Control/Chassis.interface.yaml b/xyz/openbmc_project/Chassis/Control/Chassis.interface.yaml
-new file mode 100644
-index 0000000..c28492a
---- /dev/null
-+++ b/xyz/openbmc_project/Chassis/Control/Chassis.interface.yaml
-@@ -0,0 +1,94 @@
-+description: >
-+ chassis control service
-+methods:
-+ - name: powerOn
-+ description: >
-+ Power on system.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: powerOff
-+ description: >
-+ Power Off system.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: softPowerOff
-+ description: >
-+ Soft Power off system.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: reboot
-+ description: >
-+ reboot system.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: softReboot
-+ description: >
-+ Soft Reboot system.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: quiesce
-+ description: >
-+ Quiesce system.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: getPowerState
-+ description: >
-+ Get system power state.
-+ returns:
-+ - name: state
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-diff --git a/xyz/openbmc_project/Chassis/Control/Power.interface.yaml b/xyz/openbmc_project/Chassis/Control/Power.interface.yaml
-index 082586f..368beca 100644
---- a/xyz/openbmc_project/Chassis/Control/Power.interface.yaml
-+++ b/xyz/openbmc_project/Chassis/Control/Power.interface.yaml
-@@ -1,31 +1,97 @@
- description: >
-- Power control service
-+ Chassis control service
- methods:
-+ - name: setPowerState
-+ description: >
-+ set host power state.
-+ parameters:
-+ - name: state
-+ type: int32
-+ description: >
-+ 0 for force power off host
-+ 1 for power on host
-+ returns:
-+ - name: status
-+ type: int32
-+ description: >
-+ The result of command.
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
-+ - name: getPowerState
-+ description: >
-+ Get current host power status.
-+ returns:
-+ - name: status
-+ type: int32
-+ description: >
-+ Current host status,
-+ 0 for host power off
-+ 1 for host power on
-+ errors:
-+ - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
-+ - xyz.openbmc_project.Chassis.Common.Error.IOError
-+
- - name: forcePowerOff
- description: >
- Force power off the host.
- returns:
- - name: status
-- type: boolean
-+ type: int32
- description: >
- The result of power off command.
- errors:
- - xyz.openbmc_project.Chassis.Common.Error.UnsupportedCommand
-+
- - xyz.openbmc_project.Chassis.Common.Error.IOError
-
- properties:
-- - name: PGood
-- type: boolean
-- default: false
-+ - name: vrd_good
-+ type: int32
-+ default: 0
-+ description: >
-+ ACPI status
-+ - name: s4s5_state
-+ type: int32
-+ default: 0
-+ description: >
-+ ACPI status
-+ - name: pgood
-+ type: int32
-+ default: 0
- description: >
-- PSU Power good property
-- It is a read-only property.
-- - name: State
-+ pgood property
-+ - name: state
- type: int32
- default: 0
- description: >
-- System power status
-- 0: power is off
-- 1: power is on
-- Setting its value to change the system state
-- Read its value to get the system state.
-\ No newline at end of file
-+ state property
-+ - name: pgood_timeout
-+ type: int32
-+ default: 0
-+ description: >
-+ pgoodtimeout property
-+ - name: post_complete
-+ type: boolean
-+ default: false
-+ description: >
-+ The current BIOS POST state,
-+ false means not completed or system reset,
-+ true means BIOS POST completed.
-+ - name: PFail
-+ type: boolean
-+ default: true
-+ description: >
-+ The current booting status,
-+ true means booting from AC loss,
-+ false means not booting from AC loss.
-+signals:
-+ - name: PowerGood
-+ description: >
-+ Signal for powergood
-+ - name: PowerLost
-+ description: >
-+ Signal for powerlost
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0009-Add-host-restart-cause-property.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0009-Add-host-restart-cause-property.patch
deleted file mode 100644
index 1221a0ab4..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0009-Add-host-restart-cause-property.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 72b7b30a5dda56c170ee2ce82c1082c26f4663e3 Mon Sep 17 00:00:00 2001
-From: Kuiying Wang <kuiying.wang@intel.com>
-Date: Tue, 31 Jul 2018 16:55:21 +0800
-Subject: [PATCH] Add host restart cause property.
-
-Add host restart cause property to track the information about what
-action last caused the system to restart.
-According to IPMI Spec, it includes 12 types as following:
-1. Unknown 0x0
-2. IpmiCommand 0x1
-3. ResetButton 0x2
-4. PowerButton 0x3
-5. WatchdogTimer 0x4
-6. OEM 0x5
-7. PowerPolicyAlwaysOn 0x6
-8. PowerPolicyPreviousState 0x7
-9. PEF-Reset 0x8
-10. PEF-PowerCycle 0x9
-11. SoftReset 0xA
-12. RTC-Wakeup 0xB
-
-Change-Id: Id2cc6a18b98e485a978940e5ffc085bf5c4fbed8
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
----
- xyz/openbmc_project/State/Host.interface.yaml | 52 +++++++++++++++++++
- 1 file changed, 52 insertions(+)
-
-diff --git a/xyz/openbmc_project/State/Host.interface.yaml b/xyz/openbmc_project/State/Host.interface.yaml
-index 8f481b8..a4d88d0 100644
---- a/xyz/openbmc_project/State/Host.interface.yaml
-+++ b/xyz/openbmc_project/State/Host.interface.yaml
-@@ -17,6 +17,12 @@ properties:
- comparing the CurrentHostState and the RequestedHostTransition
- properties.
-
-+ - name: HostRestartCause
-+ type: enum[self.RestartCause]
-+ default: Unknown
-+ description: >
-+ The information about what action last caused the system to restart.
-+
- enumerations:
- - name: Transition
- description: >
-@@ -45,3 +51,49 @@ enumerations:
- - name: 'Quiesced'
- description: >
- Host firmware is quiesced
-+
-+ - name: RestartCause
-+ description: >
-+ The information about what action last caused the system to restart.
-+ values:
-+ - name: Unknown
-+ description: >
-+ System start/restart detected but the reason is unknown.
-+ - name: IpmiCommand
-+ description: >
-+ System start/restart detected and caused by ipmi command.
-+ - name: ResetButton
-+ description: >
-+ System start/restart detected and caused by reset button.
-+ - name: PowerButton
-+ description: >
-+ System start/restart detected and caused by power button.
-+ - name: WatchdogTimer
-+ description: >
-+ System start/restart detected and casued by watchdog expiration.
-+ - name: OEM
-+ description: >
-+ System start/restart detected and caused by OEM command.
-+ - name: PowerPolicyAlwaysOn
-+ description: >
-+ System start/restart detected and caused by power restore policy
-+ "chassis always powers up after AC/mains is applied or returns".
-+ - name: PowerPolicyPreviousState
-+ description: >
-+ System start/restart detected and caused by power restore policy
-+ "after AC/mains is applied or returns, power is restored to the
-+ state was in effect when AC/mains removed or lost".
-+ - name: PEFReset
-+ description: >
-+ System start/restart detected and caused by PEF(reset).
-+ - name: PEFPowerCycle
-+ description: >
-+ System start/restart detected and caused by PEF(power-cycle).
-+ - name: SoftReset
-+ description: >
-+ System start/restart detected and caused by soft reset like
-+ "CTRL-ALT-DEL".
-+ - name: RTCWakeup
-+ description: >
-+ System start/restart detected and caused by system real time
-+ clock(RTC) wakeup.
-\ No newline at end of file
---
-2.17.0
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0014-Add-multiple-state-signal-for-host-start-and-stop.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0014-Add-multiple-state-signal-for-host-start-and-stop.patch
deleted file mode 100644
index a8d732dab..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0014-Add-multiple-state-signal-for-host-start-and-stop.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 6d0069f4a2b4637c58fd321c9db3034ac9dd17c7 Mon Sep 17 00:00:00 2001
-From: Kuiying Wang <kuiying.wang@intel.com>
-Date: Wed, 12 Sep 2018 15:03:26 +0800
-Subject: [PATCH] Add multiple state signal for host start and stop
-
-Add six host state signals like following:
- - name: PreHostStart
- description: >
- This is the signal to indicate host is at pre start stage.
- - name: PostHostStart
- description: >
- This is the signal to indicate host is at start complete stage.
- - name: HostStarting
- description: >
- This is the signal to indicate host is at starting stage.
- - name: HostStoping
- description: >
- This is the signal to indicate host is at stoping stage.
- - name: PreHostStop
- description: >
- This is the signal to indicate host is at pre stop stage.
- - name: PostHostStop
- description: >
- This is the signal to indicate host is at stop complete stage.
-
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
----
- xyz/openbmc_project/State/Host.interface.yaml | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/xyz/openbmc_project/State/Host.interface.yaml b/xyz/openbmc_project/State/Host.interface.yaml
-index 8531a27..1ceba13 100644
---- a/xyz/openbmc_project/State/Host.interface.yaml
-+++ b/xyz/openbmc_project/State/Host.interface.yaml
-@@ -96,4 +96,23 @@ enumerations:
- - name: RTCWakeup
- description: >
- System start/restart detected and caused by system real time
-- clock(RTC) wakeup.
-\ No newline at end of file
-+ clock(RTC) wakeup.
-+signals:
-+ - name: PreHostStart
-+ description: >
-+ This is the signal to indicate host is at pre start stage.
-+ - name: PostHostStart
-+ description: >
-+ This is the signal to indicate host is at start complete stage.
-+ - name: HostStarting
-+ description: >
-+ This is the signal to indicate host is at starting stage.
-+ - name: HostStoping
-+ description: >
-+ This is the signal to indicate host is at stoping stage.
-+ - name: PreHostStop
-+ description: >
-+ This is the signal to indicate host is at pre stop stage.
-+ - name: PostHostStop
-+ description: >
-+ This is the signal to indicate host is at stop complete stage.
---
-2.16.2
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0019-Creating-the-Session-interface-for-Host-and-LAN.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0019-Creating-the-Session-interface-for-Host-and-LAN.patch
deleted file mode 100644
index 47fab819b..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0019-Creating-the-Session-interface-for-Host-and-LAN.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 28fac58dc6ef975e1e9283163d9f1e4c7764c3cc Mon Sep 17 00:00:00 2001
-From: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
-Date: Sat, 2 Mar 2019 03:31:09 +0530
-Subject: [PATCH] Creating the Session interface- for Host and LAN
-
-Defined all needed session properites to manage the session in
-host and also in LAN
-
-Change-Id: Ic7cccfc3333a602ee07fcd60077ec58fd8f06304
-Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
-
-%% original patch: 0019-Creating-the-Session-interface-for-Host-and-LAN.patch
----
- xyz/openbmc_project/Ipmi/SESSION_README.md | 25 ++++++++++
- .../Ipmi/SessionInfo.interface.yaml | 57 ++++++++++++++++++++++
- 2 files changed, 82 insertions(+)
- create mode 100644 xyz/openbmc_project/Ipmi/SESSION_README.md
- create mode 100644 xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml
-
-diff --git a/xyz/openbmc_project/Ipmi/SESSION_README.md b/xyz/openbmc_project/Ipmi/SESSION_README.md
-new file mode 100644
-index 0000000..c59b251
---- /dev/null
-+++ b/xyz/openbmc_project/Ipmi/SESSION_README.md
-@@ -0,0 +1,25 @@
-+# Session Management
-+
-+## Overview
-+IPMI RMCP+ sessions are created and maintained by phosphor-ipmi-net daemon,
-+whereas we need to provide details about the same using phosphor-ipmi-host.
-+Hence IPMI RMCP+ session details has to be exposed through D-Bus interface,
-+so that both phosphor-ipmi-host & phosphr-ipmi-net will be in sync.
-+
-+
-+#### xyz.openbmc_project.Ipmi.SessionInfo interface
-+##### properties
-+* SessionHandle - SessionHandle,unique one-byte number to locate the session.
-+* Channel - Session created channel.
-+* SessionPrivilege - Privilege of the session.
-+* RemoteIPAddr – Remote IP address.
-+* RemotePort - Remote port address.
-+* RemoteMACAddress -Remote MAC Address.
-+* UserID - Session created by given user id.
-+
-+
-+
-+#### xyz.openbmc_project.Object.Delete
-+#### methods
-+* Delete - To delete the session object in the system.
-+
-diff --git a/xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml b/xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml
-new file mode 100644
-index 0000000..d461628
---- /dev/null
-+++ b/xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml
-@@ -0,0 +1,57 @@
-+description: >
-+ Provides properties for IPMI RMCP+ session objects.
-+ Provides RMCP+ session information as session objects
-+ with Session ID (unique identifier) as path suffix.
-+
-+properties:
-+ - name: SessionHandle
-+ type: byte
-+ description: >
-+ Session Handle,unique number to locate the session.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: ChannelNum
-+ type: byte
-+ description: >
-+ channelnumber which session is created.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: CurrentPrivilege
-+ type: byte
-+ description: >
-+ Privilege of the session.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: RemoteIPAddr
-+ type: uint32
-+ description: >
-+ Remote IP address.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: RemotePort
-+ type: uint16
-+ description: >
-+ Remote IP Port.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: RemoteMACAddress
-+ type: array[byte]
-+ description: >
-+ Remote MAC address.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: UserID
-+ type: byte
-+ description: >
-+ Session created by given user ID.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+ - name: State
-+ type: byte
-+ default: 0
-+ description: >
-+ Session state.
-+ errors:
-+ - xyz.openbmc_project.Common.Error.InternalFailure
-+
-+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-Add-interface-suppot-for-provisioning-modes.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-Add-interface-suppot-for-provisioning-modes.patch
deleted file mode 100644
index f6e200cab..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-Add-interface-suppot-for-provisioning-modes.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 94fb1ac5dd4d54ea5a6d49597e1f15c384be7fd6 Mon Sep 17 00:00:00 2001
-From: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
-Date: Mon, 8 Apr 2019 11:48:22 +0530
-Subject: [PATCH] Add interface suppot for provisioning modes
-
-Support for provisioning modes are added in
-RestrictionMode.interface.yaml
-
-Tested:
-1. Verified build, and verified specified modes are available
-and able to set / get the same using busctl command
-
-Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
----
- .../Security/RestrictionMode.interface.yaml | 24 ++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git a/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml b/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml
-index 8e4fd8d..d328dac 100644
---- a/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml
-+++ b/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml
-@@ -21,3 +21,27 @@ enumerations:
- - name: Blacklist
- description: >
- Prevent, if in the blacklist.
-+ - name: Provisioning
-+ description: >
-+ Indicate that system is in provisioning mode
-+ and all commands are allowed in KCS inteface
-+ in both pre and post BIOS boot.
-+ - name: ProvisionedKCSWhiteList
-+ description: >
-+ Commands in the whitelist will only be executed
-+ through KCS interface after BIOS POST complete.
-+ All KCS commands are supported before POST complete.
-+ - name: ProvisionedKCSDisabled
-+ description: >
-+ Commands through KCS interface are executed only
-+ till BIOS POST complete notification, after
-+ which no KCS commands will be executed(other
-+ than BIOS SMI based ones).
-+ - name: ValidationUnsecure
-+ description: >
-+ To indicate that BMC is in unsecure mode, and many
-+ operations which are not meant for end-user will be
-+ allowed in this mode. Interface which sets this
-+ property has to make sure due diligence is made
-+ as in this mode, many security intrinsic commands
-+ can be executed.
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-D-Bus-Intf-Security-modes-property-intf-update.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-D-Bus-Intf-Security-modes-property-intf-update.patch
new file mode 100644
index 000000000..62d5376d6
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0021-D-Bus-Intf-Security-modes-property-intf-update.patch
@@ -0,0 +1,80 @@
+From 9b0630f40c7fb1143901f7d114c376426cc03501 Mon Sep 17 00:00:00 2001
+From: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+Date: Sat, 15 Jun 2019 01:04:41 +0530
+Subject: [PATCH] [D-Bus Intf] Security modes property & intf update
+
+Defined new values for RestrictionMode property and defined
+SpecialMode interfaces to handle special cases like manufacturing
+and validation mode in OpenBMC.
+
+Note: Please refer Security mode design doc under review for more
+details
+https://gerrit.openbmc-project.xyz/#/c/openbmc/docs/+/21195/
+
+Change-Id: I270e7d23ca2ed260f2d121e3844c2ca79150070e
+Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+---
+ .../Security/RestrictionMode.interface.yaml | 16 +++++++++++++
+ .../Control/Security/SpecialMode.interface.yaml | 26 ++++++++++++++++++++++
+ 2 files changed, 42 insertions(+)
+ create mode 100644 xyz/openbmc_project/Control/Security/SpecialMode.interface.yaml
+
+diff --git a/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml b/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml
+index 8e4fd8d..afd2279 100644
+--- a/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml
++++ b/xyz/openbmc_project/Control/Security/RestrictionMode.interface.yaml
+@@ -21,3 +21,19 @@ enumerations:
+ - name: Blacklist
+ description: >
+ Prevent, if in the blacklist.
++ - name: Provisioning
++ description: >
++ Indicate that system is in provisioning mode
++ and all commands are allowed in system inteface
++ in both pre and post BIOS boot.
++ - name: ProvisionedHostWhitelist
++ description: >
++ Commands in the whitelist will only be executed
++ through system interface after BIOS POST complete.
++ All KCS commands are supported before POST complete.
++ - name: ProvisionedHostDisabled
++ description: >
++ Commands through system interface are executed only
++ till BIOS POST complete notification, after
++ which no system interface commands will be executed(other
++ than BIOS SMI based ones).
+diff --git a/xyz/openbmc_project/Control/Security/SpecialMode.interface.yaml b/xyz/openbmc_project/Control/Security/SpecialMode.interface.yaml
+new file mode 100644
+index 0000000..6760076
+--- /dev/null
++++ b/xyz/openbmc_project/Control/Security/SpecialMode.interface.yaml
+@@ -0,0 +1,26 @@
++description: >
++ Implement to specify a special mode of operation
++
++properties:
++ - name: SpecialMode
++ type: enum[self.Modes]
++ description: >
++ The special mode.
++
++enumerations:
++ - name: Modes
++ description: >
++ Possible modes available.
++ values:
++ - name: None
++ description: >
++ BMC is under normal working condition.
++ - name: Manufacturing
++ description: >
++ Indicate that BMC is in manufacturing mode
++ and is allowed to perform any manufacturing related
++ activity
++ - name: ValidationUnsecure
++ description: >
++ Indicate that BMC is in validation mode, and can
++ execute any special validation related commands
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0023-Add-host-interrupt-to-the-Host-State.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0023-Add-host-interrupt-to-the-Host-State.patch
deleted file mode 100644
index 650fd3bc9..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0023-Add-host-interrupt-to-the-Host-State.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9c94439a5a55efbb72bee10e9cfa0827dbedf511 Mon Sep 17 00:00:00 2001
-From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
-Date: Mon, 3 Jun 2019 16:35:46 -0700
-Subject: [PATCH] Add host interrupt to the Host State
-
-This adds host Interrupt as possible Transition value for the
-Host State. This is to support an interrupt signal to the host
-firmware or software.
-
-Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
----
- xyz/openbmc_project/State/Host.interface.yaml | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/xyz/openbmc_project/State/Host.interface.yaml b/xyz/openbmc_project/State/Host.interface.yaml
-index 1ceba13..3d71280 100644
---- a/xyz/openbmc_project/State/Host.interface.yaml
-+++ b/xyz/openbmc_project/State/Host.interface.yaml
-@@ -28,6 +28,9 @@ enumerations:
- description: >
- The desired transition for host firmware
- values:
-+ - name: 'Interrupt'
-+ description: >
-+ Host firmware should be interrupted
- - name: 'Off'
- description: >
- Host firmware should be off
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0025-Add-PreInterruptFlag-properity-in-DBUS.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0025-Add-PreInterruptFlag-properity-in-DBUS.patch
new file mode 100644
index 000000000..d7e66abd2
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces/0025-Add-PreInterruptFlag-properity-in-DBUS.patch
@@ -0,0 +1,39 @@
+From b7c487750c05dcc081219ccdd4ef539beef6aa30 Mon Sep 17 00:00:00 2001
+From: Ren Yu <yux.ren@intel.com>
+Date: Mon, 29 Jul 2019 10:51:12 +0800
+Subject: [PATCH] Add PreInterruptFlag properity in DBUS.
+
+PreTimeoutInterruptOccurFlag in DBUS would be set 'true'
+when watchdog pre-timeout interrupt occurred.
+
+Tested:
+Enable command(raw 0x06 0x31) that get message flag
+can set right bit about watchdog,
+need record PreTimeoutInterruptOccurFlag
+at xyz.openbmmc_project.State.Watchdog when watchdog
+pre-timeout interrupt occurred.
+
+Signed-off-by: Ren Yu <yux.ren@intel.com>
+---
+ xyz/openbmc_project/State/Watchdog.interface.yaml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/xyz/openbmc_project/State/Watchdog.interface.yaml b/xyz/openbmc_project/State/Watchdog.interface.yaml
+index bf4cca0..6579368 100644
+--- a/xyz/openbmc_project/State/Watchdog.interface.yaml
++++ b/xyz/openbmc_project/State/Watchdog.interface.yaml
+@@ -59,6 +59,11 @@ properties:
+ description: >
+ The timer user at the time of expiration.
+ default: 'Reserved'
++ - name: PreTimeoutInterruptOccurFlag
++ type: boolean
++ description: >
++ PreTimeoutInterruptOccurFlag that preTimeoutInterrupt action occurred.
++ default: false
+
+ enumerations:
+ - name: Action
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
index 89b8da753..40b00e70f 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend
@@ -1,22 +1,18 @@
SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces.git"
-SRCREV = "1f0e2ce6e1cb78a59a0015b160816b71156b03c6"
+SRCREV = "ddc9e9f9d6ed0282ec6c1421a706b45f3c09ebcc"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://0002-Modify-Dbus-for-IPv6.patch \
- file://0003-Chassis-Power-Control-are-implemented.patch \
file://0005-Add-DBUS-interface-of-CPU-and-Memory-s-properties.patch \
file://0007-ipmi-set-BIOS-id.patch \
- file://0009-Add-host-restart-cause-property.patch \
file://0010-Increase-the-default-watchdog-timeout-value.patch \
file://0012-Add-RestoreDelay-interface-for-power-restore-delay.patch \
file://0013-Add-ErrConfig.yaml-interface-for-processor-error-config.patch \
- file://0014-Add-multiple-state-signal-for-host-start-and-stop.patch \
file://0016-Add-DBUS-interface-of-SMBIOS-MDR-V2.patch \
file://0018-Define-post-code-interfaces-for-post-code-manager.patch \
- file://0019-Creating-the-Session-interface-for-Host-and-LAN.patch \
- file://0021-Add-interface-suppot-for-provisioning-modes.patch \
+ file://0021-D-Bus-Intf-Security-modes-property-intf-update.patch \
file://0022-Add-chassis-power-cycle-and-reset-to-Chassis-State.patch \
- file://0023-Add-host-interrupt-to-the-Host-State.patch \
file://0024-Add-the-pre-timeout-interrupt-defined-in-IPMI-spec.patch \
+ file://0025-Add-PreInterruptFlag-properity-in-DBUS.patch \
"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
index e8baaa23e..0e80b554a 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
@@ -1,7 +1,7 @@
[Unit]
Description=Phosphor-Pid-Control Margin-based Fan Control Daemon
-After=xyz.openbmc_project.EntityManager
-After=xyz.openbmc_project.ObjectMapper
+After=xyz.openbmc_project.EntityManager.service
+After=xyz.openbmc_project.ObjectMapper.service
[Service]
Restart=always
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
index e1ec04ff6..30044eb6e 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -5,6 +5,6 @@ SYSTEMD_SERVICE_${PN} = "phosphor-pid-control.service"
EXTRA_OECONF = "--enable-configure-dbus=yes"
SRC_URI = "git://github.com/openbmc/phosphor-pid-control.git"
-SRCREV = "1dad21b935b8359806de9a9cc3aa7b7463cc8df3"
+SRCREV = "a7ec8350d17b70153cebe666d3fbe88bddd02a1a"
FILES_${PN} = "${bindir}/swampd ${bindir}/setsensor"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
index 719c2562a..2efe911ae 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/flash/phosphor-software-manager_%.bbappend
@@ -3,8 +3,6 @@ EXTRA_OECONF += "--enable-fwupd_script"
SYSTEMD_SERVICE_${PN}-updater += "fwupd@.service"
-#Currently enforcing image signature validation only for PFR images
-PACKAGECONFIG_append = "${@bb.utils.contains('IMAGE_TYPE', 'pfr', ' verify_signature', '', d)}"
SRC_URI += "file://0002-Redfish-firmware-activation.patch \
file://0004-Changed-the-condition-of-software-version-service-wa.patch \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/gpiodaemon/gpiodaemon.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/gpiodaemon/gpiodaemon.bb
deleted file mode 100644
index cef2fdcaa..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/gpiodaemon/gpiodaemon.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Gpio daemon service for handling gpio operations"
-DESCRIPTION = "Daemon allows to block gpio access under certain conditions"
-
-PV = "1.0+git${SRCPV}"
-
-S = "${WORKDIR}/git/gpiodaemon"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
-
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
-
-inherit cmake systemd
-SYSTEMD_SERVICE_${PN} = "gpiodaemon.service"
-
-DEPENDS = "boost systemd sdbusplus phosphor-logging"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
index 3f870103b..8d13272bb 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -1,5 +1,5 @@
SRC_URI = "git://github.com/openbmc/bmcweb.git"
-SRCREV = "fa1a5a38551bd1b9f04ad2d4f9fea2e5ade5cc4c"
+SRCREV = "2c0feb0085ac3cc11c6fd77df7a8c7701f38fea5"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
index c2f3c9a0e..92731f439 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
@@ -22,13 +22,13 @@
}
},
"2" : {
- "name" : "eth2",
- "is_valid" : true,
+ "name" : "RESERVED",
+ "is_valid" : false,
"active_sessions" : 0,
"channel_info" : {
- "medium_type" : "lan-802.3",
- "protocol_type" : "ipmb-1.0",
- "session_supported" : "multi-session",
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
"is_ipmi" : true
}
},
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Modify-dbus-interface-for-power-control.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Modify-dbus-interface-for-power-control.patch
deleted file mode 100644
index 236bd18f4..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Modify-dbus-interface-for-power-control.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 39df500f277eca01d6a0538d4db8ec34894d9441 Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Mon, 17 Sep 2018 12:59:12 +0800
-Subject: [PATCH] Modify dbus interface for power control
-
-Switch power control service namespace from "org" to "xyz",
-to compatible with new intel-chassis services
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- chassishandler.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/chassishandler.cpp b/chassishandler.cpp
-index 6002e7a..0e83bba 100644
---- a/chassishandler.cpp
-+++ b/chassishandler.cpp
-@@ -786,8 +786,8 @@ ipmi_ret_t ipmi_get_chassis_status(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- ipmi_data_len_t data_len,
- ipmi_context_t context)
- {
-- const char* objname = "/org/openbmc/control/power0";
-- const char* intf = "org.openbmc.control.Power";
-+ const char* objname = "/xyz/openbmc_project/Chassis/Control/Power0";
-+ const char* intf = "xyz.openbmc_project.Chassis.Control.Power";
-
- sd_bus* bus = NULL;
- sd_bus_message* reply = NULL;
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0010-fix-get-system-GUID-ipmi-command.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0010-fix-get-system-GUID-ipmi-command.patch
index c1ec6ac6e..efee7cc26 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0010-fix-get-system-GUID-ipmi-command.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0010-fix-get-system-GUID-ipmi-command.patch
@@ -1,56 +1,36 @@
-From 4953a9f2233fd24a28da84443cea6aebecd14fbc Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Mon, 17 Sep 2018 13:20:54 +0800
-Subject: [PATCH] fix "get system GUID" ipmi command
+commit 72e6573f36fd3b9ce018e71b07bc1be63275d1f8
+Author: Vernon Mauery <vernon.mauery@linux.intel.com>
+Date: Fri Jun 21 12:27:20 2019 -0700
-Change-Id: I15c71607c24ad8b3e2c9065a5470002ecb1761bb
-Signed-off-by: Jia, Chunhui <chunhui.jia@intel.com>
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- apphandler.cpp | 7 ++-----
- host-ipmid-whitelist.conf | 1 +
- 2 files changed, 3 insertions(+), 5 deletions(-)
+ Fix 'Get System GUID' to use settings UUID
+
+ The upstream Get System GUID command looks first for a BMC interface
+ and then assumes that the UUID interface is next to that. But that is
+ not the case on Intel systems where the system GUID is found in the
+ settings daemon.
+
+ Change-Id: I924bd05e0a546f2b30288c1faf72157296ab6579
+ Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/apphandler.cpp b/apphandler.cpp
-index f2889c5..9149373 100644
+index 280d0db..25af6bb 100644
--- a/apphandler.cpp
+++ b/apphandler.cpp
-@@ -48,7 +48,7 @@ extern sd_bus* bus;
-
- constexpr auto bmc_state_interface = "xyz.openbmc_project.State.BMC";
- constexpr auto bmc_state_property = "CurrentBMCState";
--constexpr auto bmc_interface = "xyz.openbmc_project.Inventory.Item.Bmc";
-+// phosphor-setting-manager is the unique service that holds this interface
- constexpr auto bmc_guid_interface = "xyz.openbmc_project.Common.UUID";
- constexpr auto bmc_guid_property = "UUID";
- constexpr auto bmc_guid_len = 16;
-@@ -546,8 +545,7 @@ ipmi_ret_t ipmi_app_get_sys_guid(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+@@ -799,8 +799,6 @@ auto ipmiAppGetBtCapabilities()
+
+ auto ipmiAppGetSystemGuid() -> ipmi::RspType<std::array<uint8_t, 16>>
+ {
+- static constexpr auto bmcInterface =
+- "xyz.openbmc_project.Inventory.Item.Bmc";
+ static constexpr auto uuidInterface = "xyz.openbmc_project.Common.UUID";
+ static constexpr auto uuidProperty = "UUID";
+
+@@ -809,7 +807,7 @@ auto ipmiAppGetSystemGuid() -> ipmi::RspType<std::array<uint8_t, 16>>
{
// Get the Inventory object implementing BMC interface
- ipmi::DbusObjectInfo bmcObject =
-- ipmi::getDbusObject(bus, bmc_interface);
--
-+ ipmi::getDbusObject(bus, bmc_guid_interface);
+ auto busPtr = getSdBus();
+- auto objectInfo = ipmi::getDbusObject(*busPtr, bmcInterface);
++ auto objectInfo = ipmi::getDbusObject(*busPtr, uuidInterface);
+
// Read UUID property value from bmcObject
// UUID is in RFC4122 format Ex: 61a39523-78f2-11e5-9862-e6402cfc3223
- auto variant =
-@@ -591,7 +589,6 @@ ipmi_ret_t ipmi_app_get_sys_guid(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- catch (const InternalFailure& e)
- {
- log<level::ERR>("Failed in reading BMC UUID property",
-- entry("INTERFACE=%s", bmc_interface),
- entry("PROPERTY_INTERFACE=%s", bmc_guid_interface),
- entry("PROPERTY=%s", bmc_guid_property));
- return IPMI_CC_UNSPECIFIED_ERROR;
-diff --git a/host-ipmid-whitelist.conf b/host-ipmid-whitelist.conf
-index 2c37ac9..164edbe 100644
---- a/host-ipmid-whitelist.conf
-+++ b/host-ipmid-whitelist.conf
-@@ -40,3 +40,4 @@
- 0x2C:0x06 //<Group Extension>:<Get Asset Tag>
- 0x2C:0x07 //<Group Extension>:<Get Sensor Info>
- 0x2C:0x10 //<Group Extension>:<Get Temperature Readings>
-+0x30:0x41 //<OEM>:<Set System GUID>
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0013-ipmi-add-set-bios-id-to-whitelist.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0013-ipmi-add-set-bios-id-to-whitelist.patch
index ae10ab60a..396d2e949 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0013-ipmi-add-set-bios-id-to-whitelist.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0013-ipmi-add-set-bios-id-to-whitelist.patch
@@ -10,16 +10,13 @@ Signed-off-by: Jia, Chunhui <chunhui.jia@intel.com>
host-ipmid-whitelist.conf | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/host-ipmid-whitelist.conf b/host-ipmid-whitelist.conf
-index 164edbe..db54a49 100644
---- a/host-ipmid-whitelist.conf
-+++ b/host-ipmid-whitelist.conf
-@@ -41,3 +41,5 @@
+Index: phosphor-host-ipmid/host-ipmid-whitelist.conf
+===================================================================
+--- phosphor-host-ipmid.orig/host-ipmid-whitelist.conf
++++ phosphor-host-ipmid/host-ipmid-whitelist.conf
+@@ -47,3 +47,5 @@
+ 0x2C:0x06 //<Group Extension>:<Get Asset Tag>
0x2C:0x07 //<Group Extension>:<Get Sensor Info>
0x2C:0x10 //<Group Extension>:<Get Temperature Readings>
- 0x30:0x41 //<OEM>:<Set System GUID>
+0x30:0x26 //<OEM>:<Set BIOS ID>
+0x30:0x27 //<OEM>:<Get Device Info>
---
-2.16.2
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0021-Implement-IPMI-Commmand-Get-Host-Restart-Cause.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0021-Implement-IPMI-Commmand-Get-Host-Restart-Cause.patch
deleted file mode 100644
index cba0cde32..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0021-Implement-IPMI-Commmand-Get-Host-Restart-Cause.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 6d5a372e0cf98de4d97a88d2cd42a00b7a8f034f Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Sun, 16 Sep 2018 21:32:38 +0800
-Subject: [PATCH] Implement IPMI Commmand - Get Host Restart Cause.
-
-It supports to track the information about what
-action last caused the system to restart.
-Return value includes: restart_cause and channel_number.
-
-According to IPMI Spec, it includes 12 types as following:
-1. Unknown 0x0
-2. IpmiCommand 0x1
-3. ResetButton 0x2
-4. PowerButton 0x3
-5. WatchdogTimer 0x4
-6. OEM 0x5
-7. PowerPolicyAlwaysOn 0x6
-8. PowerPolicyPreviousState 0x7
-9. PEF-Reset 0x8
-10. PEF-PowerCycle 0x9
-11. SoftReset 0xA
-12. RTC-Wakeup 0xB
-
-Change-Id: Id3b32e271b85b5fc4c69d5ca40227f8f9c08ce48
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- chassishandler.cpp | 54 +++++++++++++++++++++++++++++++++++++++
- chassishandler.hpp | 1 +
- host-ipmid-whitelist.conf | 1 +
- 3 files changed, 56 insertions(+)
-
-diff --git a/chassishandler.cpp b/chassishandler.cpp
-index d20b220..8a8cb26 100644
---- a/chassishandler.cpp
-+++ b/chassishandler.cpp
-@@ -90,6 +90,11 @@ static constexpr auto chassisPOHStateIntf =
- "xyz.openbmc_project.State.PowerOnHours";
- static constexpr auto pOHCounterProperty = "POHCounter";
- static constexpr auto match = "chassis0";
-+const static constexpr char* stateHostInterface =
-+ "xyz.openbmc_project.State.Host";
-+const static constexpr char* hostRestartCauseInterface =
-+ "xyz.openbmc_project.State.Host.HostRestartCause";
-+const static constexpr char* hostRestartCause = "HostRestartCause";
- const static constexpr char chassisCapIntf[] =
- "xyz.openbmc_project.Control.ChassisCapabilities";
- const static constexpr char chassisCapFlagsProp[] = "CapabilitiesFlags";
-@@ -176,6 +181,13 @@ struct set_sys_boot_options_t
- uint8_t data[SIZE_BOOT_OPTION];
- } __attribute__((packed));
-
-+struct GetSysRestartCauseResponse
-+{
-+ uint8_t restartCause;
-+ uint8_t channelNum;
-+
-+} __attribute__((packed));
-+
- int getHostNetworkData(get_sys_boot_options_response_t* respptr)
- {
- ipmi::PropertyMap properties;
-@@ -1584,6 +1596,44 @@ ipmi_ret_t ipmi_chassis_set_sys_boot_options(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- return rc;
- }
-
-+ipmi_ret_t ipmi_chassis_get_sys_restart_cause(
-+ ipmi_netfn_t netfn, ipmi_cmd_t cmd, ipmi_request_t request,
-+ ipmi_response_t response, ipmi_data_len_t data_len, ipmi_context_t context)
-+{
-+ ipmi_ret_t rc = IPMI_CC_OK;
-+
-+ GetSysRestartCauseResponse* resp = (GetSysRestartCauseResponse*)response;
-+ std::fill(reinterpret_cast<uint8_t*>(resp),
-+ reinterpret_cast<uint8_t*>(resp) + sizeof(*resp), 0);
-+ if (*data_len != 0)
-+ {
-+ rc = IPMI_CC_REQ_DATA_LEN_INVALID;
-+ return rc;
-+ }
-+
-+ try
-+ {
-+ sdbusplus::bus::bus bus{ipmid_get_sd_bus_connection()};
-+ ipmi::DbusObjectInfo hostObject =
-+ ipmi::getDbusObject(bus, stateHostInterface);
-+ ipmi::Value variant =
-+ ipmi::getDbusProperty(bus, hostObject.second, hostObject.first,
-+ hostRestartCauseInterface, hostRestartCause);
-+ resp->restartCause = variant.get<uint8_t>();
-+ }
-+
-+ catch (std::exception& e)
-+ {
-+ log<level::ERR>(e.what());
-+ rc = IPMI_CC_UNSPECIFIED_ERROR;
-+ return rc;
-+ }
-+ resp->channelNum = 0; // Fix to primary channel.
-+ *data_len = sizeof(GetSysRestartCauseResponse);
-+
-+ return rc;
-+}
-+
- /** @brief implements Get POH counter command
- * @parameter
- * - none
-@@ -1739,4 +1789,8 @@ void register_netfn_chassis_functions()
- ipmi::chassis::cmdSetPowerRestorePolicy,
- ipmi::Privilege::Operator,
- ipmiChassisSetPowerRestorePolicy);
-+
-+ // <get Host Restart Cause>
-+ ipmi_register_callback(NETFUN_CHASSIS, IPMI_CMD_GET_SYS_RESTART_CAUSE, NULL,
-+ ipmi_chassis_get_sys_restart_cause, PRIVILEGE_USER);
- }
-diff --git a/chassishandler.hpp b/chassishandler.hpp
-index 49b5ef8..2c42b11 100644
---- a/chassishandler.hpp
-+++ b/chassishandler.hpp
-@@ -17,6 +17,7 @@ enum ipmi_netfn_chassis_cmds
- // Set Power Restore Policy
- IPMI_CMD_SET_RESTORE_POLICY = 0x06,
- // Get capability bits
-+ IPMI_CMD_GET_SYS_RESTART_CAUSE = 0x07,
- IPMI_CMD_SET_SYS_BOOT_OPTIONS = 0x08,
- IPMI_CMD_GET_SYS_BOOT_OPTIONS = 0x09,
- IPMI_CMD_GET_POH_COUNTER = 0x0F,
-diff --git a/host-ipmid-whitelist.conf b/host-ipmid-whitelist.conf
-index c1fca1d..94232de 100644
---- a/host-ipmid-whitelist.conf
-+++ b/host-ipmid-whitelist.conf
-@@ -4,6 +4,7 @@
- 0x00:0x02 //<Chassis>:<Chassis Control>
- 0x00:0x05 //<Chassis>:<Set Chassis Capabilities>
- 0x00:0x06 //<Chassis>:<Set Power Restore Policy>
-+0x00:0x07 //<Chassis>:<Get System Restart Cause>
- 0x00:0x08 //<Chassis>:<Set System Boot Options>
- 0x00:0x09 //<Chassis>:<Get System Boot Options>
- 0x00:0x0F //<Chassis>:<Get POH Counter Command>
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0049-Fix-Unspecified-error-on-ipmi-restart-cause-command.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0049-Fix-Unspecified-error-on-ipmi-restart-cause-command.patch
deleted file mode 100644
index aba5eb095..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0049-Fix-Unspecified-error-on-ipmi-restart-cause-command.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 59287a8869b5253a1b4203e0cc8a92f063dcc7e6 Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Tue, 25 Sep 2018 16:08:22 +0800
-Subject: [PATCH] Fix "Unspecified error" on ipmi restart cause command
-
-Needs to convert the dbus value(enum) into ipmi value(uint8)
-
-Tested by:
-ipmitool chassis restart_cause
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- chassishandler.cpp | 28 ++++++++++++++++++++++++++--
- 1 file changed, 26 insertions(+), 2 deletions(-)
-
-diff --git a/chassishandler.cpp b/chassishandler.cpp
-index 40eb4f5..c3d4931 100644
---- a/chassishandler.cpp
-+++ b/chassishandler.cpp
-@@ -106,7 +106,7 @@ static constexpr auto match = "chassis0";
- const static constexpr char* stateHostInterface =
- "xyz.openbmc_project.State.Host";
- const static constexpr char* hostRestartCauseInterface =
-- "xyz.openbmc_project.State.Host.HostRestartCause";
-+ "xyz.openbmc_project.State.Host";
- const static constexpr char* hostRestartCause = "HostRestartCause";
- const static constexpr char chassisCapIntf[] =
- "xyz.openbmc_project.Control.ChassisCapabilities";
-@@ -1764,6 +1764,26 @@ ipmi_ret_t ipmi_chassis_set_sys_boot_options(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- return rc;
- }
-
-+namespace restart_cause
-+{
-+
-+using namespace sdbusplus::xyz::openbmc_project::State::server;
-+
-+std::map<Host::RestartCause, uint8_t> dbusToIpmi = {
-+ {Host::RestartCause::Unknown, 0x0},
-+ {Host::RestartCause::IpmiCommand, 0x1},
-+ {Host::RestartCause::ResetButton, 0x2},
-+ {Host::RestartCause::PowerButton, 0x3},
-+ {Host::RestartCause::WatchdogTimer, 0x4},
-+ {Host::RestartCause::OEM, 0x5},
-+ {Host::RestartCause::PowerPolicyAlwaysOn, 0x6},
-+ {Host::RestartCause::PowerPolicyPreviousState, 0x7},
-+ {Host::RestartCause::PEFReset, 0x8},
-+ {Host::RestartCause::PEFPowerCycle, 0x9},
-+ {Host::RestartCause::SoftReset, 0xa},
-+ {Host::RestartCause::RTCWakeup, 0xb}};
-+} // namespace restart_cause
-+
- ipmi_ret_t ipmi_chassis_get_sys_restart_cause(
- ipmi_netfn_t netfn, ipmi_cmd_t cmd, ipmi_request_t request,
- ipmi_response_t response, ipmi_data_len_t data_len, ipmi_context_t context)
-@@ -1787,7 +1807,11 @@ ipmi_ret_t ipmi_chassis_get_sys_restart_cause(
- ipmi::Value variant =
- ipmi::getDbusProperty(bus, hostObject.second, hostObject.first,
- hostRestartCauseInterface, hostRestartCause);
-- resp->restartCause = variant.get<uint8_t>();
-+
-+ std::string restartCause =
-+ sdbusplus::message::variant_ns::get<std::string>(variant);
-+ resp->restartCause = restart_cause::dbusToIpmi.at(
-+ restart_cause::Host::convertRestartCauseFromString(restartCause));
- }
-
- catch (std::exception& e)
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0055-Implement-set-front-panel-button-enables-command.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0055-Implement-set-front-panel-button-enables-command.patch
deleted file mode 100644
index fd7cf1851..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0055-Implement-set-front-panel-button-enables-command.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From b8b88a5c0f9e9cb6023cb8d5453e5cfadaa1a375 Mon Sep 17 00:00:00 2001
-From: Kuiying Wang <kuiying.wang@intel.com>
-Date: Fri, 4 Jan 2019 10:50:21 +0800
-Subject: [PATCH] Implement set front panel button enables command
-
-Through modify buttons' property "Enabled" to disable/enable
-corresponding button.
-Currently support power and reset button.
-
-Test-By: ipmitool raw 0x0 0xa 0x2 //disable reset button
- ipmitool raw 0x0 0xa 0x1 //disable power button
- ipmitool raw 0x0 0xa 0x0 //enable all buttons
-
-Change-Id: Ice6f58edb898689f7a7fa08ad078d25fccaab27e
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
----
- chassishandler.cpp | 98 +++++++++++++++++++++++++++++++++++++++
- chassishandler.hpp | 1 +
- host-ipmid-whitelist.conf | 1 +
- 3 files changed, 100 insertions(+)
-
-diff --git a/chassishandler.cpp b/chassishandler.cpp
-index 4b42b3c..1a5b805 100644
---- a/chassishandler.cpp
-+++ b/chassishandler.cpp
-@@ -112,6 +112,8 @@ const static constexpr char chassisSMDevAddrProp[] = "SMDeviceAddress";
- const static constexpr char chassisBridgeDevAddrProp[] = "BridgeDeviceAddress";
- static constexpr uint8_t chassisCapFlagMask = 0x0f;
- static constexpr uint8_t chassisCapAddrMask = 0xfe;
-+static constexpr uint8_t disableResetButton = 0x2;
-+static constexpr uint8_t disablePowerButton = 0x1;
- static constexpr const char* powerButtonIntf =
- "xyz.openbmc_project.Chassis.Buttons.Power";
- static constexpr const char* powerButtonPath =
-@@ -140,6 +142,19 @@ struct GetPOHCountResponse
- uint8_t front_panel_button_cap_status;
- } __attribute__((packed)) ipmi_get_chassis_status_t;
-
-+typedef struct
-+{
-+ uint8_t disables; // Front Panel Button Enables
-+ //[7:4] - reserved
-+ //[3] - 1b = disable Standby (sleep) button for entering standby (sleep)
-+ //(control can still be used to wake the system)
-+ //[2] - 1b = disable Diagnostic Interrupt button
-+ //[1] - 1b = disable Reset button
-+ //[0] - 1b = disable Power off button for power off only (in the case there
-+ // is a single combined power/standby (sleep) button, then this also
-+ // disables sleep requests via that button)
-+} __attribute__((packed)) IPMISetFrontPanelButtonEnablesReq;
-+
- // Phosphor Host State manager
- namespace State = sdbusplus::xyz::openbmc_project::State::server;
-
-@@ -1721,6 +1738,82 @@ ipmi_ret_t ipmi_chassis_set_power_restore_policy(
- return ipmi::responseSuccess(power_policy::allSupport);
- }
-
-+ipmi_ret_t ipmiSetFrontPanelButtonEnables(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-+ ipmi_request_t request,
-+ ipmi_response_t response,
-+ ipmi_data_len_t data_len,
-+ ipmi_context_t context)
-+{
-+ bool enable = false;
-+ constexpr const char* powerButtonIntf =
-+ "xyz.openbmc_project.Chassis.Buttons.Power";
-+ constexpr const char* powerButtonPath =
-+ "/xyz/openbmc_project/Chassis/Buttons/Power0";
-+ constexpr const char* resetButtonIntf =
-+ "xyz.openbmc_project.Chassis.Buttons.Reset";
-+ constexpr const char* resetButtonPath =
-+ "/xyz/openbmc_project/Chassis/Buttons/Reset0";
-+ using namespace chassis::internal;
-+
-+ IPMISetFrontPanelButtonEnablesReq* req =
-+ static_cast<IPMISetFrontPanelButtonEnablesReq*>(request);
-+ if (*data_len != 1)
-+ {
-+ *data_len = 0;
-+ log<level::ERR>("IPMI request len is invalid");
-+ return IPMI_CC_REQ_DATA_LEN_INVALID;
-+ }
-+ *data_len = 0;
-+ if (req->disables & disablePowerButton)
-+ {
-+ // Disable power button
-+ enable = false;
-+ }
-+ else
-+ {
-+ // Enable power button
-+ enable = true;
-+ }
-+ // set power button Enabled property
-+ try
-+ {
-+ auto service = ipmi::getService(dbus, powerButtonIntf, powerButtonPath);
-+ ipmi::setDbusProperty(dbus, service, powerButtonPath, powerButtonIntf,
-+ "Enabled", enable);
-+ }
-+ catch (sdbusplus::exception::SdBusError& e)
-+ {
-+ log<level::ERR>(e.what());
-+ log<level::ERR>("Fail to set power button Enabled property");
-+ return IPMI_CC_UNSPECIFIED_ERROR;
-+ }
-+
-+ if (req->disables & disableResetButton)
-+ {
-+ // disable reset button
-+ enable = false;
-+ }
-+ else
-+ {
-+ // enable reset button
-+ enable = true;
-+ }
-+ // set reset button Enabled property
-+ try
-+ {
-+ auto service = ipmi::getService(dbus, resetButtonIntf, resetButtonPath);
-+ ipmi::setDbusProperty(dbus, service, resetButtonPath, resetButtonIntf,
-+ "Enabled", enable);
-+ }
-+ catch (sdbusplus::exception::SdBusError& e)
-+ {
-+ log<level::ERR>(e.what());
-+ log<level::ERR>("Fail to set reset button Enabled property");
-+ return IPMI_CC_UNSPECIFIED_ERROR;
-+ }
-+ return IPMI_CC_OK;
-+}
-+
- void register_netfn_chassis_functions()
- {
- createIdentifyTimer();
-@@ -1733,6 +1826,11 @@ void register_netfn_chassis_functions()
- ipmi_register_callback(NETFUN_CHASSIS, IPMI_CMD_GET_CHASSIS_CAP, NULL,
- ipmi_get_chassis_cap, PRIVILEGE_USER);
-
-+ // Set Front Panel Button Enables
-+ ipmi_register_callback(NETFUN_CHASSIS,
-+ IPMI_CMD_SET_FRONT_PANEL_BUTTON_ENABLES, NULL,
-+ ipmiSetFrontPanelButtonEnables, PRIVILEGE_ADMIN);
-+
- // Set Chassis Capabilities
- ipmi_register_callback(NETFUN_CHASSIS, IPMI_CMD_SET_CHASSIS_CAP, NULL,
- ipmi_set_chassis_cap, PRIVILEGE_USER);
-diff --git a/chassishandler.hpp b/chassishandler.hpp
-index 49b5ef8..f4a6bff 100644
---- a/chassishandler.hpp
-+++ b/chassishandler.hpp
-@@ -19,6 +19,7 @@ enum ipmi_netfn_chassis_cmds
- IPMI_CMD_GET_SYS_RESTART_CAUSE = 0x07,
- IPMI_CMD_SET_SYS_BOOT_OPTIONS = 0x08,
- IPMI_CMD_GET_SYS_BOOT_OPTIONS = 0x09,
-+ IPMI_CMD_SET_FRONT_PANEL_BUTTON_ENABLES = 0x0A,
- IPMI_CMD_GET_POH_COUNTER = 0x0F,
- };
-
-diff --git a/host-ipmid-whitelist.conf b/host-ipmid-whitelist.conf
-index e5cd0b5..d96d9ed 100644
---- a/host-ipmid-whitelist.conf
-+++ b/host-ipmid-whitelist.conf
-@@ -6,6 +6,7 @@
- 0x00:0x07 //<Chassis>:<Get System Restart Cause>
- 0x00:0x08 //<Chassis>:<Set System Boot Options>
- 0x00:0x09 //<Chassis>:<Get System Boot Options>
-+0x00:0x0A //<Chassis>:<Set Front Panel Button Enables>
- 0x00:0x0F //<Chassis>:<Get POH Counter Command>
- 0x04:0x02 //<Sensor/Event>:<Platform event>
- 0x04:0x2D //<Sensor/Event>:<Get Sensor Reading>
---
-2.19.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0058-Add-AC-failed-bit-support-for-get-chassis-status-com.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0058-Add-AC-failed-bit-support-for-get-chassis-status-com.patch
deleted file mode 100644
index 42bb682c4..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0058-Add-AC-failed-bit-support-for-get-chassis-status-com.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From f51bef8f7c5785405ee5c83a921efb1bc05e4947 Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Wed, 27 Mar 2019 16:11:25 +0800
-Subject: [PATCH] =?UTF-8?q?Add=20=E2=80=9CAC=20failed=E2=80=9D=20bit=20sup?=
- =?UTF-8?q?port=20for=20get=20chassis=20status=20command?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-PFail property is provided by power control service,
-ture means the booting is from AC loss.
-
-Tested:
-Remove the AC cable and reconnect it
-Ipmitool chassis status to check the status:
-Last Power Event : ac-failed
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- chassishandler.cpp | 26 ++++++++++++++++++++++++++
- 1 file changed, 26 insertions(+)
-
-diff --git a/chassishandler.cpp b/chassishandler.cpp
-index 7a522ad..40d2018 100644
---- a/chassishandler.cpp
-+++ b/chassishandler.cpp
-@@ -844,6 +844,7 @@ ipmi_ret_t ipmi_get_chassis_status(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- sd_bus_message* reply = NULL;
- int r = 0;
- int pgood = 0;
-+ bool pFail = true;
- char* busname = NULL;
- ipmi_ret_t rc = IPMI_CC_OK;
- ipmi_get_chassis_status_t chassis_status{};
-@@ -904,6 +905,26 @@ ipmi_ret_t ipmi_get_chassis_status(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- goto finish;
- }
-
-+ r = sd_bus_get_property(bus, busname, objname, intf, "PFail", NULL, &reply,
-+ "b");
-+ if (r < 0)
-+ {
-+ log<level::ERR>("Failed to call sd_bus_get_property",
-+ entry("PROPERTY=%s", "PFail"), entry("ERRNO=0x%X", -r),
-+ entry("BUS=%s", busname), entry("PATH=%s", objname),
-+ entry("INTERFACE=%s", intf));
-+ rc = IPMI_CC_UNSPECIFIED_ERROR;
-+ goto finish;
-+ }
-+
-+ r = sd_bus_message_read(reply, "b", &pFail);
-+ if (r < 0)
-+ {
-+ log<level::ERR>("Failed to read PFail:", entry("ERRNO=0x%X", -r));
-+ rc = IPMI_CC_UNSPECIFIED_ERROR;
-+ goto finish;
-+ }
-+
- s = dbusToIpmi.at(powerRestore);
-
- // Current Power State
-@@ -952,6 +973,11 @@ ipmi_ret_t ipmi_get_chassis_status(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-
- chassis_status.last_power_event = 0;
-
-+ if (pFail)
-+ {
-+ chassis_status.last_power_event |= 1;
-+ }
-+
- // Misc. Chassis State
- // [7] – reserved
- // [6] – 1b = Chassis Identify command and state info supported (Optional)
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0059-Move-Set-SOL-config-parameter-to-host-ipmid.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0059-Move-Set-SOL-config-parameter-to-host-ipmid.patch
index 1dc55e2f4..5623d246d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0059-Move-Set-SOL-config-parameter-to-host-ipmid.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0059-Move-Set-SOL-config-parameter-to-host-ipmid.patch
@@ -1,6 +1,6 @@
-From 1c15df9d82254286d0773086836767f23711c5d9 Mon Sep 17 00:00:00 2001
+From 55db62a92dff4bfc3d34c590b33d9da4e7706b9d Mon Sep 17 00:00:00 2001
From: Cheng C Yang <cheng.c.yang@intel.com>
-Date: Tue, 2 Apr 2019 00:34:34 +0800
+Date: Wed, 3 Jul 2019 06:12:55 +0800
Subject: [PATCH] Move Set SOL config parameter to host-ipmid
Move Set SOL config parameter command from net-ipmid to host-ipmid,
@@ -23,16 +23,15 @@ to 0 and other properties will not reset to default value.
Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
---
host-ipmid-whitelist.conf | 1 +
- include/ipmid/api.h | 1 +
- transporthandler.cpp | 222 ++++++++++++++++++++++++++++++++++++++
- transporthandler.hpp | 97 +++++++++++++++++
- 4 files changed, 321 insertions(+)
+ transporthandler.cpp | 289 ++++++++++++++++++++++++++++++++++++++++++++++
+ transporthandler.hpp | 33 ++++++
+ 3 files changed, 323 insertions(+)
diff --git a/host-ipmid-whitelist.conf b/host-ipmid-whitelist.conf
-index 2a83347..544b766 100644
+index 2b72d23..856588e 100644
--- a/host-ipmid-whitelist.conf
+++ b/host-ipmid-whitelist.conf
-@@ -41,6 +41,7 @@
+@@ -42,6 +42,7 @@
0x0A:0x48 //<Storage>:<Get SEL Time>
0x0A:0x49 //<Storage>:<Set SEL Time>
0x0C:0x02 //<Transport>:<Get LAN Configuration Parameters>
@@ -40,20 +39,8 @@ index 2a83347..544b766 100644
0x2C:0x00 //<Group Extension>:<Group Extension Command>
0x2C:0x01 //<Group Extension>:<Get DCMI Capabilities>
0x2C:0x02 //<Group Extension>:<Get Power Reading>
-diff --git a/include/ipmid/api.h b/include/ipmid/api.h
-index f08ee11..2f366b4 100644
---- a/include/ipmid/api.h
-+++ b/include/ipmid/api.h
-@@ -113,6 +113,7 @@ enum ipmi_return_codes
- IPMI_DCMI_CC_NO_ACTIVE_POWER_LIMIT = 0x80,
- IPMI_WDOG_CC_NOT_INIT = 0x80,
- IPMI_CC_SYSTEM_INFO_PARAMETER_NOT_SUPPORTED = 0x80,
-+ IPMI_CC_SET_IN_PROGRESS_ACTIVE = 0x81,
- IPMI_CC_SYSTEM_INFO_PARAMETER_SET_READ_ONLY = 0x82,
- IPMI_CC_BUSY = 0xC0,
- IPMI_CC_INVALID = 0xC1,
diff --git a/transporthandler.cpp b/transporthandler.cpp
-index 8f18b76..a693279 100644
+index bb624c4..25062ae 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -36,6 +36,9 @@ static const std::array<std::string, 3> ipAddressEnablesType = {
@@ -61,37 +48,57 @@ index 8f18b76..a693279 100644
"xyz.openbmc_project.Network.EthernetInterface.IPAllowed.IPv4AndIPv6"};
+constexpr const char* solInterface = "xyz.openbmc_project.Ipmi.SOL";
-+constexpr const char* solPath = "/xyz/openbmc_project/ipmi/sol";
++constexpr const char* solPath = "/xyz/openbmc_project/ipmi/sol/";
+
std::map<int, std::unique_ptr<struct ChannelConfig_t>> channelConfig;
using namespace phosphor::logging;
-@@ -1633,6 +1636,219 @@ void createNetworkTimer()
+@@ -1631,6 +1634,285 @@ void createNetworkTimer()
}
}
-+static int setSOLParameter(std::string property, const ipmi::Value& value)
++static std::string
++ getSOLService(std::shared_ptr<sdbusplus::asio::connection> dbus,
++ const std::string& solPathWitheEthName)
+{
-+ auto dbus = getSdBus();
-+
+ static std::string solService{};
+ if (solService.empty())
+ {
+ try
+ {
-+ solService = ipmi::getService(*dbus, solInterface, solPath);
++ solService =
++ ipmi::getService(*dbus, solInterface, solPathWitheEthName);
+ }
+ catch (const sdbusplus::exception::SdBusError& e)
+ {
+ solService.clear();
+ phosphor::logging::log<phosphor::logging::level::ERR>(
+ "Error: get SOL service failed");
-+ return -1;
++ return solService;
+ }
+ }
++ return solService;
++}
++
++static int setSOLParameter(const std::string& property,
++ const ipmi::Value& value, const uint8_t& channelNum)
++{
++ auto dbus = getSdBus();
++
++ std::string ethdevice = ipmi::getChannelName(channelNum);
++
++ std::string solPathWitheEthName = std::string(solPath) + ethdevice;
++
++ std::string service = getSOLService(dbus, solPathWitheEthName);
++ if (service.empty())
++ {
++ phosphor::logging::log<phosphor::logging::level::ERR>(
++ "Unable to get SOL service failed");
++ return -1;
++ }
+ try
+ {
-+ ipmi::setDbusProperty(*dbus, solService, solPath, solInterface,
++ ipmi::setDbusProperty(*dbus, service, solPathWitheEthName, solInterface,
+ property, value);
+ }
+ catch (sdbusplus::exception_t&)
@@ -104,29 +111,26 @@ index 8f18b76..a693279 100644
+ return 0;
+}
+
-+static int getSOLParameter(std::string property, ipmi::Value& value)
++static int getSOLParameter(const std::string& property, ipmi::Value& value,
++ const uint8_t& channelNum)
+{
+ auto dbus = getSdBus();
+
-+ static std::string solService{};
-+ if (solService.empty())
++ std::string ethdevice = ipmi::getChannelName(channelNum);
++
++ std::string solPathWitheEthName = std::string(solPath) + ethdevice;
++
++ std::string service = getSOLService(dbus, solPathWitheEthName);
++ if (service.empty())
+ {
-+ try
-+ {
-+ solService = ipmi::getService(*dbus, solInterface, solPath);
-+ }
-+ catch (const sdbusplus::exception::SdBusError& e)
-+ {
-+ solService.clear();
-+ phosphor::logging::log<phosphor::logging::level::ERR>(
-+ "Error: get SOL service failed");
-+ return -1;
-+ }
++ phosphor::logging::log<phosphor::logging::level::ERR>(
++ "Unable to get SOL service failed");
++ return -1;
+ }
+ try
+ {
-+ value = ipmi::getDbusProperty(*dbus, solService, solPath, solInterface,
-+ property);
++ value = ipmi::getDbusProperty(*dbus, service, solPathWitheEthName,
++ solInterface, property);
+ }
+ catch (sdbusplus::exception_t&)
+ {
@@ -140,158 +144,208 @@ index 8f18b76..a693279 100644
+
+void initializeSOLInProgress()
+{
-+ if (setSOLParameter("Progress", static_cast<uint8_t>(0)) < 0)
++ ipmi::ChannelInfo chInfo;
++ for (int chNum = 0; chNum < ipmi::maxIpmiChannels; chNum++)
+ {
-+ phosphor::logging::log<phosphor::logging::level::ERR>(
-+ "Error initialize sol progress");
++ if (!ipmi::isValidChannel(static_cast<uint8_t>(chNum)))
++ {
++ continue;
++ }
++ ipmi_ret_t compCode =
++ ipmi::getChannelInfo(static_cast<uint8_t>(chNum), chInfo);
++ if (compCode != IPMI_CC_OK ||
++ chInfo.mediumType !=
++ static_cast<uint8_t>(ipmi::EChannelMediumType::lan8032))
++ {
++ continue;
++ }
++ if (setSOLParameter("Progress", static_cast<uint8_t>(0), chNum) < 0)
++ {
++ phosphor::logging::log<phosphor::logging::level::ERR>(
++ "Error initialize sol progress");
++ }
+ }
+}
+
-+ipmi_ret_t setConfParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-+ ipmi_request_t request, ipmi_response_t response,
-+ ipmi_data_len_t dataLen, ipmi_context_t context)
++static const constexpr uint8_t encryptMask = 0x80;
++static const constexpr uint8_t encryptShift = 7;
++static const constexpr uint8_t authMask = 0x40;
++static const constexpr uint8_t authShift = 6;
++static const constexpr uint8_t privilegeMask = 0xf;
++
++namespace ipmi
++{
++constexpr Cc ccParmNotSupported = 0x80;
++constexpr Cc ccSetInProgressActive = 0x81;
++constexpr Cc ccSystemInfoParameterSetReadOnly = 0x82;
++
++static inline auto responseParmNotSupported()
+{
-+ auto reqData = reinterpret_cast<const SetConfParamsRequest*>(request);
++ return response(ccParmNotSupported);
++}
++static inline auto responseSetInProgressActive()
++{
++ return response(ccSetInProgressActive);
++}
++static inline auto responseSystemInfoParameterSetReadOnly()
++{
++ return response(ccSystemInfoParameterSetReadOnly);
++}
+
-+ // Check request length first
-+ switch (static_cast<sol::Parameter>(reqData->paramSelector))
++} // namespace ipmi
++
++ipmi::RspType<> setSOLConfParams(ipmi::Context::ptr ctx, uint4_t chNum,
++ uint4_t reserved, uint8_t paramSelector,
++ uint8_t configParamData1,
++ std::optional<uint8_t> configParamData2)
++{
++ ipmi::ChannelInfo chInfo;
++ uint8_t channelNum = ipmi::convertCurrentChannelNum(
++ static_cast<uint8_t>(chNum), ctx->channel);
++ if (reserved != 0 ||
++ (!ipmi::isValidChannel(static_cast<uint8_t>(channelNum))))
+ {
-+ case sol::Parameter::progress:
-+ case sol::Parameter::enable:
-+ case sol::Parameter::authentication:
-+ {
-+ if (*dataLen != sizeof(SetConfParamsRequest) - 1)
-+ {
-+ *dataLen = 0;
-+ return IPMI_CC_REQ_DATA_LEN_INVALID;
-+ }
-+ break;
-+ }
-+ case sol::Parameter::accumulate:
-+ case sol::Parameter::retry:
-+ {
-+ if (*dataLen != sizeof(SetConfParamsRequest))
-+ {
-+ *dataLen = 0;
-+ return IPMI_CC_REQ_DATA_LEN_INVALID;
-+ }
-+ break;
-+ }
-+ default:
-+ break;
++ return ipmi::responseInvalidFieldRequest();
+ }
+
-+ *dataLen = 0;
++ ipmi_ret_t compCode =
++ ipmi::getChannelInfo(static_cast<uint8_t>(channelNum), chInfo);
++ if (compCode != IPMI_CC_OK ||
++ chInfo.mediumType !=
++ static_cast<uint8_t>(ipmi::EChannelMediumType::lan8032))
++ {
++ return ipmi::responseInvalidFieldRequest();
++ }
+
-+ switch (static_cast<sol::Parameter>(reqData->paramSelector))
++ switch (static_cast<sol::Parameter>(paramSelector))
+ {
+ case sol::Parameter::progress:
+ {
-+ uint8_t progress = reqData->value & progressMask;
++ if (configParamData2)
++ {
++ return ipmi::responseReqDataLenInvalid();
++ }
++ uint8_t progress = configParamData1 & progressMask;
+ ipmi::Value currentProgress = 0;
-+ if (getSOLParameter("Progress", currentProgress) < 0)
++ if (getSOLParameter("Progress", currentProgress, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+
+ if ((std::get<uint8_t>(currentProgress) == 1) && (progress == 1))
+ {
-+ return IPMI_CC_SET_IN_PROGRESS_ACTIVE;
++ return ipmi::responseSetInProgressActive();
+ }
+
-+ if (setSOLParameter("Progress", progress) < 0)
++ if (setSOLParameter("Progress", progress, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+ break;
+ }
+ case sol::Parameter::enable:
+ {
-+ bool enable = reqData->value & enableMask;
-+ if (setSOLParameter("Enable", enable) < 0)
++ if (configParamData2)
++ {
++ return ipmi::responseReqDataLenInvalid();
++ }
++ bool enable = configParamData1 & enableMask;
++ if (setSOLParameter("Enable", enable, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+ break;
+ }
+ case sol::Parameter::authentication:
+ {
-+ // if encryption is used authentication must also be used.
-+ if (reqData->auth.encrypt && !reqData->auth.auth)
++ if (configParamData2)
+ {
-+ return IPMI_CC_SYSTEM_INFO_PARAMETER_SET_READ_ONLY;
++ return ipmi::responseReqDataLenInvalid();
+ }
-+ else if (reqData->auth.privilege <
++ uint8_t encrypt = (configParamData1 & encryptMask) >> encryptShift;
++ uint8_t auth = (configParamData1 & authMask) >> authShift;
++ uint8_t privilege = configParamData1 & privilegeMask;
++ // For security considering encryption and authentication must be
++ // true.
++ if (!encrypt || !auth)
++ {
++ return ipmi::responseSystemInfoParameterSetReadOnly();
++ }
++ else if (privilege <
+ static_cast<uint8_t>(sol::Privilege::userPriv) ||
-+ reqData->auth.privilege >
-+ static_cast<uint8_t>(sol::Privilege::oemPriv))
++ privilege > static_cast<uint8_t>(sol::Privilege::oemPriv))
+ {
-+ return IPMI_CC_INVALID_FIELD_REQUEST;
++ return ipmi::responseInvalidFieldRequest();
+ }
+
-+ if ((setSOLParameter("Privilege", reqData->auth.privilege) < 0) ||
-+ (setSOLParameter("ForceEncryption",
-+ static_cast<bool>(reqData->auth.encrypt)) <
-+ 0) ||
-+ (setSOLParameter("ForceAuthentication",
-+ static_cast<bool>(reqData->auth.auth)) < 0))
++ if (setSOLParameter("Privilege", privilege, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+
+ break;
+ }
+ case sol::Parameter::accumulate:
+ {
-+ if (reqData->acc.threshold == 0)
++ if (!configParamData2)
+ {
-+ return IPMI_CC_INVALID_FIELD_REQUEST;
++ return ipmi::responseReqDataLenInvalid();
+ }
-+ if (setSOLParameter("AccumulateIntervalMS", reqData->acc.interval) <
-+ 0)
++ if (*configParamData2 == 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseInvalidFieldRequest();
+ }
-+ if (setSOLParameter("Threshold", reqData->acc.threshold) < 0)
++ if (setSOLParameter("AccumulateIntervalMS", configParamData1,
++ channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
++ }
++ if (setSOLParameter("Threshold", *configParamData2, channelNum) < 0)
++ {
++ return ipmi::responseUnspecifiedError();
+ }
+ break;
+ }
+ case sol::Parameter::retry:
+ {
-+ if ((setSOLParameter("RetryCount", reqData->retry.count) < 0) ||
-+ (setSOLParameter("RetryIntervalMS", reqData->retry.interval) <
-+ 0))
++ if (!configParamData2)
++ {
++ return ipmi::responseReqDataLenInvalid();
++ }
++ if ((setSOLParameter("RetryCount", (configParamData1 & 0x7),
++ channelNum) < 0) ||
++ (setSOLParameter("RetryIntervalMS", *configParamData2,
++ channelNum) < 0))
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+
+ break;
+ }
+ case sol::Parameter::port:
+ {
-+ return IPMI_CC_SYSTEM_INFO_PARAMETER_SET_READ_ONLY;
++ return ipmi::responseSystemInfoParameterSetReadOnly();
+ }
+ case sol::Parameter::nvbitrate:
+ case sol::Parameter::vbitrate:
+ case sol::Parameter::channel:
+ default:
-+ return IPMI_CC_PARM_NOT_SUPPORTED;
++ return ipmi::responseParmNotSupported();
+ }
+
-+ return IPMI_CC_OK;
++ return ipmi::responseSuccess();
+}
+
void register_netfn_transport_functions()
{
// As this timer is only for transport handler
-@@ -1650,5 +1866,11 @@ void register_netfn_transport_functions()
+@@ -1648,5 +1930,12 @@ void register_netfn_transport_functions()
ipmi_register_callback(NETFUN_TRANSPORT, IPMI_CMD_GET_LAN, NULL,
ipmi_transport_get_lan, PRIVILEGE_OPERATOR);
-+ ipmi_register_callback(NETFUN_TRANSPORT, IPMI_CMD_SET_SOL_CONF_PARAMS, NULL,
-+ setConfParams, PRIVILEGE_ADMIN);
++ ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnTransport,
++ ipmi::transport::cmdSetSolConfigParameters,
++ ipmi::Privilege::Admin, setSOLConfParams);
+
+ // Initialize dbus property progress to 0 every time sol manager restart.
+ initializeSOLInProgress();
@@ -299,10 +353,17 @@ index 8f18b76..a693279 100644
return;
}
diff --git a/transporthandler.hpp b/transporthandler.hpp
-index bd23391..3b5e9e1 100644
+index bd23391..1237658 100644
--- a/transporthandler.hpp
+++ b/transporthandler.hpp
-@@ -8,6 +8,8 @@ enum ipmi_netfn_storage_cmds
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <ipmid/api-types.hpp>
+ #include <ipmid/types.hpp>
+ #include <string>
+ // IPMI commands for Transport net functions.
+@@ -8,6 +9,8 @@ enum ipmi_netfn_storage_cmds
// Get capability bits
IPMI_CMD_SET_LAN = 0x01,
IPMI_CMD_GET_LAN = 0x02,
@@ -311,7 +372,7 @@ index bd23391..3b5e9e1 100644
};
// Command specific completion codes
-@@ -186,3 +188,98 @@ void commitNetworkChanges();
+@@ -186,3 +189,33 @@ void commitNetworkChanges();
* @param[in] channel: channel number.
*/
void applyChanges(int channel);
@@ -345,71 +406,6 @@ index bd23391..3b5e9e1 100644
+
+constexpr uint8_t progressMask = 0x03;
+constexpr uint8_t enableMask = 0x01;
-+
-+struct Auth
-+{
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+ uint8_t privilege : 4; //!< SOL privilege level.
-+ uint8_t reserved : 2; //!< Reserved.
-+ uint8_t auth : 1; //!< Force SOL payload Authentication.
-+ uint8_t encrypt : 1; //!< Force SOL payload encryption.
-+#endif
-+
-+#if BYTE_ORDER == BIG_ENDIAN
-+ uint8_t encrypt : 1; //!< Force SOL payload encryption.
-+ uint8_t auth : 1; //!< Force SOL payload Authentication.
-+ uint8_t reserved : 2; //!< Reserved.
-+ uint8_t privilege : 4; //!< SOL privilege level.
-+#endif
-+} __attribute__((packed));
-+
-+struct Accumulate
-+{
-+ uint8_t interval; //!< Character accumulate interval.
-+ uint8_t threshold; //!< Character send threshold.
-+} __attribute__((packed));
-+
-+struct Retry
-+{
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+ uint8_t count : 3; //!< SOL retry count.
-+ uint8_t reserved : 5; //!< Reserved.
-+#endif
-+
-+#if BYTE_ORDER == BIG_ENDIAN
-+ uint8_t reserved : 5; //!< Reserved.
-+ uint8_t count : 3; //!< SOL retry count.
-+#endif
-+
-+ uint8_t interval; //!< SOL retry interval.
-+} __attribute__((packed));
-+
-+struct SetConfParamsRequest
-+{
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+ uint8_t channelNumber : 4; //!< Channel number.
-+ uint8_t reserved : 4; //!< Reserved.
-+#endif
-+
-+#if BYTE_ORDER == BIG_ENDIAN
-+ uint8_t reserved : 4; //!< Reserved.
-+ uint8_t channelNumber : 4; //!< Channel number.
-+#endif
-+
-+ uint8_t paramSelector; //!< Parameter selector.
-+ union
-+ {
-+ uint8_t value; //!< Represents one byte SOL parameters.
-+ struct Accumulate acc; //!< Character accumulate values.
-+ struct Retry retry; //!< Retry values.
-+ struct Auth auth; //!< Authentication parameters.
-+ };
-+} __attribute__((packed));
-+
-+struct SetConfParamsResponse
-+{
-+ uint8_t completionCode; //!< Completion code.
-+} __attribute__((packed));
--
-2.17.1
+2.7.4
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0060-Move-Get-SOL-config-parameter-to-host-ipmid.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0060-Move-Get-SOL-config-parameter-to-host-ipmid.patch
index 24f355d80..01a3e49b8 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0060-Move-Get-SOL-config-parameter-to-host-ipmid.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0060-Move-Get-SOL-config-parameter-to-host-ipmid.patch
@@ -1,12 +1,12 @@
-From 3c95de833eba73b3585941ade42ad1775e723280 Mon Sep 17 00:00:00 2001
+From e8ad148601fc3b45fac9092fdd45c537433e662f Mon Sep 17 00:00:00 2001
From: Cheng C Yang <cheng.c.yang@intel.com>
-Date: Tue, 7 May 2019 08:03:56 +0800
+Date: Thu, 11 Jul 2019 00:32:58 +0800
Subject: [PATCH] Move Get SOL config parameter to host-ipmid
Move Get SOL config parameter command from net-ipmid to host-ipmid.
Tested:
-Run command ipmitool sol info
+Run command ipmitool sol info 1
Set in progress : set-complete
Enabled : true
Force Encryption : false
@@ -18,21 +18,20 @@ Retry Count : 6
Retry Interval (ms) : 200
Volatile Bit Rate (kbps) : IPMI-Over-Serial-Setting
Non-Volatile Bit Rate (kbps) : 115.2
-Payload Channel : 14 (0x0e)
+Payload Channel : 1 (0x01)
Payload Port : 623
Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
---
host-ipmid-whitelist.conf | 1 +
- transporthandler.cpp | 198 ++++++++++++++++++++++++++++++++++++++++++++--
- transporthandler.hpp | 27 ++++++-
- 3 files changed, 217 insertions(+), 9 deletions(-)
+ transporthandler.cpp | 191 ++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 192 insertions(+)
diff --git a/host-ipmid-whitelist.conf b/host-ipmid-whitelist.conf
-index 2ce44c6..383b412 100644
+index 44c2181..0fcac4e 100644
--- a/host-ipmid-whitelist.conf
+++ b/host-ipmid-whitelist.conf
-@@ -43,6 +43,7 @@
+@@ -41,6 +41,7 @@
0x0A:0x49 //<Storage>:<Set SEL Time>
0x0C:0x02 //<Transport>:<Get LAN Configuration Parameters>
0x0C:0x21 //<Transport>:<Set SOL Configuration Parameters>
@@ -41,22 +40,15 @@ index 2ce44c6..383b412 100644
0x2C:0x01 //<Group Extension>:<Get DCMI Capabilities>
0x2C:0x02 //<Group Extension>:<Get Power Reading>
diff --git a/transporthandler.cpp b/transporthandler.cpp
-index 850172d..0c1223a 100644
+index 25062ae..9ba2868 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
-@@ -38,6 +38,8 @@ static const std::array<std::string, 3> ipAddressEnablesType = {
-
- constexpr const char* solInterface = "xyz.openbmc_project.Ipmi.SOL";
- constexpr const char* solPath = "/xyz/openbmc_project/ipmi/sol";
-+constexpr const char* consoleInterface = "xyz.openbmc_project.console";
-+constexpr const char* consolePath = "/xyz/openbmc_project/console";
-
- std::map<int, std::unique_ptr<struct ChannelConfig_t>> channelConfig;
-
-@@ -1668,6 +1670,26 @@ static int setSOLParameter(std::string property, const ipmi::Value& value)
+@@ -1719,6 +1719,28 @@ static int getSOLParameter(const std::string& property, ipmi::Value& value,
return 0;
}
++constexpr const char* consoleInterface = "xyz.openbmc_project.console";
++constexpr const char* consolePath = "/xyz/openbmc_project/console";
+static int getSOLBaudRate(ipmi::Value& value)
+{
+ auto dbus = getSdBus();
@@ -77,134 +69,142 @@ index 850172d..0c1223a 100644
+ return 0;
+}
+
- static int getSOLParameter(std::string property, ipmi::Value& value)
+ void initializeSOLInProgress()
{
- auto dbus = getSdBus();
-@@ -1711,11 +1733,170 @@ void initializeSOLInProgress()
- }
+ ipmi::ChannelInfo chInfo;
+@@ -1913,6 +1935,171 @@ ipmi::RspType<> setSOLConfParams(ipmi::Context::ptr ctx, uint4_t chNum,
+ return ipmi::responseSuccess();
}
--ipmi_ret_t setConfParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-- ipmi_request_t request, ipmi_response_t response,
-- ipmi_data_len_t dataLen, ipmi_context_t context)
+static const constexpr uint8_t retryCountMask = 0x07;
-+// For getsetSOLConfParams, there are still three tings TODO:
-+// 1. session less channel number request has to return error.
-+// 2. convert 0xE channel number.
-+// 3. have unique object for every session based channel.
-+ipmi_ret_t getSOLConfParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-+ ipmi_request_t request, ipmi_response_t response,
-+ ipmi_data_len_t dataLen, ipmi_context_t context)
++static constexpr uint16_t ipmiStdPort = 623;
++static constexpr uint8_t solParameterRevision = 0x11;
++ipmi::RspType<uint8_t, std::optional<uint8_t>, std::optional<uint8_t>>
++ getSOLConfParams(ipmi::Context::ptr ctx, uint4_t chNum, uint3_t reserved,
++ bool getParamRev, uint8_t paramSelector,
++ uint8_t setSelector, uint8_t blockSelector)
+{
-+ auto reqData = reinterpret_cast<const GetSOLConfParamsRequest*>(request);
-+ std::vector<uint8_t> outPayload;
-+
-+ if (*dataLen < sizeof(GetSOLConfParamsRequest) - 2)
++ ipmi::ChannelInfo chInfo;
++ uint8_t channelNum = ipmi::convertCurrentChannelNum(
++ static_cast<uint8_t>(chNum), ctx->channel);
++ if (reserved != 0 ||
++ (!ipmi::isValidChannel(static_cast<uint8_t>(channelNum))) ||
++ (ipmi::EChannelSessSupported::none ==
++ ipmi::getChannelSessionSupport(static_cast<uint8_t>(channelNum))))
+ {
-+ *dataLen = 0;
-+ return IPMI_CC_REQ_DATA_LEN_INVALID;
++ return ipmi::responseInvalidFieldRequest();
++ }
++ ipmi_ret_t compCode =
++ ipmi::getChannelInfo(static_cast<uint8_t>(channelNum), chInfo);
++ if (compCode != IPMI_CC_OK ||
++ chInfo.mediumType !=
++ static_cast<uint8_t>(ipmi::EChannelMediumType::lan8032))
++ {
++ return ipmi::responseInvalidFieldRequest();
+ }
+
-+ *dataLen = 0;
-+
-+ outPayload.push_back(solParameterRevision);
-+ if (reqData->getParamRev)
++ if (getParamRev)
+ {
-+ std::copy(outPayload.begin(), outPayload.end(),
-+ static_cast<uint8_t*>(response));
-+ *dataLen = outPayload.size();
-+ return IPMI_CC_OK;
++ return ipmi::responseSuccess(solParameterRevision, std::nullopt,
++ std::nullopt);
+ }
+
+ ipmi::Value value;
-+ switch (static_cast<sol::Parameter>(reqData->paramSelector))
++ switch (static_cast<sol::Parameter>(paramSelector))
+ {
+ case sol::Parameter::progress:
+ {
-+ if (getSOLParameter("Progress", value) < 0)
++ if (getSOLParameter("Progress", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
-+ outPayload.push_back(std::get<uint8_t>(value));
-+ break;
++ return ipmi::responseSuccess(
++ solParameterRevision, std::get<uint8_t>(value), std::nullopt);
+ }
+ case sol::Parameter::enable:
+ {
-+ if (getSOLParameter("Enable", value) < 0)
++ if (getSOLParameter("Enable", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
-+ outPayload.push_back(static_cast<uint8_t>(std::get<bool>(value)));
-+ break;
++ return ipmi::responseSuccess(
++ solParameterRevision,
++ static_cast<uint8_t>(std::get<bool>(value)), std::nullopt);
+ }
+ case sol::Parameter::authentication:
+ {
+ uint8_t authentication = 0;
-+ if (getSOLParameter("Privilege", value) < 0)
++ if (getSOLParameter("Privilege", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+ authentication = (std::get<uint8_t>(value) & 0x0f);
+
-+ if (getSOLParameter("ForceAuthentication", value) < 0)
++ if (getSOLParameter("ForceAuthentication", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+ authentication |=
+ (static_cast<uint8_t>(std::get<bool>(value)) << 6);
+
-+ if (getSOLParameter("ForceEncryption", value) < 0)
++ if (getSOLParameter("ForceEncryption", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+ authentication |=
+ (static_cast<uint8_t>(std::get<bool>(value)) << 7);
-+ outPayload.push_back(authentication);
-+ break;
++ return ipmi::responseSuccess(solParameterRevision, authentication,
++ std::nullopt);
+ }
+ case sol::Parameter::accumulate:
+ {
-+ if (getSOLParameter("AccumulateIntervalMS", value) < 0)
++ if (getSOLParameter("AccumulateIntervalMS", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
-+ outPayload.push_back(std::get<uint8_t>(value));
+
-+ if (getSOLParameter("Threshold", value) < 0)
++ ipmi::Value value1;
++ if (getSOLParameter("Threshold", value1, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
-+ outPayload.push_back(std::get<uint8_t>(value));
-+ break;
++ return ipmi::responseSuccess(solParameterRevision,
++ std::get<uint8_t>(value),
++ std::get<uint8_t>(value1));
+ }
+ case sol::Parameter::retry:
+ {
-+ if (getSOLParameter("RetryCount", value) < 0)
++ if (getSOLParameter("RetryCount", value, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
-+ outPayload.push_back(std::get<uint8_t>(value) & retryCountMask);
+
-+ if (getSOLParameter("RetryIntervalMS", value) < 0)
++ ipmi::Value value1;
++ if (getSOLParameter("RetryIntervalMS", value1, channelNum) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
-+ outPayload.push_back(std::get<uint8_t>(value));
-+ break;
++ return ipmi::responseSuccess(
++ solParameterRevision, std::get<uint8_t>(value) & retryCountMask,
++ std::get<uint8_t>(value1));
++ }
++ case sol::Parameter::channel:
++ {
++ return ipmi::responseSuccess(solParameterRevision, channelNum,
++ std::nullopt);
+ }
+ case sol::Parameter::port:
+ {
+ uint16_t port = htole16(ipmiStdPort);
+ auto buffer = reinterpret_cast<const uint8_t*>(&port);
-+ std::copy(buffer, buffer + sizeof(port),
-+ std::back_inserter(outPayload));
-+ break;
++ return ipmi::responseSuccess(solParameterRevision, buffer[0],
++ buffer[1]);
+ }
+ case sol::Parameter::nvbitrate:
+ {
+ if (getSOLBaudRate(value) < 0)
+ {
-+ return IPMI_CC_UNSPECIFIED_ERROR;
++ return ipmi::responseUnspecifiedError();
+ }
+ uint8_t bitRate = 0;
+ uint32_t* pBaudRate = std::get_if<uint32_t>(&value);
@@ -233,110 +233,28 @@ index 850172d..0c1223a 100644
+ default:
+ break;
+ }
-+ outPayload.push_back(bitRate);
-+ break;
++ return ipmi::responseSuccess(solParameterRevision, bitRate,
++ std::nullopt);
+ }
+ default:
-+ return IPMI_CC_PARM_NOT_SUPPORTED;
++ return ipmi::responseParmNotSupported();
+ }
-+ std::copy(outPayload.begin(), outPayload.end(),
-+ static_cast<uint8_t*>(response));
-+ *dataLen = outPayload.size();
-+
-+ return IPMI_CC_OK;
+}
+
-+ipmi_ret_t setSOLConfParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-+ ipmi_request_t request, ipmi_response_t response,
-+ ipmi_data_len_t dataLen, ipmi_context_t context)
+ void register_netfn_transport_functions()
{
-- auto reqData = reinterpret_cast<const SetConfParamsRequest*>(request);
-+ auto reqData = reinterpret_cast<const SetSOLConfParamsRequest*>(request);
-
- // Check request length first
- switch (static_cast<sol::Parameter>(reqData->paramSelector))
-@@ -1724,7 +1905,7 @@ ipmi_ret_t setConfParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- case sol::Parameter::enable:
- case sol::Parameter::authentication:
- {
-- if (*dataLen != sizeof(SetConfParamsRequest) - 1)
-+ if (*dataLen != sizeof(SetSOLConfParamsRequest) - 1)
- {
- *dataLen = 0;
- return IPMI_CC_REQ_DATA_LEN_INVALID;
-@@ -1734,7 +1915,7 @@ ipmi_ret_t setConfParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
- case sol::Parameter::accumulate:
- case sol::Parameter::retry:
- {
-- if (*dataLen != sizeof(SetConfParamsRequest))
-+ if (*dataLen != sizeof(SetSOLConfParamsRequest))
- {
- *dataLen = 0;
- return IPMI_CC_REQ_DATA_LEN_INVALID;
-@@ -1865,7 +2046,10 @@ void register_netfn_transport_functions()
- ipmi_transport_get_lan, PRIVILEGE_OPERATOR);
+ // As this timer is only for transport handler
+@@ -1934,6 +2121,10 @@ void register_netfn_transport_functions()
+ ipmi::transport::cmdSetSolConfigParameters,
+ ipmi::Privilege::Admin, setSOLConfParams);
- ipmi_register_callback(NETFUN_TRANSPORT, IPMI_CMD_SET_SOL_CONF_PARAMS, NULL,
-- setConfParams, PRIVILEGE_ADMIN);
-+ setSOLConfParams, PRIVILEGE_ADMIN);
++ ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnTransport,
++ ipmi::transport::cmdGetSolConfigParameters,
++ ipmi::Privilege::User, getSOLConfParams);
+
-+ ipmi_register_callback(NETFUN_TRANSPORT, IPMI_CMD_GET_SOL_CONF_PARAMS, NULL,
-+ getSOLConfParams, PRIVILEGE_ADMIN);
-
// Initialize dbus property progress to 0 every time sol manager restart.
initializeSOLInProgress();
-diff --git a/transporthandler.hpp b/transporthandler.hpp
-index 3b5e9e1..a21862b 100644
---- a/transporthandler.hpp
-+++ b/transporthandler.hpp
-@@ -1,6 +1,7 @@
- #pragma once
-
- #include <ipmid/types.hpp>
-+#include <map>
- #include <string>
- // IPMI commands for Transport net functions.
- enum ipmi_netfn_storage_cmds
-@@ -257,7 +258,7 @@ struct Retry
- uint8_t interval; //!< SOL retry interval.
- } __attribute__((packed));
--struct SetConfParamsRequest
-+struct SetSOLConfParamsRequest
- {
- #if BYTE_ORDER == LITTLE_ENDIAN
- uint8_t channelNumber : 4; //!< Channel number.
-@@ -279,7 +280,29 @@ struct SetConfParamsRequest
- };
- } __attribute__((packed));
-
--struct SetConfParamsResponse
-+struct SetSOLConfParamsResponse
- {
- uint8_t completionCode; //!< Completion code.
- } __attribute__((packed));
-+
-+struct GetSOLConfParamsRequest
-+{
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+ uint8_t channelNum : 4; //!< Channel number.
-+ uint8_t reserved : 3; //!< Reserved.
-+ uint8_t getParamRev : 1; //!< Get parameter or Get parameter revision
-+#endif
-+
-+#if BYTE_ORDER == BIG_ENDIAN
-+ uint8_t getParamRev : 1; //!< Get parameter or Get parameter revision
-+ uint8_t reserved : 3; //!< Reserved.
-+ uint8_t channelNum : 4; //!< Channel number.
-+#endif
-+
-+ uint8_t paramSelector; //!< Parameter selector.
-+ uint8_t setSelector; //!< Set selector.
-+ uint8_t blockSelector; //!< Block selector.
-+} __attribute__((packed));
-+
-+static constexpr uint16_t ipmiStdPort = 623;
-+static constexpr uint8_t solParameterRevision = 0x11;
--
2.7.4
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0061-Use-xyz.openbmc_project.State.Chassis-for-IPMI-chass.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0061-Use-xyz.openbmc_project.State.Chassis-for-IPMI-chass.patch
deleted file mode 100644
index 877c5336a..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0061-Use-xyz.openbmc_project.State.Chassis-for-IPMI-chass.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 514b76d1c05d7ed7fb7e1df27833e423e04c9a1c Mon Sep 17 00:00:00 2001
-From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
-Date: Tue, 21 May 2019 09:57:16 -0700
-Subject: [PATCH] Use xyz.openbmc_project.State.Chassis for IPMI chassis status
-
-Instead of directly using pgood on dbus, this change uses the
-xyz.openbmc_project.State.Chassis "CurrentPowerState" property
-for the IPMI chassis status command. This will allow us to
-remove pgood from dbus.
-
-Tested:
-Ran IPMI chassis commands and confirmed that they behave as
-expected:
-ipmitool power status
-Chassis Power is on
-
-ipmitool power off
-Chassis Power Control: Down/Off
-
-ipmitool power status
-Chassis Power is off
-
-ipmitool power on
-Chassis Power Control: Up/On
-
-ipmitool power status
-Chassis Power is on
-
-Change-Id: I7836c16b76c3b309f176186f3e2453082e4cd1af
-Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
----
- chassishandler.cpp | 61 ++++++++++++++++++++++++++++++++++++------------------
- 1 file changed, 41 insertions(+), 20 deletions(-)
-
-diff --git a/chassishandler.cpp b/chassishandler.cpp
-index 1738ccc..e4e842d 100644
---- a/chassishandler.cpp
-+++ b/chassishandler.cpp
-@@ -824,44 +824,65 @@ std::optional<uint2_t> getPowerRestorePolicy()
- */
- std::optional<bool> getPowerStatus()
- {
-- constexpr const char* powerControlObj =
-- "/xyz/openbmc_project/Chassis/Control/Power0";
-- constexpr const char* powerControlIntf =
-- "xyz.openbmc_project.Chassis.Control.Power";
- bool powerGood = false;
- std::shared_ptr<sdbusplus::asio::connection> busp = getSdBus();
- try
- {
-+ constexpr const char* chassisStatePath =
-+ "/xyz/openbmc_project/state/chassis0";
-+ constexpr const char* chassisStateIntf =
-+ "xyz.openbmc_project.State.Chassis";
- auto service =
-- ipmi::getService(*busp, powerControlIntf, powerControlObj);
-+ ipmi::getService(*busp, chassisStateIntf, chassisStatePath);
-
-- ipmi::Value variant = ipmi::getDbusProperty(
-- *busp, service, powerControlObj, powerControlIntf, "pgood");
-- powerGood = static_cast<bool>(std::get<int>(variant));
-+ ipmi::Value variant =
-+ ipmi::getDbusProperty(*busp, service, chassisStatePath,
-+ chassisStateIntf, "CurrentPowerState");
-+ std::string powerState = std::get<std::string>(variant);
-+ if (powerState == "xyz.openbmc_project.State.Chassis.PowerState.On")
-+ {
-+ powerGood = true;
-+ }
- }
- catch (const std::exception& e)
- {
- try
- {
-- // FIXME: some legacy modules use the older path; try that next
-- constexpr const char* legacyPwrCtrlObj =
-- "/org/openbmc/control/power0";
-- constexpr const char* legacyPwrCtrlIntf =
-- "org.openbmc.control.Power";
-+ // FIXME: some modules use pgood; try that next
-+ constexpr const char* powerControlObj =
-+ "/xyz/openbmc_project/Chassis/Control/Power0";
-+ constexpr const char* powerControlIntf =
-+ "xyz.openbmc_project.Chassis.Control.Power";
- auto service =
-- ipmi::getService(*busp, legacyPwrCtrlIntf, legacyPwrCtrlObj);
-+ ipmi::getService(*busp, powerControlIntf, powerControlObj);
-
- ipmi::Value variant = ipmi::getDbusProperty(
-- *busp, service, legacyPwrCtrlObj, legacyPwrCtrlIntf, "pgood");
-+ *busp, service, powerControlObj, powerControlIntf, "pgood");
- powerGood = static_cast<bool>(std::get<int>(variant));
- }
- catch (const std::exception& e)
- {
-- log<level::ERR>("Failed to fetch pgood property",
-- entry("ERROR=%s", e.what()),
-- entry("PATH=%s", powerControlObj),
-- entry("INTERFACE=%s", powerControlIntf));
-- return std::nullopt;
-+ try
-+ {
-+ // FIXME: some legacy modules use the older path; try that next
-+ constexpr const char* legacyPwrCtrlObj =
-+ "/org/openbmc/control/power0";
-+ constexpr const char* legacyPwrCtrlIntf =
-+ "org.openbmc.control.Power";
-+ auto service = ipmi::getService(*busp, legacyPwrCtrlIntf,
-+ legacyPwrCtrlObj);
-+
-+ ipmi::Value variant =
-+ ipmi::getDbusProperty(*busp, service, legacyPwrCtrlObj,
-+ legacyPwrCtrlIntf, "pgood");
-+ powerGood = static_cast<bool>(std::get<int>(variant));
-+ }
-+ catch (const std::exception& e)
-+ {
-+ log<level::ERR>("Failed to fetch pgood property",
-+ entry("ERROR=%s", e.what()));
-+ return std::nullopt;
-+ }
- }
- }
- return std::make_optional(powerGood);
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0062-Update-IPMI-Chassis-Control-command.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0062-Update-IPMI-Chassis-Control-command.patch
index 498233881..f29111758 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0062-Update-IPMI-Chassis-Control-command.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0062-Update-IPMI-Chassis-Control-command.patch
@@ -1,4 +1,4 @@
-From f11928c6b39052c679c9300e9d836837ef60be06 Mon Sep 17 00:00:00 2001
+From 00fb92edcb4229eeb5b46c4eb206ba7d70e241fc Mon Sep 17 00:00:00 2001
From: "Jason M. Bills" <jason.m.bills@linux.intel.com>
Date: Mon, 3 Jun 2019 17:01:47 -0700
Subject: [PATCH] Update IPMI Chassis Control command
@@ -19,11 +19,11 @@ ipmitool power soft: soft power-off requested from system software
Change-Id: Ic9fba3ca4abd9a758eb88f1e6ee09f7ca64ff80a
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
---
- chassishandler.cpp | 138 +++++++++++++++++++++--------------------------------
- 1 file changed, 54 insertions(+), 84 deletions(-)
+ chassishandler.cpp | 206 ++++++++++++++---------------------------------------
+ 1 file changed, 52 insertions(+), 154 deletions(-)
diff --git a/chassishandler.cpp b/chassishandler.cpp
-index e4e842d..d71b95f 100644
+index 88bf84b..ad564e2 100644
--- a/chassishandler.cpp
+++ b/chassishandler.cpp
@@ -31,6 +31,7 @@
@@ -134,7 +134,84 @@ index e4e842d..d71b95f 100644
}
namespace power_policy
-@@ -1138,61 +1143,26 @@ ipmi::RspType<> ipmiChassisControl(uint8_t chassisControl)
+@@ -1033,76 +1038,6 @@ ipmi::RspType<bool, // Power is on
+ diagButtonDisableAllow, sleepButtonDisableAllow);
+ }
+
+-//-------------------------------------------------------------
+-// Send a command to SoftPowerOff application to stop any timer
+-//-------------------------------------------------------------
+-int stop_soft_off_timer()
+-{
+- constexpr auto iface = "org.freedesktop.DBus.Properties";
+- constexpr auto soft_off_iface = "xyz.openbmc_project.Ipmi.Internal."
+- "SoftPowerOff";
+-
+- constexpr auto property = "ResponseReceived";
+- constexpr auto value = "xyz.openbmc_project.Ipmi.Internal."
+- "SoftPowerOff.HostResponse.HostShutdown";
+-
+- // Get the system bus where most system services are provided.
+- auto bus = ipmid_get_sd_bus_connection();
+-
+- // Get the service name
+- // TODO openbmc/openbmc#1661 - Mapper refactor
+- //
+- // See openbmc/openbmc#1743 for some details but high level summary is that
+- // for now the code will directly call the soft off interface due to a
+- // race condition with mapper usage
+- //
+- // char *busname = nullptr;
+- // auto r = mapper_get_service(bus, SOFTOFF_OBJPATH, &busname);
+- // if (r < 0)
+- //{
+- // fprintf(stderr, "Failed to get %s bus name: %s\n",
+- // SOFTOFF_OBJPATH, -r);
+- // return r;
+- //}
+-
+- // No error object or reply expected.
+- int rc = sd_bus_call_method(bus, SOFTOFF_BUSNAME, SOFTOFF_OBJPATH, iface,
+- "Set", nullptr, nullptr, "ssv", soft_off_iface,
+- property, "s", value);
+- if (rc < 0)
+- {
+- log<level::ERR>("Failed to set property in SoftPowerOff object",
+- entry("ERRNO=0x%X", -rc));
+- }
+-
+- // TODO openbmc/openbmc#1661 - Mapper refactor
+- // free(busname);
+- return rc;
+-}
+-
+-//----------------------------------------------------------------------
+-// Create file to indicate there is no need for softoff notification to host
+-//----------------------------------------------------------------------
+-void indicate_no_softoff_needed()
+-{
+- fs::path path{HOST_INBAND_REQUEST_DIR};
+- if (!fs::is_directory(path))
+- {
+- fs::create_directory(path);
+- }
+-
+- // Add the host instance (default 0 for now) to the file name
+- std::string file{HOST_INBAND_REQUEST_FILE};
+- auto size = std::snprintf(nullptr, 0, file.c_str(), 0);
+- size++; // null
+- std::unique_ptr<char[]> buf(new char[size]);
+- std::snprintf(buf.get(), size, file.c_str(), 0);
+-
+- // Append file name to directory and create it
+- path /= buf.get();
+- std::ofstream(path.c_str());
+-}
+-
+ /** @brief Implementation of chassis control command
+ *
+ * @param - chassisControl command byte
+@@ -1115,61 +1050,24 @@ ipmi::RspType<> ipmiChassisControl(uint8_t chassisControl)
switch (chassisControl)
{
case CMD_POWER_ON:
@@ -204,8 +281,6 @@ index e4e842d..d71b95f 100644
+ rc = initiateHostStateTransition(State::Host::Transition::Off);
+ break;
+ case CMD_PULSE_DIAGNOSTIC_INTR:
-+ rc =
-+ initiateHostStateTransition(State::Host::Transition::Interrupt);
break;
default:
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch
new file mode 100644
index 000000000..6a7b056ab
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch
@@ -0,0 +1,29 @@
+diff --git a/app/watchdog.cpp b/app/watchdog.cpp
+index 2938d23..bc5df29 100644
+--- a/app/watchdog.cpp
++++ b/app/watchdog.cpp
+@@ -445,23 +445,21 @@ ipmi_ret_t ipmi_app_watchdog_get(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ wdTimerUseToIpmiTimerUse(wd_prop.expiredTimerUse));
+ }
+
++ res.expire_flags = timerUseExpirationFlags;
+ if (wd_prop.enabled)
+ {
+ res.timer_use |= wd_running;
+ res.present_countdown = htole16(wd_prop.timeRemaining / 100);
+- res.expire_flags = 0;
+ }
+ else
+ {
+ if (wd_prop.expiredTimerUse == WatchdogService::TimerUse::Reserved)
+ {
+ res.present_countdown = res.initial_countdown;
+- res.expire_flags = 0;
+ }
+ else
+ {
+ res.present_countdown = 0;
+- res.expire_flags = timerUseExpirationFlags;
+ }
+ }
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Update-provisioning-mode-filter-logic.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Update-provisioning-mode-filter-logic.patch
new file mode 100644
index 000000000..57a31c991
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/0064-Update-provisioning-mode-filter-logic.patch
@@ -0,0 +1,286 @@
+From 3279300bb9afd1f169b35b7830d7f054045ab35f Mon Sep 17 00:00:00 2001
+From: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+Date: Tue, 18 Jun 2019 19:42:30 +0530
+Subject: [PATCH] Update provisioning mode filter logic
+
+Updated provisioning mode filtering logic support. Based on the
+RestrictionMode property, Host (system) interface commands will be
+filtered as per the allowed list in ProvisionedHostWhitelist once
+POST complete is achieved. No commands will be allowed in
+ProvisionedHostDisabled after POST complete and in all other cases
+filterning logic will not be applied.
+
+Tested
+1. Verified the filtering logic through EFI shell and made sure
+filtering logic is applied when RestrictionMode is in
+ProvisionedHostWhitelist mode
+2. Verified no filtering logic is applied in normal modes
+3. Made sure BIOS is able to execute commands, which are not in
+whitelist (Note: New whitelist conf is under review).
+
+Change-Id: I7a14e827d70e2d8d6975e600a0fd00e2a790bc22
+Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
+---
+ whitelist-filter.cpp | 155 ++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 122 insertions(+), 33 deletions(-)
+
+diff --git a/whitelist-filter.cpp b/whitelist-filter.cpp
+index 9f1e7c8..2c56087 100644
+--- a/whitelist-filter.cpp
++++ b/whitelist-filter.cpp
+@@ -25,6 +25,7 @@ namespace
+ */
+ class WhitelistFilter
+ {
++
+ public:
+ WhitelistFilter();
+ ~WhitelistFilter() = default;
+@@ -35,17 +36,26 @@ class WhitelistFilter
+
+ private:
+ void postInit();
+- void cacheRestrictedMode();
++ void cacheRestrictedAndPostCompleteMode();
+ void handleRestrictedModeChange(sdbusplus::message::message& m);
++ void handlePostCompleteChange(sdbusplus::message::message& m);
+ ipmi::Cc filterMessage(ipmi::message::Request::ptr request);
+
+- bool restrictedMode = true;
++ sdbusplus::xyz::openbmc_project::Control::Security::server::
++ RestrictionMode::Modes restrictionMode =
++ sdbusplus::xyz::openbmc_project::Control::Security::server::
++ RestrictionMode::Modes::ProvisionedHostWhitelist;
++ bool postCompleted = false;
+ std::shared_ptr<sdbusplus::asio::connection> bus;
+ std::unique_ptr<settings::Objects> objects;
++ std::unique_ptr<settings::Objects> postCompleteObj;
+ std::unique_ptr<sdbusplus::bus::match::match> modeChangeMatch;
++ std::unique_ptr<sdbusplus::bus::match::match> postCompleteMatch;
+
+ static constexpr const char restrictionModeIntf[] =
+ "xyz.openbmc_project.Control.Security.RestrictionMode";
++ static constexpr const char* systemOsStatusIntf =
++ "xyz.openbmc_project.State.OperatingSystem.Status";
+ };
+
+ WhitelistFilter::WhitelistFilter()
+@@ -63,16 +73,22 @@ WhitelistFilter::WhitelistFilter()
+ post_work([this]() { postInit(); });
+ }
+
+-void WhitelistFilter::cacheRestrictedMode()
++void WhitelistFilter::cacheRestrictedAndPostCompleteMode()
+ {
+ using namespace sdbusplus::xyz::openbmc_project::Control::Security::server;
+ std::string restrictionModeSetting;
+ std::string restrictionModeService;
++ std::string systemOsStatusPath;
++ std::string systemOsStatusService;
+ try
+ {
+ restrictionModeSetting = objects->map.at(restrictionModeIntf).at(0);
+ restrictionModeService =
+ objects->service(restrictionModeSetting, restrictionModeIntf);
++
++ systemOsStatusPath = postCompleteObj->map.at(systemOsStatusIntf).at(0);
++ systemOsStatusService =
++ postCompleteObj->service(systemOsStatusPath, systemOsStatusIntf);
+ }
+ catch (const std::out_of_range& e)
+ {
+@@ -80,26 +96,50 @@ void WhitelistFilter::cacheRestrictedMode()
+ "Could not look up restriction mode interface from cache");
+ return;
+ }
++
+ bus->async_method_call(
+ [this](boost::system::error_code ec, ipmi::Value v) {
+ if (ec)
+ {
+ log<level::ERR>("Error in RestrictionMode Get");
+ // Fail-safe to true.
+- restrictedMode = true;
++ restrictionMode =
++ RestrictionMode::Modes::ProvisionedHostWhitelist;
+ return;
+ }
+ auto mode = std::get<std::string>(v);
+- auto restrictionMode =
+- RestrictionMode::convertModesFromString(mode);
+- restrictedMode =
+- (restrictionMode == RestrictionMode::Modes::Whitelist);
+- log<level::INFO>((restrictedMode ? "Set restrictedMode = true"
+- : "Set restrictedMode = false"));
++ restrictionMode = RestrictionMode::convertModesFromString(mode);
++ log<level::INFO>(
++ "Read restriction mode",
++ entry("VALUE=%d", static_cast<int>(restrictionMode)));
+ },
+ restrictionModeService, restrictionModeSetting,
+ "org.freedesktop.DBus.Properties", "Get", restrictionModeIntf,
+ "RestrictionMode");
++
++ bus->async_method_call(
++ [this](boost::system::error_code ec, const ipmi::Value& v) {
++ if (ec)
++ {
++ log<level::ERR>("Error in OperatingSystemState Get");
++ postCompleted = true;
++ return;
++ }
++ auto value = std::get<std::string>(v);
++ if (value == "Standby")
++ {
++ postCompleted = true;
++ }
++ else
++ {
++ postCompleted = false;
++ }
++ log<level::INFO>("Read POST complete value",
++ entry("VALUE=%d", postCompleted));
++ },
++ systemOsStatusService, systemOsStatusPath,
++ "org.freedesktop.DBus.Properties", "Get", systemOsStatusIntf,
++ "OperatingSystemState");
+ }
+
+ void WhitelistFilter::handleRestrictedModeChange(sdbusplus::message::message& m)
+@@ -112,23 +152,44 @@ void WhitelistFilter::handleRestrictedModeChange(sdbusplus::message::message& m)
+ {
+ if (property.first == "RestrictionMode")
+ {
+- RestrictionMode::Modes restrictionMode =
+- RestrictionMode::convertModesFromString(
+- std::get<std::string>(property.second));
+- restrictedMode =
+- (restrictionMode == RestrictionMode::Modes::Whitelist);
+- log<level::INFO>((restrictedMode
+- ? "Updated restrictedMode = true"
+- : "Updated restrictedMode = false"));
++ restrictionMode = RestrictionMode::convertModesFromString(
++ std::get<std::string>(property.second));
++ log<level::INFO>(
++ "Updated restriction mode",
++ entry("VALUE=%d", static_cast<int>(restrictionMode)));
++ }
++ }
++}
++void WhitelistFilter::handlePostCompleteChange(sdbusplus::message::message& m)
++{
++ std::string intf;
++ std::vector<std::pair<std::string, ipmi::Value>> propertyList;
++ m.read(intf, propertyList);
++ for (const auto& property : propertyList)
++ {
++ if (property.first == "OperatingSystemState")
++ {
++ std::string value = std::get<std::string>(property.second);
++ if (value == "Standby")
++ {
++ postCompleted = true;
++ }
++ else
++ {
++ postCompleted = false;
++ }
++ log<level::INFO>(postCompleted ? "Updated to POST Complete"
++ : "Updated to !POST Complete");
+ }
+ }
+ }
+-
+ void WhitelistFilter::postInit()
+ {
+ objects = std::make_unique<settings::Objects>(
+ *bus, std::vector<settings::Interface>({restrictionModeIntf}));
+- if (!objects)
++ postCompleteObj = std::make_unique<settings::Objects>(
++ *bus, std::vector<settings::Interface>({systemOsStatusIntf}));
++ if (!objects || !postCompleteObj)
+ {
+ log<level::ERR>(
+ "Failed to create settings object; defaulting to restricted mode");
+@@ -136,37 +197,65 @@ void WhitelistFilter::postInit()
+ }
+
+ // Initialize restricted mode
+- cacheRestrictedMode();
++ cacheRestrictedAndPostCompleteMode();
+ // Wait for changes on Restricted mode
+- std::string filterStr;
++ std::string filterStrModeChange;
++ std::string filterStrPostComplete;
+ try
+ {
+- filterStr = sdbusplus::bus::match::rules::propertiesChanged(
++ filterStrModeChange = sdbusplus::bus::match::rules::propertiesChanged(
+ objects->map.at(restrictionModeIntf).at(0), restrictionModeIntf);
++ filterStrPostComplete = sdbusplus::bus::match::rules::propertiesChanged(
++ postCompleteObj->map.at(systemOsStatusIntf).at(0),
++ systemOsStatusIntf);
+ }
+ catch (const std::out_of_range& e)
+ {
+- log<level::ERR>("Failed to determine restriction mode filter string");
++ log<level::ERR>("Failed to determine restriction mode / POST complete "
++ "filter string");
+ return;
+ }
+ modeChangeMatch = std::make_unique<sdbusplus::bus::match::match>(
+- *bus, filterStr, [this](sdbusplus::message::message& m) {
++ *bus, filterStrModeChange, [this](sdbusplus::message::message& m) {
+ handleRestrictedModeChange(m);
+ });
++ postCompleteMatch = std::make_unique<sdbusplus::bus::match::match>(
++ *bus, filterStrPostComplete, [this](sdbusplus::message::message& m) {
++ handlePostCompleteChange(m);
++ });
+ }
+
+ ipmi::Cc WhitelistFilter::filterMessage(ipmi::message::Request::ptr request)
+ {
+- if (request->ctx->channel == ipmi::channelSystemIface && restrictedMode)
++ using namespace sdbusplus::xyz::openbmc_project::Control::Security::server;
++
++ if (request->ctx->channel == ipmi::channelSystemIface &&
++ (restrictionMode != RestrictionMode::Modes::None &&
++ restrictionMode != RestrictionMode::Modes::Provisioning))
+ {
+- if (!std::binary_search(
+- whitelist.cbegin(), whitelist.cend(),
+- std::make_pair(request->ctx->netFn, request->ctx->cmd)))
++ if (!postCompleted)
+ {
+- log<level::ERR>("Net function not whitelisted",
+- entry("NETFN=0x%X", int(request->ctx->netFn)),
+- entry("CMD=0x%X", int(request->ctx->cmd)));
+- return ipmi::ccInsufficientPrivilege;
++ // Allow all commands, till POST is not completed
++ return ipmi::ccSuccess;
++ }
++ switch (restrictionMode)
++ {
++ case RestrictionMode::Modes::ProvisionedHostWhitelist:
++ {
++ if (!std::binary_search(
++ whitelist.cbegin(), whitelist.cend(),
++ std::make_pair(request->ctx->netFn, request->ctx->cmd)))
++ {
++ log<level::ERR>(
++ "Net function not whitelisted",
++ entry("NETFN=0x%X", int(request->ctx->netFn)),
++ entry("CMD=0x%X", int(request->ctx->cmd)));
++ return ipmi::ccInsufficientPrivilege;
++ }
++ break;
++ }
++ default: // for whitelist, blacklist & HostDisabled
++ return ipmi::ccInsufficientPrivilege;
+ }
+ }
+ return ipmi::ccSuccess;
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/host-ipmid-whitelist.conf b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/host-ipmid-whitelist.conf
new file mode 100644
index 000000000..deed53b0b
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/host-ipmid-whitelist.conf
@@ -0,0 +1,50 @@
+#<NetFn>:<Command
+0x00:0x00 //<Chassis>:<Chassis Capabiliti>
+0x00:0x01 //<Chassis>:<Get Chassis Status>
+0x00:0x07 //<Chassis>:<Get System Restart Cause>
+0x00:0x09 //<Chassis>:<Get System Boot Options>
+0x00:0x0F //<Chassis>:<Get POH Counter Command>
+0x04:0x02 //<Sensor/Event>:<Platform event>
+0x04:0x2D //<Sensor/Event>:<Get Sensor Reading>
+0x04:0x2F //<Sensor/Event>:<Get Sensor Type>
+0x06:0x01 //<App>:<Get Device ID>
+0x06:0x04 //<App>:<Get Self Test Results>
+0x06:0x07 //<App>:<Get ACPI Power State>
+0x06:0x08 //<App>:<Get Device GUID>
+0x06:0x22 //<App>:<Reset Watchdog Timer>
+0x06:0x24 //<App>:<Set Watchdog Timer>
+0x06:0x25 //<App>:<Get Watchdog Timer>
+0x06:0x2F //<App>:<Get BMC Global Enables>
+0x06:0x31 //<App>:<Get Message Flags>
+0x06:0x35 //<App>:<Read Event Message Buffer>
+0x06:0x36 //<App>:<Get BT Interface Capabilities>
+0x06:0x37 //<App>:<Get System GUID>
+0x06:0x42 //<App>:<Get Channel Info Command>
+0x06:0x4E //<App>:<Get Channel Payload Support>
+0x06:0x54 //<App>:<Get Channel Cipher Suites>
+0x0A:0x10 //<Storage>:<Get FRU Inventory Area Info>
+0x0A:0x11 //<Storage>:<Read FRU Data>
+0x0A:0x20 //<Storage>:<Get SDR Repository Info>
+0x0A:0x22 //<Storage>:<Reserve SDR Repository>
+0x0A:0x23 //<Storage>:<Get SDR>
+0x0A:0x40 //<Storage>:<Get SEL Info>
+0x0A:0x42 //<Storage>:<Reserve SEL>
+0x0A:0x44 //<Storage>:<Add SEL Entry>
+0x0A:0x48 //<Storage>:<Get SEL Time>
+0x0A:0x49 //<Storage>:<Set SEL Time>
+0x0C:0x02 //<Transport>:<Get LAN Configuration Parameters>
+0x0C:0x22 //<Transport>:<Get SOL Configuration Parameters>
+0x2C:0x00 //<Group Extension>:<Group Extension Command>
+0x2C:0x01 //<Group Extension>:<Get DCMI Capabilities>
+0x2C:0x02 //<Group Extension>:<Get Power Reading>
+0x2C:0x03 //<Group Extension>:<Get Power Limit>
+0x2C:0x06 //<Group Extension>:<Get Asset Tag>
+0x2C:0x07 //<Group Extension>:<Get Sensor Info>
+0x2C:0x10 //<Group Extension>:<Get Temperature Readings>
+0x30:0x27 //<OEM>:<Get Device Info>
+0x30:0x31 //<OEM>:<Get AIC card FRU>
+0x30:0x55 //<OEM>:<Get Power Restore Delay>
+0x30:0x9A //<OEM>:<Get Processor Error Config>
+0x30:0xB0 //<OEM>:<Get LED Status>
+0x30:0xE9 //<OEM>:<Get BIOS Post Codes>
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/phosphor-ipmi-host.service b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/phosphor-ipmi-host.service
index d855eaa5b..b09bbf890 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/phosphor-ipmi-host.service
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host/phosphor-ipmi-host.service
@@ -7,8 +7,10 @@ Wants=mapper-wait@-xyz-openbmc_project-control-host0-boot-one_time.service
After=mapper-wait@-xyz-openbmc_project-control-host0-boot-one_time.service
Wants=mapper-wait@-xyz-openbmc_project-control-host0-power_restore_policy.service
After=mapper-wait@-xyz-openbmc_project-control-host0-power_restore_policy.service
-Wants=mapper-wait@-xyz-openbmc_project-control-host0-restriction_mode.service
-After=mapper-wait@-xyz-openbmc_project-control-host0-restriction_mode.service
+Wants=mapper-wait@-xyz-openbmc_project-control-security-restriction_mode.service
+After=mapper-wait@-xyz-openbmc_project-control-security-restriction_mode.service
+Wants=mapper-wait@-xyz-openbmc_project-state-os.service
+After=mapper-wait@-xyz-openbmc_project-state-os.service
Wants=clear-once.service
After=clear-once.service
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
index a6a142ec8..d8f9203c9 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -3,25 +3,24 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
# TODO: This should be removed, once up-stream bump up
# issue is resolved
#SRC_URI = "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "0b979b61c12ffe6ab8a27acf8ad2a0165d687195"
+SRCREV = "894d022017215acceafc9e3f21379534f5396d21"
SRC_URI += "file://phosphor-ipmi-host.service \
+ file://host-ipmid-whitelist.conf \
file://0009-IPv6-Network-changes.patch \
file://0010-fix-get-system-GUID-ipmi-command.patch \
file://0013-ipmi-add-set-bios-id-to-whitelist.patch \
- file://0021-Implement-IPMI-Commmand-Get-Host-Restart-Cause.patch \
file://0039-ipmi-add-oem-command-get-AIC-FRU-to-whitelist.patch \
- file://0049-Fix-Unspecified-error-on-ipmi-restart-cause-command.patch \
file://0050-enable-6-oem-commands.patch \
file://0053-Fix-keep-looping-issue-when-entering-OS.patch \
- file://0055-Implement-set-front-panel-button-enables-command.patch \
file://0056-add-SetInProgress-to-get-set-boot-option-cmd.patch \
file://0057-Add-timer-use-actions-support.patch \
file://0059-Move-Set-SOL-config-parameter-to-host-ipmid.patch \
file://0060-Move-Get-SOL-config-parameter-to-host-ipmid.patch \
- file://0061-Use-xyz.openbmc_project.State.Chassis-for-IPMI-chass.patch \
file://0062-Update-IPMI-Chassis-Control-command.patch \
file://0063-Save-the-pre-timeout-interrupt-in-dbus-property.patch \
+ file://0064-Enable-watchdog-to-save-useflag-after-host-power-off.patch \
+ file://0064-Update-provisioning-mode-filter-logic.patch \
"
# remove the softpoweroff service since we do not need it
@@ -35,6 +34,9 @@ FILES_${PN}_remove = " \
${systemd_unitdir}/system/obmc-host-shutdown@0.target.requires/ \
${systemd_unitdir}/system/obmc-host-shutdown@0.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service \
"
+do_configure_append(){
+ cp -f ${WORKDIR}/host-ipmid-whitelist.conf ${S}
+}
do_install_append(){
rm -f ${D}/${bindir}/phosphor-softpoweroff
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
index 13d908ad1..f33be5760 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
@@ -1,2 +1,2 @@
SRC_URI = "git://github.com/openbmc/ipmbbridge.git"
-SRCREV = "8188d7651c23502f88f9bf850ab7e549f6463997"
+SRCREV = "bbfd00abdbc6d2f7c0389eae91cc055a1d4fe0c3"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0007-Adding-support-for-GetSessionInfo-command.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0007-Adding-support-for-GetSessionInfo-command.patch
deleted file mode 100644
index bbbe6ae4f..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0007-Adding-support-for-GetSessionInfo-command.patch
+++ /dev/null
@@ -1,418 +0,0 @@
-From b05fb3231810865ef1b6e627bb0452ae7a6c61f8 Mon Sep 17 00:00:00 2001
-From: ssekar <suryakanth.sekar@linux.intel.com>
-Date: Wed, 12 Dec 2018 16:04:15 +0530
-Subject: [PATCH 1/2] Adding support for GetSessionInfo command
-
-Description: user can get all session info (remote ip,port,
-session id, priv, etc) using this command.
-
-Verification :we can get all active and non active session
-info by session handle session id.
-Updated the Remote IP addr and Port update for sessioninfo.
-Unit testing are done.
-
-Change-Id: I662ef2b9f0c1d6bda331eb6481d7b9f34534541b
-Signed-off-by: ssekar <suryakanth.sekar@linux.intel.com>
----
- comm_module.cpp | 8 +++
- command/session_cmds.cpp | 147 +++++++++++++++++++++++++++++++++++++++
- command/session_cmds.hpp | 55 +++++++++++++++
- message_handler.cpp | 1 +
- sessions_manager.cpp | 55 +++++++++++++++
- sessions_manager.hpp | 7 ++
- socket_channel.hpp | 17 +++++
- 7 files changed, 290 insertions(+)
-
-diff --git a/comm_module.cpp b/comm_module.cpp
-index acc9089..7a1a17d 100644
---- a/comm_module.cpp
-+++ b/comm_module.cpp
-@@ -53,6 +53,14 @@ void sessionSetupCommands()
- &closeSession,
- session::Privilege::CALLBACK,
- false},
-+ // Session Info Command
-+ {
-+ {
-+ (static_cast<uint32_t>(message::PayloadType::IPMI) << 16) |
-+ static_cast<uint16_t>(command::NetFns::APP) | 0x3D
-+ },
-+ &getSessionInfo, session::Privilege::USER, false
-+ },
- };
-
- for (auto& iter : commands)
-diff --git a/command/session_cmds.cpp b/command/session_cmds.cpp
-index 8606ce5..4beeb6e 100644
---- a/command/session_cmds.cpp
-+++ b/command/session_cmds.cpp
-@@ -8,6 +8,14 @@
- namespace command
- {
-
-+// Defined as per IPMI sepcification
-+static constexpr uint8_t searchCurrentSession = 0x00;
-+static constexpr uint8_t searchSessionByHandle = 0xFE;
-+static constexpr uint8_t searchSessionByID = 0xFF;
-+
-+static constexpr uint8_t ipmi15VerSession = 0x00;
-+static constexpr uint8_t ipmi20VerSession = 0x01;
-+
- std::vector<uint8_t>
- setSessionPrivilegeLevel(const std::vector<uint8_t>& inPayload,
- const message::Handler& handler)
-@@ -92,4 +100,143 @@ std::vector<uint8_t> closeSession(const std::vector<uint8_t>& inPayload,
- return outPayload;
- }
-
-+std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
-+ const message::Handler& handler)
-+
-+{
-+ std::vector<uint8_t> outPayload(sizeof(GetSessionInfoResponse));
-+ auto request =
-+ reinterpret_cast<const GetSessionInfoRequest*>(inPayload.data());
-+ auto response =
-+ reinterpret_cast<GetSessionInfoResponse*>(outPayload.data());
-+ uint32_t reqSessionID = handler.sessionID;
-+ response->completionCode = IPMI_CC_OK;
-+ if (inPayload.size() == 1 && request->sessionIndex != 0)
-+ {
-+ if (request->sessionIndex <= session::MAX_SESSION_COUNT)
-+ {
-+ reqSessionID = std::get<session::Manager&>(singletonPool)
-+ .getSessionIDbyHandle(request->sessionIndex);
-+ }
-+ else
-+ {
-+ response->completionCode = IPMI_CC_INVALID_FIELD_REQUEST;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ }
-+
-+ // Here we look for session info according to session index parameter
-+ switch (request->sessionIndex)
-+ {
-+ // Look for current active session which this cmd is received over
-+ case searchCurrentSession:
-+ // Request data should only contain session index byte
-+ if (inPayload.size() != 1)
-+ {
-+ response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ // To look for current active session which the command came over,
-+ // the session ID cannot be 0.
-+ if (0 == reqSessionID)
-+ {
-+ response->completionCode = IPMI_CC_INVALID_FIELD_REQUEST;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ break;
-+ case searchSessionByHandle:
-+ // Request data should only contain session index byte and Session
-+ // handle
-+ if (inPayload.size() != 2)
-+ {
-+ response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+
-+ // Retrieve session id based on session handle
-+ if (request->sessionHandle <= session::MAX_SESSION_COUNT)
-+ {
-+ reqSessionID =
-+ std::get<session::Manager&>(singletonPool)
-+ .getSessionIDbyHandle(request->sessionHandle);
-+ }
-+ else
-+ {
-+ response->completionCode = IPMI_CC_INVALID_FIELD_REQUEST;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ break;
-+ case searchSessionByID:
-+ // Request data should only contain session index byte and Session
-+ // handle
-+ if (inPayload.size() != sizeof(GetSessionInfoRequest))
-+ {
-+ response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ reqSessionID = endian::from_ipmi(request->sessionID);
-+
-+ break;
-+ default:
-+ if (inPayload.size() != 1)
-+ {
-+ response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ }
-+
-+ response->totalSessionCount = session::MAX_SESSION_COUNT;
-+ response->activeSessioncount =
-+ std::get<session::Manager&>(singletonPool).getNoOfActiveSession();
-+ response->sessionHandle = 0;
-+ if (reqSessionID != 0)
-+ {
-+
-+ std::shared_ptr<session::Session> sessionInfo;
-+ try
-+ {
-+ sessionInfo = std::get<session::Manager&>(singletonPool)
-+ .getSession(reqSessionID);
-+ }
-+ catch (std::exception& e)
-+ {
-+ response->completionCode = IPMI_CC_UNSPECIFIED_ERROR;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ response->sessionHandle = std::get<session::Manager&>(singletonPool)
-+ .getSessionHandle(reqSessionID);
-+ uint8_t userId = ipmi::ipmiUserGetUserId(sessionInfo->userName);
-+ if (userId == ipmi::invalidUserId)
-+ {
-+ response->completionCode = IPMI_CC_UNSPECIFIED_ERROR;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return std::move(outPayload);
-+ }
-+ response->userID = userId; // userId;
-+ response->privLevel = static_cast<uint8_t>(sessionInfo->curPrivLevel);
-+ response->chanNum = sessionInfo->chNum; // byte7 3:0
-+ response->ipmiVer = ipmi20VerSession; // byte7 7:4
-+ response->remoteIpAddr =
-+ sessionInfo->channelPtr->getRemoteAddressInbytes();
-+ response->remotePort =
-+ sessionInfo->channelPtr->getPort(); // remoteSessionPort;
-+
-+ std::cerr << "\nSessionInfo:" << (int)reqSessionID;
-+ // TODO: Filling the Remote MACAddress
-+ }
-+ else
-+ {
-+ outPayload.resize(4);
-+ }
-+ return std::move(outPayload);
-+}
-+
- } // namespace command
-diff --git a/command/session_cmds.hpp b/command/session_cmds.hpp
-index 9737fdb..741de23 100644
---- a/command/session_cmds.hpp
-+++ b/command/session_cmds.hpp
-@@ -116,4 +116,59 @@ struct CloseSessionResponse
- std::vector<uint8_t> closeSession(const std::vector<uint8_t>& inPayload,
- const message::Handler& handler);
-
-+/**
-+ * @struct GetSessionInfoRequest
-+ *
-+ * IPMI Request data for getSession info command
-+ */
-+struct GetSessionInfoRequest
-+{
-+ uint8_t sessionIndex;
-+ union
-+ {
-+ uint8_t sessionHandle;
-+ uint32_t sessionID;
-+ };
-+} __attribute__((packed));
-+
-+/**
-+ * @struct getSessionInfoResponse
-+ *
-+ * IPMI Response data for getSession info command
-+ */
-+struct GetSessionInfoResponse
-+{
-+ uint8_t completionCode;
-+ uint8_t sessionHandle;
-+ uint8_t totalSessionCount;
-+ uint8_t activeSessioncount;
-+ uint8_t userID;
-+ uint8_t privLevel;
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+ uint8_t chanNum : 4;
-+ uint8_t ipmiVer : 4;
-+#endif
-+#if BYTE_ORDER == BIG_ENDIAN
-+ uint8_t ipmiVer : 4;
-+ uint8_t chanNum : 4;
-+#endif
-+ uint32_t remoteIpAddr; // for channel private data
-+ uint8_t remoteMACAddr[6];
-+ uint16_t remotePort;
-+} __attribute__((packed));
-+
-+/**
-+ * @brief GetSessionInfo Command
-+ *
-+ * This command is used to get the session information based on
-+ * session handle or session ID. Retreive all session information.
-+
-+ * @param[in] inPayload - Request Data for the command
-+ * @param[in] handler - Reference to the Message Handler
-+ *
-+ * @return Response data for the command
-+ */
-+std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
-+ const message::Handler& handler);
-+
- } // namespace command
-diff --git a/message_handler.cpp b/message_handler.cpp
-index e2aafb3..b335236 100644
---- a/message_handler.cpp
-+++ b/message_handler.cpp
-@@ -43,6 +43,7 @@ bool Handler::receive()
- sessionID = inMessage->bmcSessionID;
- inMessage->rcSessionID = session->getRCSessionID();
- session->updateLastTransactionTime();
-+ session->channelPtr = channel;
-
- return true;
- }
-diff --git a/sessions_manager.cpp b/sessions_manager.cpp
-index 95a8a15..9f3210b 100644
---- a/sessions_manager.cpp
-+++ b/sessions_manager.cpp
-@@ -88,6 +88,9 @@ std::shared_ptr<Session>
- }
- sessionID = session->getBMCSessionID();
- sessionsMap.emplace(sessionID, session);
-+ storeSessionHandle(sessionID);
-+
-+
- return session;
- }
-
-@@ -149,12 +152,15 @@ std::shared_ptr<Session> Manager::getSession(SessionID sessionID,
-
- void Manager::cleanStaleEntries()
- {
-+ uint8_t sessionIndex = 0;
- for (auto iter = sessionsMap.begin(); iter != sessionsMap.end();)
- {
- auto session = iter->second;
- if ((session->getBMCSessionID() != SESSION_ZERO) &&
- !(session->isSessionActive()))
- {
-+ sessionIndex = getSessionHandle(session->getBMCSessionID());
-+ sessionHandleMap[sessionIndex] = 0;
- iter = sessionsMap.erase(iter);
- }
- else
-@@ -164,4 +170,53 @@ void Manager::cleanStaleEntries()
- }
- }
-
-+uint8_t Manager::storeSessionHandle(SessionID bmcSessionID)
-+{
-+ // Zero handler is reserved for invalid session.
-+ //index starts with 1, for direct usage. Index 0 reserved
-+ for (uint8_t i = 1; i <= MAX_SESSION_COUNT; i++)
-+ {
-+ if (sessionHandleMap[i] == 0)
-+ {
-+ sessionHandleMap[i] = bmcSessionID;
-+ break;
-+ }
-+ }
-+ return 0;
-+}
-+
-+uint32_t Manager::getSessionIDbyHandle(uint8_t sessionHandle) const
-+{
-+ if (sessionHandle <= MAX_SESSION_COUNT)
-+ {
-+ return sessionHandleMap[sessionHandle];
-+ }
-+ return 0;
-+}
-+
-+uint8_t Manager::getSessionHandle(SessionID bmcSessionID) const
-+{
-+
-+ for (uint8_t i = 1; i <= MAX_SESSION_COUNT; i++)
-+ {
-+ if (sessionHandleMap[i] == bmcSessionID)
-+ {
-+ return i;
-+ }
-+ }
-+ return 0;
-+}
-+uint8_t Manager::getNoOfActiveSession() const
-+{
-+ uint8_t count = 0;
-+ for (const auto& it : sessionsMap)
-+ {
-+ const auto& session = it.second;
-+ if (session->state == State::ACTIVE)
-+ {
-+ count++;
-+ }
-+ }
-+ return count;
-+}
- } // namespace session
-diff --git a/sessions_manager.hpp b/sessions_manager.hpp
-index 9fd38b1..f6ed1c3 100644
---- a/sessions_manager.hpp
-+++ b/sessions_manager.hpp
-@@ -82,8 +82,15 @@ class Manager
- std::shared_ptr<Session>
- getSession(SessionID sessionID,
- RetrieveOption option = RetrieveOption::BMC_SESSION_ID);
-+ uint8_t getNoOfActiveSession() const;
-+ uint8_t getSessionHandle(SessionID bmcSessionID) const;
-+ uint8_t storeSessionHandle(SessionID bmcSessionID);
-+ uint32_t getSessionIDbyHandle(uint8_t sessionHandle) const;
-
- private:
-+ //+1 for session, as 0 is reserved for sessionless command
-+ std::array<uint32_t, MAX_SESSION_COUNT + 1> sessionHandleMap;
-+
- /**
- * @brief Session Manager keeps the session objects as a sorted
- * associative container with Session ID as the unique key
-diff --git a/socket_channel.hpp b/socket_channel.hpp
-index ebe0c8f..349701e 100644
---- a/socket_channel.hpp
-+++ b/socket_channel.hpp
-@@ -64,6 +64,23 @@ class Channel
- return endpoint.port();
- }
-
-+ /**
-+ * @brief Return the binary representation of the remote IPv4 address
-+ *
-+ * getSessionInfo needs to return the remote IPv4 addresses of each session
-+ *
-+ * @return A uint32_t representation of the remote IPv4 address
-+ */
-+ std::uint32_t getRemoteAddressInbytes()
-+ {
-+ const boost::asio::ip::address& addr = endpoint.address();
-+ if (addr.is_v4())
-+ {
-+ return addr.to_v4().to_uint();
-+ }
-+ return 0;
-+ }
-+
- /**
- * @brief Read the incoming packet
- *
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0008-Sync-GetSession-Info-cmd-based-on-Upstream-review.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0008-Sync-GetSession-Info-cmd-based-on-Upstream-review.patch
deleted file mode 100644
index c6b87bf4f..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0008-Sync-GetSession-Info-cmd-based-on-Upstream-review.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From a413e390563205476656a9005ca447f5b626872f Mon Sep 17 00:00:00 2001
-From: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
-Date: Wed, 6 Mar 2019 10:35:56 +0530
-Subject: [PATCH 2/2] Sync GetSession Info cmd based on Upstream review
-
-Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
----
- comm_module.cpp | 12 +++----
- command/session_cmds.cpp | 71 ++++++++++++++++++----------------------
- sessions_manager.cpp | 10 +++---
- sessions_manager.hpp | 2 +-
- socket_channel.hpp | 33 ++++++++++---------
- 5 files changed, 59 insertions(+), 69 deletions(-)
-
-diff --git a/comm_module.cpp b/comm_module.cpp
-index 7a1a17d..2546583 100644
---- a/comm_module.cpp
-+++ b/comm_module.cpp
-@@ -54,13 +54,11 @@ void sessionSetupCommands()
- session::Privilege::CALLBACK,
- false},
- // Session Info Command
-- {
-- {
-- (static_cast<uint32_t>(message::PayloadType::IPMI) << 16) |
-- static_cast<uint16_t>(command::NetFns::APP) | 0x3D
-- },
-- &getSessionInfo, session::Privilege::USER, false
-- },
-+ {{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) |
-+ static_cast<uint16_t>(command::NetFns::APP) | 0x3D},
-+ &getSessionInfo,
-+ session::Privilege::USER,
-+ false},
- };
-
- for (auto& iter : commands)
-diff --git a/command/session_cmds.cpp b/command/session_cmds.cpp
-index 4beeb6e..0c3a4ed 100644
---- a/command/session_cmds.cpp
-+++ b/command/session_cmds.cpp
-@@ -8,7 +8,7 @@
- namespace command
- {
-
--// Defined as per IPMI sepcification
-+// Defined as per IPMI specification
- static constexpr uint8_t searchCurrentSession = 0x00;
- static constexpr uint8_t searchSessionByHandle = 0xFE;
- static constexpr uint8_t searchSessionByID = 0xFF;
-@@ -111,20 +111,6 @@ std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
- reinterpret_cast<GetSessionInfoResponse*>(outPayload.data());
- uint32_t reqSessionID = handler.sessionID;
- response->completionCode = IPMI_CC_OK;
-- if (inPayload.size() == 1 && request->sessionIndex != 0)
-- {
-- if (request->sessionIndex <= session::MAX_SESSION_COUNT)
-- {
-- reqSessionID = std::get<session::Manager&>(singletonPool)
-- .getSessionIDbyHandle(request->sessionIndex);
-- }
-- else
-- {
-- response->completionCode = IPMI_CC_INVALID_FIELD_REQUEST;
-- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-- }
-- }
-
- // Here we look for session info according to session index parameter
- switch (request->sessionIndex)
-@@ -132,29 +118,22 @@ std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
- // Look for current active session which this cmd is received over
- case searchCurrentSession:
- // Request data should only contain session index byte
-- if (inPayload.size() != 1)
-+ if (inPayload.size() != sizeof(request->sessionIndex))
- {
- response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-- }
-- // To look for current active session which the command came over,
-- // the session ID cannot be 0.
-- if (0 == reqSessionID)
-- {
-- response->completionCode = IPMI_CC_INVALID_FIELD_REQUEST;
-- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
- break;
- case searchSessionByHandle:
- // Request data should only contain session index byte and Session
- // handle
-- if (inPayload.size() != 2)
-+ if (inPayload.size() != (sizeof(request->sessionIndex) +
-+ sizeof(request->sessionHandle)))
- {
- response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
-
- // Retrieve session id based on session handle
-@@ -168,7 +147,7 @@ std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
- {
- response->completionCode = IPMI_CC_INVALID_FIELD_REQUEST;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
- break;
- case searchSessionByID:
-@@ -178,23 +157,38 @@ std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
- {
- response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
- reqSessionID = endian::from_ipmi(request->sessionID);
-
- break;
- default:
-- if (inPayload.size() != 1)
-+ if (inPayload.size() == sizeof(request->sessionIndex))
-+ {
-+ if (request->sessionIndex <= session::MAX_SESSION_COUNT)
-+ {
-+ reqSessionID =
-+ std::get<session::Manager&>(singletonPool)
-+ .getSessionIDbyHandle(request->sessionIndex);
-+ }
-+ else
-+ {
-+ response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
-+ outPayload.resize(sizeof(response->completionCode));
-+ return outPayload;
-+ }
-+ }
-+ else
- {
- response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
- }
-
- response->totalSessionCount = session::MAX_SESSION_COUNT;
- response->activeSessioncount =
-- std::get<session::Manager&>(singletonPool).getNoOfActiveSession();
-+ std::get<session::Manager&>(singletonPool).getActiveSessionCount();
- response->sessionHandle = 0;
- if (reqSessionID != 0)
- {
-@@ -207,9 +201,9 @@ std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
- }
- catch (std::exception& e)
- {
-- response->completionCode = IPMI_CC_UNSPECIFIED_ERROR;
-+ response->completionCode = IPMI_CC_REQ_DATA_LEN_INVALID;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
- response->sessionHandle = std::get<session::Manager&>(singletonPool)
- .getSessionHandle(reqSessionID);
-@@ -218,25 +212,24 @@ std::vector<uint8_t> getSessionInfo(const std::vector<uint8_t>& inPayload,
- {
- response->completionCode = IPMI_CC_UNSPECIFIED_ERROR;
- outPayload.resize(sizeof(response->completionCode));
-- return std::move(outPayload);
-+ return outPayload;
- }
- response->userID = userId; // userId;
- response->privLevel = static_cast<uint8_t>(sessionInfo->curPrivLevel);
- response->chanNum = sessionInfo->chNum; // byte7 3:0
- response->ipmiVer = ipmi20VerSession; // byte7 7:4
-- response->remoteIpAddr =
-- sessionInfo->channelPtr->getRemoteAddressInbytes();
- response->remotePort =
- sessionInfo->channelPtr->getPort(); // remoteSessionPort;
-+ response->remoteIpAddr =
-+ sessionInfo->channelPtr->getRemoteAddressInBytes();
-
-- std::cerr << "\nSessionInfo:" << (int)reqSessionID;
- // TODO: Filling the Remote MACAddress
- }
- else
- {
- outPayload.resize(4);
- }
-- return std::move(outPayload);
-+ return outPayload;
- }
-
- } // namespace command
-diff --git a/sessions_manager.cpp b/sessions_manager.cpp
-index 9f3210b..c6897c6 100644
---- a/sessions_manager.cpp
-+++ b/sessions_manager.cpp
-@@ -152,15 +152,13 @@ std::shared_ptr<Session> Manager::getSession(SessionID sessionID,
-
- void Manager::cleanStaleEntries()
- {
-- uint8_t sessionIndex = 0;
- for (auto iter = sessionsMap.begin(); iter != sessionsMap.end();)
- {
- auto session = iter->second;
- if ((session->getBMCSessionID() != SESSION_ZERO) &&
- !(session->isSessionActive()))
- {
-- sessionIndex = getSessionHandle(session->getBMCSessionID());
-- sessionHandleMap[sessionIndex] = 0;
-+ sessionHandleMap[getSessionHandle(session->getBMCSessionID())] = 0;
- iter = sessionsMap.erase(iter);
- }
- else
-@@ -172,8 +170,8 @@ void Manager::cleanStaleEntries()
-
- uint8_t Manager::storeSessionHandle(SessionID bmcSessionID)
- {
-- // Zero handler is reserved for invalid session.
-- //index starts with 1, for direct usage. Index 0 reserved
-+ // Handler index 0 is reserved for invalid session.
-+ // index starts with 1, for direct usage. Index 0 reserved
- for (uint8_t i = 1; i <= MAX_SESSION_COUNT; i++)
- {
- if (sessionHandleMap[i] == 0)
-@@ -206,7 +204,7 @@ uint8_t Manager::getSessionHandle(SessionID bmcSessionID) const
- }
- return 0;
- }
--uint8_t Manager::getNoOfActiveSession() const
-+uint8_t Manager::getActiveSessionCount() const
- {
- uint8_t count = 0;
- for (const auto& it : sessionsMap)
-diff --git a/sessions_manager.hpp b/sessions_manager.hpp
-index f6ed1c3..3ff213e 100644
---- a/sessions_manager.hpp
-+++ b/sessions_manager.hpp
-@@ -82,7 +82,7 @@ class Manager
- std::shared_ptr<Session>
- getSession(SessionID sessionID,
- RetrieveOption option = RetrieveOption::BMC_SESSION_ID);
-- uint8_t getNoOfActiveSession() const;
-+ uint8_t getActiveSessionCount() const;
- uint8_t getSessionHandle(SessionID bmcSessionID) const;
- uint8_t storeSessionHandle(SessionID bmcSessionID);
- uint32_t getSessionIDbyHandle(uint8_t sessionHandle) const;
-diff --git a/socket_channel.hpp b/socket_channel.hpp
-index 349701e..8b64740 100644
---- a/socket_channel.hpp
-+++ b/socket_channel.hpp
-@@ -107,14 +107,15 @@ class Channel
- *
- * @return A uint32_t representation of the remote IPv4 address
- */
-- std::uint32_t getRemoteAddressInbytes()
-+ uint32_t getRemoteAddressInBytes() const
- {
-- const boost::asio::ip::address& addr = endpoint.address();
-- if (addr.is_v4())
-+ uint32_t v4addr = 0;
-+ if (sockAddrSize == sizeof(sockaddr_in))
- {
-- return addr.to_v4().to_uint();
-+ auto saddr = reinterpret_cast<const sockaddr_in*>(&remoteSockAddr);
-+ v4addr = ntohl(saddr->sin_addr.s_addr);
- }
-- return 0;
-+ return v4addr;
- }
-
- /**
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0009-Add-dbus-interface-for-sol-commands.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0009-Add-dbus-interface-for-sol-commands.patch
index c90cccf34..dc7f7357c 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0009-Add-dbus-interface-for-sol-commands.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net/0009-Add-dbus-interface-for-sol-commands.patch
@@ -1,6 +1,6 @@
-From 6b9aaf0304aed06e4b5ac53e7c163089568d4171 Mon Sep 17 00:00:00 2001
+From 97c21a556702a0d65096b30c07ef23f15cb6a7d9 Mon Sep 17 00:00:00 2001
From: Cheng C Yang <cheng.c.yang@intel.com>
-Date: Sat, 23 Mar 2019 04:03:07 +0800
+Date: Wed, 3 Jul 2019 07:39:47 +0800
Subject: [PATCH] Add dbus interface for sol commands
Add dbus interface for sol config parameters so that after move set/get
@@ -25,22 +25,24 @@ to 0 and other properties will not reset to default value.
Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
---
- command/payload_cmds.cpp | 1 +
- command/sol_cmds.cpp | 84 ---------------------------------
- sol/sol_manager.cpp | 119 +++++++++++++++++++++++++++++++++++++++++++++++
+ command/payload_cmds.cpp | 3 ++
+ command/sol_cmds.cpp | 84 -------------------------------
+ sol/sol_manager.cpp | 125 +++++++++++++++++++++++++++++++++++++++++++++++
sol/sol_manager.hpp | 1 +
sol_module.cpp | 6 ---
- 5 files changed, 121 insertions(+), 90 deletions(-)
+ 5 files changed, 129 insertions(+), 90 deletions(-)
diff --git a/command/payload_cmds.cpp b/command/payload_cmds.cpp
-index 3b5b4f8..570cdff 100644
+index c32a510..17167a7 100644
--- a/command/payload_cmds.cpp
+++ b/command/payload_cmds.cpp
-@@ -34,6 +34,7 @@ std::vector<uint8_t> activatePayload(const std::vector<uint8_t>& inPayload,
+@@ -34,6 +34,9 @@ std::vector<uint8_t> activatePayload(const std::vector<uint8_t>& inPayload,
return outPayload;
}
-+ std::get<sol::Manager&>(singletonPool).updateSOLParameter();
++ std::get<sol::Manager&>(singletonPool)
++ .updateSOLParameter(ipmi::convertCurrentChannelNum(
++ ipmi::currentChNum, getInterfaceIndex()));
if (!std::get<sol::Manager&>(singletonPool).enable)
{
response->completionCode = IPMI_CC_PAYLOAD_TYPE_DISABLED;
@@ -140,7 +142,7 @@ index a8fa410..804b5ea 100644
const message::Handler& handler)
{
diff --git a/sol/sol_manager.cpp b/sol/sol_manager.cpp
-index 2046fe4..de36723 100644
+index 2046fe4..eedd28a 100644
--- a/sol/sol_manager.cpp
+++ b/sol/sol_manager.cpp
@@ -12,7 +12,13 @@
@@ -152,12 +154,12 @@ index 2046fe4..de36723 100644
+#include <sdbusplus/message/types.hpp>
+
+constexpr const char* solInterface = "xyz.openbmc_project.Ipmi.SOL";
-+constexpr const char* solPath = "/xyz/openbmc_project/ipmi/sol";
++constexpr const char* solPath = "/xyz/openbmc_project/ipmi/sol/";
+constexpr const char* PROP_INTF = "org.freedesktop.DBus.Properties";
namespace sol
{
-@@ -93,6 +99,119 @@ void Manager::stopHostConsole()
+@@ -93,6 +99,125 @@ void Manager::stopHostConsole()
}
}
@@ -221,17 +223,19 @@ index 2046fe4..de36723 100644
+ return properties;
+}
+
-+void Manager::updateSOLParameter()
++void Manager::updateSOLParameter(uint8_t channelNum)
+{
+ std::variant<uint8_t, bool> value;
+ sdbusplus::bus::bus dbus(ipmid_get_sd_bus_connection());
+ static std::string solService{};
+ ipmi::PropertyMap properties;
++ std::string ethdevice = ipmi::getChannelName(channelNum);
++ std::string solPathWitheEthName = solPath + ethdevice;
+ if (solService.empty())
+ {
+ try
+ {
-+ solService = getService(dbus, solInterface, solPath);
++ solService = getService(dbus, solInterface, solPathWitheEthName);
+ }
+ catch (const std::runtime_error& e)
+ {
@@ -243,8 +247,8 @@ index 2046fe4..de36723 100644
+ }
+ try
+ {
-+ properties =
-+ getAllDbusProperties(dbus, solService, solPath, solInterface);
++ properties = getAllDbusProperties(dbus, solService, solPathWitheEthName,
++ solInterface);
+ }
+ catch (const std::runtime_error&)
+ {
@@ -257,8 +261,12 @@ index 2046fe4..de36723 100644
+
+ enable = std::get<bool>(properties["Enable"]);
+
++ forceEncrypt = std::get<bool>(properties["ForceEncryption"]);
++
++ forceAuth = std::get<bool>(properties["ForceAuthentication"]);
++
+ solMinPrivilege = static_cast<session::Privilege>(
-+ std::get<uint8_t>(properties["Authentication"]));
++ std::get<uint8_t>(properties["Privilege"]));
+
+ accumulateInterval =
+ std::get<uint8_t>((properties["AccumulateIntervalMS"])) *
@@ -278,14 +286,14 @@ index 2046fe4..de36723 100644
session::SessionID sessionID)
{
diff --git a/sol/sol_manager.hpp b/sol/sol_manager.hpp
-index 5d96890..b7eb89e 100644
+index 5d96890..00da9fb 100644
--- a/sol/sol_manager.hpp
+++ b/sol/sol_manager.hpp
@@ -248,6 +248,7 @@ class Manager
* @return 0 on success and errno on failure.
*/
int writeConsoleSocket(const std::vector<uint8_t>& input) const;
-+ void updateSOLParameter(void);
++ void updateSOLParameter(uint8_t channelNum);
private:
SOLPayloadMap payloadMap;
@@ -307,5 +315,5 @@ index 8200e74..2b1fb46 100644
{{(static_cast<uint32_t>(message::PayloadType::IPMI) << 16) |
static_cast<uint16_t>(::command::NetFns::TRANSPORT) | 0x22},
--
-2.16.2
+2.7.4
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
index 214bea189..05f10d980 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
@@ -2,8 +2,8 @@ inherit useradd
# TODO: This should be removed, once up-stream bump up
# issue is resolved
-#SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
-#SRCREV = "b31e969504645f653b58b676d56b01d632dc395c"
+SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
+SRCREV = "0a269046d0d9fcd690ccbb129ae58a3c1450b04e"
USERADD_PACKAGES = "${PN}"
# add a group called ipmi
@@ -20,10 +20,7 @@ SYSTEMD_SERVICE_${PN} += " \
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += " file://0006-Modify-dbus-namespace-of-chassis-control-for-guid.patch \
- file://0007-Adding-support-for-GetSessionInfo-command.patch \
- file://0008-Sync-GetSession-Info-cmd-based-on-Upstream-review.patch \
file://0009-Add-dbus-interface-for-sol-commands.patch \
- file://00010-Change-Authentication-Parameter.patch \
file://0011-Remove-Get-SOL-Config-Command-from-Netipmid.patch \
"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
index af83facf6..b27961109 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The Node Manager Proxy provides a simple interface for communicat
with Management Engine via IPMB"
SRC_URI = "git://git@github.com/Intel-BMC/node-manager;protocol=ssh"
-SRCREV = "2ab90332828614c95e0ce22c0c95285734b55b65"
+SRCREV = "06e8a1072b05d42e63cf70e2ceac7390578c051d"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/multi-node-manager/multi-node-manager.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/multi-node-manager/multi-node-manager.bb
index 65f578338..177f5c98f 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/multi-node-manager/multi-node-manager.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/multi-node-manager/multi-node-manager.bb
@@ -2,7 +2,7 @@ SUMMARY = "Multi node manager"
DESCRIPTION = "Daemon to handle chassis level shared resources on multi-node platform"
SRC_URI = "git://git@github.com/Intel-BMC/multi-node-manager.git;protocol=ssh"
-SRCREV = "6a4cd36c0d46df11bdcd3b897bcc9c87e549a076"
+SRCREV = "34d959285a3ca12c4bfefa4040d82d571c78843b"
PV = "0.1+git${SRCPV}"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/phosphor-u-boot-mgr/phosphor-u-boot-mgr_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/phosphor-u-boot-mgr/phosphor-u-boot-mgr_git.bb
new file mode 100644
index 000000000..c35289a57
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/phosphor-u-boot-mgr/phosphor-u-boot-mgr_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Phosphor U-Boot environment manager"
+DESCRIPTION = "Daemon to read or write U-Boot environment variables"
+
+PV = "1.0+git${SRCPV}"
+
+S = "${WORKDIR}/git/phosphor-u-boot-env-mgr"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
+
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
+
+inherit cmake systemd
+SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.U_Boot.Environment.Manager.service"
+
+DEPENDS = "boost sdbusplus phosphor-logging"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/preinit-mounts/preinit-mounts/init b/meta-openbmc-mods/meta-common/recipes-phosphor/preinit-mounts/preinit-mounts/init
index c7f78b1e3..e97c40c1c 100755
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/preinit-mounts/preinit-mounts/init
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/preinit-mounts/preinit-mounts/init
@@ -18,11 +18,24 @@
# provide a couple of places in the RO root filesystem
# that can be made RW with an overlayfs
+log() {
+ [ -c /dev/kmsg ] && echo "init: $@" > /dev/kmsg
+ echo "init: $@"
+}
+
# start with /proc and /tmp mounted
[ -e /proc/mounts ] || mount -t proc proc /proc
grep -q /tmp /proc/mounts || mount -t tmpfs -o rw,nosuid,nodev tmp /tmp
grep -q /sys /proc/mounts || mount -t sysfs -o rw,nosuid,nodev,noexec sys /sys
+if grep -q debug-init /proc/cmdline; then
+ exec > /tmp/init.log 2>&1
+ set -x
+else
+ # silent bob
+ exec >/dev/null 2>&1
+fi
+
# list of things that need to be rw at boot
NV_OVERLAYS="/etc /var /home"
@@ -61,86 +74,100 @@ nvrw() {
mount -t overlay -o "$opts" "$mname" "$p"
}
-targetted_clean() {
- local LOG_TAG="restore-defaults"
- # Do not delete server certificates for the web server or ssh
- echo "removing targetted contents:"
- cd "${RWFS_MNT}/etc"
- for file in *; do
- case $file in
- # The only files that stay are here:
- CA|RestoreDefaultConfiguration|dropbear|sdr|server.pem);;
- # All else get removed.
- *) echo "remove $file"
- rm -rf $file;;
- esac
- done
+targeted_clean() {
+ log "restore-defaults: targeted_clean"
+ # Do not delete FRU info, ssh/ssl certs, or machine-id
+ (
+ cd "${RWFS_MNT}/etc"
+ find . ! -regex '.*\(/ssl\|/dropbear\|/machine-id\(_bkup\)\?\|/fru\).*' -exec rm -rf {} +
+ )
# nothing should be in the workdir, but clear it just in case
rm -rf "${RWFS_MNT}/etc.work"
- # Log files remaining - but not to stdout.
- echo "Files remaining: $(ls)"
+ # clean everything out of /home
+ rm -rf "${RWFS_MNT}/home" "${RWFS_MNT}/home.work"
# clean everything out of /var
rm -rf "${RWFS_MNT}/var" "${RWFS_MNT}/var.work"
+
+ echo "Files remaining: $(find $RWFS_MNT/)"
+ sync
}
full_clean() {
+ log "restore-defaults: full_clean"
local OVL=''
for OVL in $NV_OVERLAYS; do
rm -rf "${RWFS_MNT}${OVL}" "${RWFS_MNT}${OVL}.work"
done
+ sync
}
-
-# check for full factory reset: if so, ubiformat $NV_MTD_DEV
-bootflags="0x$(sed -n 's/^.*bootflags=\([0-9a-f]*\).*$/\1/p' /proc/cmdline)"
-bootflags=$((bootflags + 0))
-let "restore_op = $bootflags & 0x3"
-if [ $restore_op -eq 3 ]; then
- ubiformat -y "$NV_MTD_DEV"
-fi
-
# attach a UBI device to the MTD device
-NV_UBI_DEV="/dev/ubi${NV_MTD_NUM}"
-if [ ! -e $NV_UBI_DEV ]; then
- if ! ubiattach -m "$NV_MTD_NUM" -d "$NV_MTD_NUM"; then
- # the attach failed, so format the MTD device and try again
- echo "Warning! Failed to attach $NV_UBI_DEV to $NV_MTD_DEV."
- echo "UBI-formatting $NV_MTD_DEV to attach again. Data on this device will be lost."
- ubiformat -y "$NV_MTD_DEV"
- ubiattach -m "$NV_MTD_NUM" -d "$NV_MTD_NUM"
+prepare_ubi_volume() {
+ local nv_num="$1"
+ local mtd="/dev/mtd${nv_num}"
+ local ubi="/dev/ubi${nv_num}"
+ if [ ! -e $ubi ]; then
+ if ! ubiattach -m "$nv_num" -d "$nv_num"; then
+ # the attach failed, so format the MTD device and try again
+ log "Warning! Failed to attach $ubi to $mtd."
+ log "UBI-formatting $mtd to attach again. Data on this device will be lost."
+ ubiformat -y "$mtd"
+ ubiattach -m "$nv_num" -d "$nv_num"
+ fi
fi
-fi
-# make a UBI volume on the UBI device
-NV_UBI_VOL="${NV_UBI_DEV}_0"
-if [ ! -e $NV_UBI_VOL ]; then
- ubimkvol "$NV_UBI_DEV" -N "$NV_MTD" -m
-fi
+ # make a UBI volume on the UBI device
+ local vol="${ubi}_0"
+ if [ ! -e $vol ]; then
+ ubimkvol "$ubi" -N "$mtd" -m
+ fi
+}
+
+reformat_ubi_volume() {
+ local nv_num="$1"
+ local mnt="$2"
+ local ubi="/dev/ubi${nv_num}"
+ local vol="${ubi}_0"
+ # unmount the volume to reformat it
+ umount -f "$mnt"
+ ubidetach -m $nv_num
+ ubiformat -y "$ubi"
+ prepare_ubi_volume $nv_num
+ # remount the UBIFS on the UBI volume
+ mount -t ubifs "$vol" "$mnt"
+ if [ $? -ne 0 ]; then
+ log "Failed to mount reformatted NV volume; system unstable"
+ fi
+}
# mount a UBIFS on the UBI volume
-mount -t ubifs "$NV_UBI_VOL" "$RWFS_MNT"
+prepare_ubi_volume $NV_MTD_NUM
+mount -t ubifs "/dev/ubi${NV_MTD_NUM}_0" "$RWFS_MNT"
+if [ $? -ne 0 ]; then
+ log "Failed to mount NV volume; attempting recovery"
+ reformat_ubi_volume $NV_MTD_NUM $RWFS_MNT
+fi
+# check for full factory reset: if so, ubiformat $NV_MTD_DEV
+RESTORE_FLAG=$RWFS_MNT/.restore_op
+restore_op=$(cat $RESTORE_FLAG) # read from NV
+restore_op=${restore_op:-0} # set default value 0
+restore_op=$((restore_op & 3)) # mask off 2 bits
if [ $restore_op -eq 1 ]; then
- targetted_clean
+ targeted_clean
elif [ $restore_op -eq 2 ]; then
full_clean
+elif [ $restore_op -eq 3 ]; then
+ log "restore-defaults: reformat"
+ reformat_ubi_volume $NV_MTD_NUM $RWFS_MNT
fi
+rm -f $RESTORE_FLAG
for FS in $NV_OVERLAYS; do
nvrw "$FS"
done
-# make sure that /etc/fw_env.config mirrors our current uboot environment
-UENV_MTD_INFO=$(grep UENV /proc/mtd)
-if [ -n "$UENV_MTD_INFO" ]; then
- UENV_MTD_INFO=$(echo "$UENV_MTD_INFO" | sed 's,^\([^:]*\): \([0-9a-f]*\) \([0-9a-f]*\) .*,/dev/\1 0 0x\2 0x\3,')
- if ! grep -q "^${UENV_MTD_INFO}$" /etc/fw_env.config; then
- echo "${UENV_MTD_INFO}" > /etc/fw_env.config
- echo "Updated fw_env.config"
- fi
-fi
-
# work around bug where /etc/machine-id will be mounted with a temporary file
# if rootfs is read-only and the file is empty
MACHINE_ID=/etc/machine-id
@@ -163,41 +190,28 @@ if [ ! -s "$MACHINE_ID" ]; then
else
generate_machine_id
fi
- echo "Remounted /etc for machine-id origin mismatch"
+ log "Remounted /etc for machine-id origin mismatch"
else
generate_machine_id
fi
fi
# mount persistent NV filesystem, where immortal settings live
+SOFS_MNT=/var/sofs
if ! grep -q sofs /proc/mounts; then
- mkdir -p /var/sofs
+ mkdir -p $SOFS_MNT
SOFS_MTD=sofs
- SOFS_MTD_DEV="$(mtd_by_name ${SOFS_MTD})"
SOFS_MTD_NUM="$(mtdnum_by_name ${SOFS_MTD})"
- SOFS_UBI_DEV="/dev/ubi${SOFS_MTD_NUM}"
-
- # attach a UBI device to the MTD device
- if [ ! -e $SOFS_UBI_DEV ]; then
- if ! ubiattach -m "$SOFS_MTD_NUM" -d "$SOFS_MTD_NUM"; then
- # the attach failed, so format the MTD device and try again
- echo "Warning! Failed to attach $SOFS_UBI_DEV to $SOFS_MTD_DEV."
- echo "UBI-formatting $SOFS_MTD_DEV to attach again. Data on this device will be lost."
- ubiformat -y "$SOFS_MTD_DEV"
- ubiattach -m "$SOFS_MTD_NUM" -d "$SOFS_MTD_NUM"
- fi
- fi
-
- # make a UBI volume on the UBI device
- SOFS_UBI_VOL="${SOFS_UBI_DEV}_0"
- if [ ! -e $SOFS_UBI_VOL ]; then
- ubimkvol "$SOFS_UBI_DEV" -N "$SOFS_MTD" -m
- fi
# mount a UBIFS on the UBI volume
- mount -t ubifs "$SOFS_UBI_VOL" /var/sofs
+ prepare_ubi_volume $SOFS_MTD_NUM
+ mount -t ubifs "/dev/ubi${SOFS_MTD_NUM}_0" "$SOFS_MNT"
+ if [ $? -ne 0 ]; then
+ log "Failed to mount SOFS volume; attempting recovery"
+ reformat_ubi_volume $SOFS_MTD_NUM $SOFS_MNT
+ fi
fi
-echo "Finished mounting non-volatile overlays"
+log "Finished mounting non-volatile overlays"
exec /lib/systemd/systemd
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb
new file mode 100644
index 000000000..a37d3ec9c
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/prov-mode-mgr/prov-mode-mgr_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Provision mode daemon - RestrictionMode"
+DESCRIPTION = "Daemon allows to configure RestrictionMode property"
+
+PV = "1.0+git${SRCPV}"
+
+S = "${WORKDIR}/git/prov-mode-mgr"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
+
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
+
+inherit cmake systemd
+SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.RestrictionMode.Manager.service"
+
+DEPENDS = "boost sdbusplus phosphor-logging"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
index 2cdc93e29..fcdef4e02 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
@@ -1,6 +1,6 @@
# Enable downstream autobump
SRC_URI = "git://github.com/openbmc/phosphor-sel-logger.git"
-SRCREV = "c4a336fb15464b9f4a7328c02cb43285a6eb1e58"
+SRCREV = "3d300fca24b30864b3e9a4f5768cfe5e769458ae"
# Enable threshold monitoring
EXTRA_OECMAKE += "-DSEL_LOGGER_MONITOR_THRESHOLD_EVENTS=ON"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
index ca3c2eba0..3e3282f6f 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/sensors/dbus-sensors_%.bbappend
@@ -1,7 +1,7 @@
-SRCREV = "52497fd0fbd8adfe099a99f23515cd0341898e2e"
+SRCREV = "1cbd1c6da17a85ec7213744cf2d1e56fcba3e34e"
SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
DEPENDS_append = " libgpiod"
#todo(cheng) remove this when synced upstream
-SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.psusensor.service"
+SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.mcutempsensor.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native.bbappend
deleted file mode 100644
index 436623234..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://defaults.yaml \
- "
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native/defaults.yaml b/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native/defaults.yaml
deleted file mode 100644
index 05d3df07e..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-defaults-native/defaults.yaml
+++ /dev/null
@@ -1,209 +0,0 @@
-/xyz/openbmc_project/control/minimum_ship_level_required:
- - Interface: xyz.openbmc_project.Control.MinimumShipLevel
- Properties:
- MinimumShipLevelRequired:
- Default: 'true'
-
-/xyz/openbmc_project/control/host0/auto_reboot:
- - Interface: xyz.openbmc_project.Control.Boot.RebootPolicy
- Properties:
- AutoReboot:
- Default: 'false'
-
-/xyz/openbmc_project/control/host0/boot:
- - Interface: xyz.openbmc_project.Control.Boot.Source
- Properties:
- BootSource:
- Default: Source::Sources::Default
- - Interface: xyz.openbmc_project.Control.Boot.Mode
- Properties:
- BootMode:
- Default: Mode::Modes::Regular
-
-/xyz/openbmc_project/control/host0/boot/one_time:
- - Interface: xyz.openbmc_project.Control.Boot.Source
- Properties:
- BootSource:
- Default: Source::Sources::Default
- - Interface: xyz.openbmc_project.Control.Boot.Mode
- Properties:
- BootMode:
- Default: Mode::Modes::Regular
- - Interface: xyz.openbmc_project.Object.Enable
- Properties:
- Enabled:
- Default: 'true'
-
-/xyz/openbmc_project/control/host0/power_cap:
- - Interface: xyz.openbmc_project.Control.Power.Cap
- Properties:
- PowerCap:
- Default: 0
- Validation:
- Type: "range"
- Validator: "0..1000"
- Unit: "Watts"
- PowerCapEnable:
- Default: 'false'
-
-/xyz/openbmc_project/control/host0/power_restore_policy:
- - Interface: xyz.openbmc_project.Control.Power.RestorePolicy
- Properties:
- PowerRestorePolicy:
- Default: RestorePolicy::Policy::AlwaysOff
-
-/xyz/openbmc_project/control/power_restore_delay:
- - Interface: xyz.openbmc_project.Control.Power.RestoreDelay
- Properties:
- PowerRestoreDelay:
- Default: 0
-
-/xyz/openbmc_project/control/host0/acpi_power_state:
- - Interface: xyz.openbmc_project.Control.Power.ACPIPowerState
- Properties:
- SysACPIStatus:
- Default: ACPIPowerState::ACPI::Unknown
- DevACPIStatus:
- Default: ACPIPowerState::ACPI::Unknown
-
-/xyz/openbmc_project/time/owner:
- - Interface: xyz.openbmc_project.Time.Owner
- Properties:
- TimeOwner:
- Default: Owner::Owners::BMC
-
-/xyz/openbmc_project/time/sync_method:
- - Interface: xyz.openbmc_project.Time.Synchronization
- Properties:
- TimeSyncMethod:
- Default: Synchronization::Method::NTP
-
-/xyz/openbmc_project/network/host0/intf:
- - Interface: xyz.openbmc_project.Network.MACAddress
- Properties:
- MACAddress:
- Default: '"00:00:00:00:00:00"'
- Validation:
- Type: "regex"
- Validator: '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$'
-
-#needs to implement address validation TODO openbmc/issues/2046
-/xyz/openbmc_project/network/host0/intf/addr:
- - Interface: xyz.openbmc_project.Network.IP
- Properties:
- Address:
- Default: '"0.0.0.0"'
- PrefixLength:
- Default: 0
- Validation:
- Type: "range"
- Validator: 0..128
- Unit: "bits"
- Origin:
- Default: IP::AddressOrigin::Static
- Gateway:
- Default: '"0.0.0.0"'
- Type:
- Default: IP::Protocol::IPv4
-
-/xyz/openbmc_project/control/host0/restriction_mode:
- - Interface: xyz.openbmc_project.Control.Security.RestrictionMode
- Properties:
- RestrictionMode:
- Default: RestrictionMode::Modes::Provisioning
-
-/xyz/openbmc_project/control/host0/TPMEnable:
- - Interface: xyz.openbmc_project.Control.TPM.Policy
- Properties:
- TPMEnable:
- Default: 'false'
-
-/xyz/openbmc_project/control/power_supply_redundancy:
- - Interface: xyz.openbmc_project.Control.PowerSupplyRedundancy
- Properties:
- PowerSupplyRedundancyEnabled:
- Default: 'true'
-
-/xyz/openbmc_project/control/host0/turbo_allowed:
- - Interface: xyz.openbmc_project.Control.Host.TurboAllowed
- Properties:
- TurboAllowed:
- Default: 'true'
-
-/xyz/openbmc_project/control/host0/systemGUID:
- - Interface: xyz.openbmc_project.Common.UUID
- Properties:
- UUID:
- Default: '"00000000-0000-0000-0000-000000000000"'
-
-/xyz/openbmc_project/bios:
- - Interface: xyz.openbmc_project.Inventory.Item.Bios
- Properties:
- BiosId:
- Default: '"NA"'
-
-/xyz/openbmc_project/control/processor_error_config:
- - Interface: xyz.openbmc_project.Control.Processor.ErrConfig
- Properties:
- ResetCfg:
- Default: 0
- ResetErrorOccurrenceCounts:
- Default: 0
-
-/com/intel/control/ocotshutdown_policy_config:
- - Interface: com.intel.Control.OCOTShutdownPolicy
- Properties:
- OCOTPolicy:
- Default: OCOTShutdownPolicy::Policy::NoShutdownOnOCOT
-
-/xyz/openbmc_project/control/chassis_capabilities_config:
- - Interface: xyz.openbmc_project.Control.ChassisCapabilities
- Properties:
- CapabilitiesFlags:
- Default: 0
- FRUDeviceAddress:
- Default: 0x20
- SDRDeviceAddress:
- Default: 0x20
- SELDeviceAddress:
- Default: 0x20
- SMDeviceAddress:
- Default: 0x20
- BridgeDeviceAddress:
- Default: 0x20
-
-/xyz/openbmc_project/control/thermal_mode:
- - Interface: xyz.openbmc_project.Control.ThermalMode
- Properties:
- Current:
- Default: '"Performance"'
- Supported:
- Default: '{"Acoustic", "Performance"}'
-
-/xyz/openbmc_project/control/cfm_limit:
- - Interface: xyz.openbmc_project.Control.CFMLimit
- Properties:
- Limit:
- Default: 0
-
-/xyz/openbmc_project/ipmi/sol:
- - Interface: xyz.openbmc_project.Ipmi.SOL
- Properties:
- Progress:
- Default: 0
- Enable:
- Default: 'true'
- ForceEncryption:
- Default: 'true'
- ForceAuthentication:
- Default: 'true'
- Privilege:
- Default: 4
- AccumulateIntervalMS:
- Default: 12
- Threshold:
- Default: 96
- RetryCount:
- Default: 6
- RetryIntervalMS:
- Default: 20
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager/0001-settings-initialize-data-file-with-default-setting.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager/0001-settings-initialize-data-file-with-default-setting.patch
deleted file mode 100644
index fcf2415d6..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager/0001-settings-initialize-data-file-with-default-setting.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 9e99aa4f72f4420e03ec2e4a29816eae43c5e748 Mon Sep 17 00:00:00 2001
-From: "Jia, Chunhui" <chunhui.jia@intel.com>
-Date: Tue, 29 May 2018 16:16:06 +0800
-Subject: [PATCH] [settings] initialize data file with default setting
-
-Current code trys to load settings from file at startup. When file
-does not exist, it will just use default setting. However, it will
-still load default on next reboot because no one create files.
-
-This change creates file as well when daemon loads default so next
-time daemon could load/save from file.
-
-Signed-off-by: Jia, Chunhui <chunhui.jia@intel.com>
----
- settings_manager.mako.hpp | 3 +++
- 1 file changed, 3 insertions(+)
- mode change 100644 => 100755 settings_manager.mako.hpp
-
-diff --git a/settings_manager.mako.hpp b/settings_manager.mako.hpp
-old mode 100644
-new mode 100755
-index 09a5a1f..cd592a0
---- a/settings_manager.mako.hpp
-+++ b/settings_manager.mako.hpp
-@@ -323,6 +323,9 @@ class Manager
- else
- {
- initSetting${index}();
-+ std::ofstream ostr(path.c_str(), std::ios::out);
-+ cereal::JSONOutputArchive oarchive(ostr);
-+ oarchive(*std::get<${index}>(settings)); //create file with default
- }
- }
- catch (cereal::Exception& e)
---
-2.16.2
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
deleted file mode 100644
index f5c924b31..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://0001-settings-initialize-data-file-with-default-setting.patch \
- "
-
-DEPENDS += "intel-dbus-interfaces intel-dbus-interfaces-native"
-RDEPENDS_${PN} += "intel-dbus-interfaces"
-
-EXTRA_OEMAKE += "LDFLAGS='${LDFLAGS} -lintel_dbus'"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/settings_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/settings/settings_git.bb
index aadb48fbf..50f644f37 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/settings/settings_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/settings/settings_git.bb
@@ -1,7 +1,7 @@
SUMMARY = "Settings"
-SRC_URI = "git://git-amr-2.devtools.intel.com:29418/openbmc-provingground.git;protocol=ssh"
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
+SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb
index 99cac7931..736277dce 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/special-mode-mgr/special-mode-mgr_git.bb
@@ -9,7 +9,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
inherit cmake systemd
SYSTEMD_SERVICE_${PN} = "specialmodemgr.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
index 52ebdfd88..30d92ea38 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb
@@ -9,7 +9,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh"
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
inherit cmake systemd
SYSTEMD_SERVICE_${PN} = "srvcfg-manager.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0001-Modify-dbus-interface-for-power-control.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0001-Modify-dbus-interface-for-power-control.patch
deleted file mode 100644
index fac9b52f1..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0001-Modify-dbus-interface-for-power-control.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From d34a2a5f6ca0564275ed0e2664624525cad64585 Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Fri, 13 Jul 2018 09:08:52 +0800
-Subject: [PATCH] Modify dbus interface for power control
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Switch power control service namespace from “org” to “xyz”,
-to compatible with new intel-chassis services
-
-Change-Id: I1bf5e218f72eb9fd4fb6f203c35479818d12b1fa
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- chassis_state_manager.cpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/chassis_state_manager.cpp b/chassis_state_manager.cpp
-index 03dd176..05e2440 100644
---- a/chassis_state_manager.cpp
-+++ b/chassis_state_manager.cpp
-@@ -63,10 +63,11 @@ void Chassis::determineInitialState()
- {
- sdbusplus::message::variant<int> pgood = -1;
- auto method = this->bus.new_method_call(
-- "org.openbmc.control.Power", "/org/openbmc/control/power0",
-+ "xyz.openbmc_project.Chassis.Control.Power",
-+ "/xyz/openbmc_project/Chassis/Control/Power0",
- "org.freedesktop.DBus.Properties", "Get");
-
-- method.append("org.openbmc.control.Power", "pgood");
-+ method.append("xyz.openbmc_project.Chassis.Control.Power", "pgood");
- try
- {
- auto reply = this->bus.call(method);
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0002-Capture-host-restart-cause.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0002-Capture-host-restart-cause.patch
deleted file mode 100644
index 2adff372e..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0002-Capture-host-restart-cause.patch
+++ /dev/null
@@ -1,338 +0,0 @@
-From ed64fe7379a259a822aca69e70426a2b07aad25d Mon Sep 17 00:00:00 2001
-From: Kuiying Wang <kuiying.wang@intel.com>
-Date: Tue, 7 Aug 2018 16:43:00 +0800
-Subject: [PATCH] Capture host restart cause
-
-Capture host restart cause on power/reset button pressed,
-ipmi command/webui, host OS reboot(Ctrl-Alt-Del),
-and power restore policy settings.
-Save the restart cause into file system,
-and restore it when BMC boot up.
-
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- configure.ac | 4 +-
- discover_system_state.cpp | 14 +++++
- host_state_manager.cpp | 17 ++++++
- host_state_manager.hpp | 148 +++++++++++++++++++++++++++++++++++++++++++++-
- 4 files changed, 178 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7919ec5..051a0c0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -52,9 +52,9 @@ AC_ARG_VAR(HOST_RUNNING_FILE, [File to create if host is running])
- AS_IF([test "x$HOST_RUNNING_FILE" == "x"], [HOST_RUNNING_FILE="/run/openbmc/host@%u-on"])
- AC_DEFINE_UNQUOTED([HOST_RUNNING_FILE], ["$HOST_RUNNING_FILE"], [File to create if host is running])
-
--AC_ARG_VAR(HOST_STATE_PERSIST_PATH, [Path of file for storing requested host state.])
-+AC_ARG_VAR(HOST_STATE_PERSIST_PATH, [Path of file for storing host state.])
- AS_IF([test "x$HOST_STATE_PERSIST_PATH" == "x"], \
-- [HOST_STATE_PERSIST_PATH="/var/lib/phosphor-state-manager/requestedHostTransition"])
-+ [HOST_STATE_PERSIST_PATH="/var/lib/phosphor-state-manager/hostState"])
- AC_DEFINE_UNQUOTED([HOST_STATE_PERSIST_PATH], ["$HOST_STATE_PERSIST_PATH"], \
- [Path of file for storing requested host state.])
-
-diff --git a/discover_system_state.cpp b/discover_system_state.cpp
-index 3a38152..0b5798a 100644
---- a/discover_system_state.cpp
-+++ b/discover_system_state.cpp
-@@ -12,6 +12,7 @@
- #include "settings.hpp"
- #include "xyz/openbmc_project/Common/error.hpp"
- #include "xyz/openbmc_project/Control/Power/RestorePolicy/server.hpp"
-+#include <xyz/openbmc_project/State/Host/server.hpp>
-
- namespace phosphor
- {
-@@ -181,6 +182,10 @@ int main(int argc, char** argv)
- log<level::INFO>("power_policy=ALWAYS_POWER_ON, powering host on");
- setProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition",
- convertForMessage(server::Host::Transition::On));
-+
-+ setProperty(
-+ bus, hostPath, HOST_BUSNAME, "HostRestartCause",
-+ convertForMessage(server::Host::RestartCause::PowerPolicyAlwaysOn));
- }
- else if (RestorePolicy::Policy::Restore ==
- RestorePolicy::convertPolicyFromString(powerPolicy))
-@@ -192,6 +197,15 @@ int main(int argc, char** argv)
- getProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition");
- setProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition",
- hostReqState);
-+
-+ if (server::Host::convertTransitionFromString(hostReqState) ==
-+ server::Host::Transition::On)
-+ {
-+ setProperty(
-+ bus, hostPath, HOST_BUSNAME, "HostRestartCause",
-+ convertForMessage(
-+ server::Host::RestartCause::PowerPolicyPreviousState));
-+ }
- }
-
- return 0;
-diff --git a/host_state_manager.cpp b/host_state_manager.cpp
-index 7d661dd..0e00e78 100644
---- a/host_state_manager.cpp
-+++ b/host_state_manager.cpp
-@@ -308,6 +308,15 @@ bool Host::deserialize(const fs::path& path)
- }
- }
-
-+void Host::restoreHostRestartCause()
-+{
-+ if (!deserialize(HOST_STATE_PERSIST_PATH))
-+ {
-+ // set to default value
-+ server::Host::hostRestartCause(server::Host::RestartCause::Unknown);
-+ }
-+}
-+
- Host::Transition Host::requestedHostTransition(Transition value)
- {
- log<level::INFO>("Host State transaction request",
-@@ -321,6 +330,7 @@ Host::Transition Host::requestedHostTransition(Transition value)
- // check of this count will occur
- if (value != server::Host::Transition::Off)
- {
-+ hostRestartCause(RestartCause::IpmiCommand);
- decrementRebootCount();
- }
-
-@@ -353,6 +363,13 @@ Host::HostState Host::currentHostState(HostState value)
- return server::Host::currentHostState(value);
- }
-
-+Host::RestartCause Host::hostRestartCause(RestartCause value)
-+{
-+ auto retVal = server::Host::hostRestartCause(value);
-+ serialize();
-+ return retVal;
-+}
-+
- } // namespace manager
- } // namespace state
- } // namespace phosphor
-diff --git a/host_state_manager.hpp b/host_state_manager.hpp
-index 2b00777..afd8aa3 100644
---- a/host_state_manager.hpp
-+++ b/host_state_manager.hpp
-@@ -32,6 +32,22 @@ using namespace phosphor::logging;
- namespace sdbusRule = sdbusplus::bus::match::rules;
- namespace fs = std::experimental::filesystem;
-
-+const static constexpr char* powerButtonPath =
-+ "/xyz/openbmc_project/Chassis/Buttons/Power0";
-+const static constexpr char* powerButtonIntf =
-+ "xyz.openbmc_project.Chassis.Buttons.Power";
-+const static constexpr char* resetButtonPath =
-+ "/xyz/openbmc_project/Chassis/Buttons/Reset0";
-+const static constexpr char* resetButtonIntf =
-+ "xyz.openbmc_project.Chassis.Buttons.Reset";
-+
-+const static constexpr char* powerControlService =
-+ "xyz.openbmc_project.Chassis.Control.Power";
-+const static constexpr char* powerControlPath =
-+ "/xyz/openbmc_project/Chassis/Control/Power0";
-+const static constexpr char* powerControlInterface =
-+ "xyz.openbmc_project.Chassis.Control.Power";
-+
- /** @class Host
- * @brief OpenBMC host state management implementation.
- * @details A concrete implementation for xyz.openbmc_project.State.Host
-@@ -59,8 +75,93 @@ class Host : public HostInherit
- sdbusRule::interface("org.freedesktop.systemd1.Manager"),
- std::bind(std::mem_fn(&Host::sysStateChange), this,
- std::placeholders::_1)),
-- settings(bus)
-+ settings(bus),
-+ powerButtonPressedSignal(
-+ bus,
-+ sdbusRule::type::signal() + sdbusRule::member("Pressed") +
-+ sdbusRule::path(powerButtonPath) +
-+ sdbusRule::interface(powerButtonIntf),
-+ [this](sdbusplus::message::message& msg) {
-+ phosphor::logging::log<phosphor::logging::level::INFO>(
-+ "powerButtonPressedSignal callback function is called...");
-+ this->hostRestartCause(this->RestartCause::PowerButton);
-+ this->powerButtonPressed = true;
-+ return;
-+ }),
-+ resetButtonPressedSignal(
-+ bus,
-+ sdbusRule::type::signal() + sdbusRule::member("Pressed") +
-+ sdbusRule::path(resetButtonPath) +
-+ sdbusRule::interface(resetButtonIntf),
-+ [this](sdbusplus::message::message& msg) {
-+ phosphor::logging::log<phosphor::logging::level::INFO>(
-+ "resetButtonPressedSignal callback function is called...");
-+ this->hostRestartCause(this->RestartCause::ResetButton);
-+ this->resetButtonPressed = true;
-+ return;
-+ }),
-+ postCompletePropSignal(
-+ bus,
-+ sdbusplus::bus::match::rules::propertiesChanged(
-+ powerControlPath, powerControlInterface),
-+ [this](sdbusplus::message::message& msg) {
-+ phosphor::logging::log<phosphor::logging::level::INFO>(
-+ "postCompletePropSignal callback function is called...");
-+
-+ using DbusVariant = sdbusplus::message::variant<
-+ std::string, bool, uint8_t, uint16_t, int16_t, uint32_t,
-+ int32_t, uint64_t, int64_t, double>;
-+
-+ std::map<std::string, DbusVariant> props;
-+ std::vector<std::string> inval;
-+ std::string iface;
-+ msg.read(iface, props, inval);
-+
-+ for (const auto& t : props)
-+ {
-+ auto key = t.first;
-+ auto value = t.second;
-+
-+ if (key == "state")
-+ {
-+ this->powerStateChanged = true;
-+ }
-+
-+ else if (key == "pgood")
-+ {
-+ this->pgood =
-+ sdbusplus::message::variant_ns::get<int32_t>(value);
-+ }
-+
-+ else if (key == "post_complete")
-+ {
-+ bool postState =
-+ sdbusplus::message::variant_ns::get<bool>(value);
-+
-+ if (!postState && this->pgood)
-+ {
-+ if (!this->resetButtonPressed &&
-+ !this->powerButtonPressed &&
-+ !this->powerStateChanged)
-+ {
-+ phosphor::logging::log<
-+ phosphor::logging::level::INFO>(
-+ "OEM Reset");
-+ this->hostRestartCause(this->RestartCause::OEM);
-+ }
-+ this->powerButtonPressed = false;
-+ this->powerStateChanged = false;
-+ this->resetButtonPressed = false;
-+ }
-+ }
-+ }
-+ })
- {
-+ powerButtonPressed = false;
-+ powerStateChanged = false;
-+ resetButtonPressed = false;
-+ pgood = 0;
-+
- // Enable systemd signals
- subscribeToSystemdSignals();
-
-@@ -69,8 +170,29 @@ class Host : public HostInherit
-
- attemptsLeft(BOOT_COUNT_MAX_ALLOWED);
-
-+ restoreHostRestartCause(); // restore host restart cause from persisted
-+ // file
-+
- // We deferred this until we could get our property correct
- this->emit_object_added();
-+ sdbusplus::message::variant<int32_t> pgoodProp = -1;
-+ auto method =
-+ this->bus.new_method_call(powerControlService, powerControlPath,
-+ "org.freedesktop.DBus.Properties", "Get");
-+
-+ method.append(powerControlInterface, "pgood");
-+ try
-+ {
-+ auto reply = this->bus.call(method);
-+ reply.read(pgoodProp);
-+ pgood = sdbusplus::message::variant_ns::get<int>(pgoodProp);
-+ }
-+ catch (const sdbusplus::exception::SdBusError& e)
-+ {
-+ log<level::ERR>("Error performing call to get pgood",
-+ entry("NAME=%s", e.name()),
-+ entry("ERROR=%s", e.what()));
-+ }
- }
-
- /** @brief Set value of HostTransition */
-@@ -85,6 +207,9 @@ class Host : public HostInherit
- /** @brief Set value of CurrentHostState */
- HostState currentHostState(HostState value) override;
-
-+ /** @brief Set value of HostRestartCause */
-+ RestartCause hostRestartCause(RestartCause value) override;
-+
- /**
- * @brief Set host reboot count to default
- *
-@@ -192,7 +317,9 @@ class Host : public HostInherit
- server::Progress::bootProgress()),
- convertForMessage(
- sdbusplus::xyz::openbmc_project::State::OperatingSystem::
-- server::Status::operatingSystemState()));
-+ server::Status::operatingSystemState()),
-+ convertForMessage(sdbusplus::xyz::openbmc_project::State::
-+ server::Host::hostRestartCause()));
- }
-
- /** @brief Function required by Cereal to perform deserialization.
-@@ -208,7 +335,8 @@ class Host : public HostInherit
- std::string reqTranState;
- std::string bootProgress;
- std::string osState;
-- archive(reqTranState, bootProgress, osState);
-+ std::string restartCause;
-+ archive(reqTranState, bootProgress, osState, restartCause);
- auto reqTran = Host::convertTransitionFromString(reqTranState);
- // When restoring, set the requested state with persistent value
- // but don't call the override which would execute it
-@@ -219,6 +347,8 @@ class Host : public HostInherit
- sdbusplus::xyz::openbmc_project::State::OperatingSystem::server::
- Status::operatingSystemState(
- Host::convertOSStatusFromString(osState));
-+ sdbusplus::xyz::openbmc_project::State::server::Host::hostRestartCause(
-+ Host::convertRestartCauseFromString(restartCause));
- }
-
- /** @brief Serialize and persist requested host state
-@@ -239,6 +369,9 @@ class Host : public HostInherit
- */
- bool deserialize(const fs::path& path);
-
-+ /** @brief Used to restore HostRestartCause value from persisted file */
-+ void restoreHostRestartCause();
-+
- /** @brief Persistent sdbusplus DBus bus connection. */
- sdbusplus::bus::bus& bus;
-
-@@ -247,6 +380,15 @@ class Host : public HostInherit
-
- // Settings objects of interest
- settings::Objects settings;
-+
-+ bool resetButtonPressed;
-+ bool powerButtonPressed;
-+ bool powerStateChanged;
-+ int32_t pgood;
-+
-+ sdbusplus::bus::match_t powerButtonPressedSignal;
-+ sdbusplus::bus::match_t resetButtonPressedSignal;
-+ sdbusplus::bus::match_t postCompletePropSignal;
- };
-
- } // namespace manager
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0003-Use-warm-reboot-for-the-Reboot-host-state-transition.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0003-Use-warm-reboot-for-the-Reboot-host-state-transition.patch
deleted file mode 100644
index 40722c3c9..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0003-Use-warm-reboot-for-the-Reboot-host-state-transition.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 8a7f73a0688524c71023da89e8cb5578dac16f5d Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Fri, 8 Mar 2019 17:21:49 +0800
-Subject: [PATCH] Use warm-reboot for the Reboot host state transition
-
-The same as reset button pressing, the pgood signal will keep on during the reboot
-
-Tested By:
-ipmitool chassis power reset
-The pgood(gpio219) will be keep high during the reset process
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- host_state_manager.cpp | 20 +++++++++++++-------
- 1 file changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/host_state_manager.cpp b/host_state_manager.cpp
-index 03d210d..8fac348 100644
---- a/host_state_manager.cpp
-+++ b/host_state_manager.cpp
-@@ -44,8 +44,9 @@ constexpr auto HOST_STATE_SOFT_POWEROFF_TGT = "obmc-host-shutdown@0.target";
- constexpr auto HOST_STATE_POWEROFF_TGT = "obmc-host-stop@0.target";
- constexpr auto HOST_STATE_POWERON_TGT = "obmc-host-start@0.target";
- constexpr auto HOST_STATE_POWERON_MIN_TGT = "obmc-host-startmin@0.target";
--constexpr auto HOST_STATE_REBOOT_TGT = "obmc-host-reboot@0.target";
-+constexpr auto HOST_STATE_REBOOT_TGT = "obmc-host-warm-reset@0.target";
- constexpr auto HOST_STATE_QUIESCE_TGT = "obmc-host-quiesce@0.target";
-+constexpr auto hostStateRebootService = "intel-power-warm-reset@0.service";
-
- constexpr auto ACTIVE_STATE = "active";
- constexpr auto ACTIVATING_STATE = "activating";
-@@ -168,6 +169,7 @@ bool Host::stateActive(const std::string& target)
-
- const auto& currentStateStr =
- sdbusplus::message::variant_ns::get<std::string>(currentState);
-+
- return currentStateStr == ACTIVE_STATE ||
- currentStateStr == ACTIVATING_STATE;
- }
-@@ -236,18 +238,22 @@ void Host::sysStateChange(sdbusplus::message::message& msg)
- // Read the msg and populate each variable
- msg.read(newStateID, newStateObjPath, newStateUnit, newStateResult);
-
-- if ((newStateUnit == HOST_STATE_POWEROFF_TGT) &&
-- (newStateResult == "done") &&
-- (!stateActive(HOST_STATE_POWERON_MIN_TGT)))
-+ if (((newStateUnit == HOST_STATE_POWEROFF_TGT) &&
-+ (newStateResult == "done") &&
-+ (!stateActive(HOST_STATE_POWERON_MIN_TGT))) ||
-+ ((newStateUnit == hostStateRebootService) &&
-+ (newStateResult == "done")))
- {
- log<level::INFO>("Received signal that host is off");
- this->currentHostState(server::Host::HostState::Off);
- this->bootProgress(bootprogress::Progress::ProgressStages::Unspecified);
- this->operatingSystemState(osstatus::Status::OSStatus::Inactive);
- }
-- else if ((newStateUnit == HOST_STATE_POWERON_MIN_TGT) &&
-- (newStateResult == "done") &&
-- (stateActive(HOST_STATE_POWERON_MIN_TGT)))
-+ else if (((newStateUnit == HOST_STATE_POWERON_MIN_TGT) &&
-+ (newStateResult == "done") &&
-+ (stateActive(HOST_STATE_POWERON_MIN_TGT))) ||
-+ ((newStateUnit == HOST_STATE_REBOOT_TGT) &&
-+ (newStateResult == "done")))
- {
- log<level::INFO>("Received signal that host is running");
- this->currentHostState(server::Host::HostState::Running);
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0004-Add-Power-Restore-delay-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0004-Add-Power-Restore-delay-support.patch
deleted file mode 100644
index 31cb31079..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/0004-Add-Power-Restore-delay-support.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 0edff651156ae63b6a73d9cb81e5e76cc6ae501a Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Fri, 12 Apr 2019 18:43:06 +0800
-Subject: [PATCH] Add Power Restore delay support
-
-That takes effect whenever the BMC
-automatically turns on the system due
-to the Power Restore Policy setting
-
-Tested:
-Set power restore delay:
-ipmitool raw 0x30 0x54 0 7
-Set restore policy as always-on:
-ipmitool chassis policy always-on
-AC off/on, check the journal log, the host will start boot after 7 seconds delay
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- discover_system_state.cpp | 71 +++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 68 insertions(+), 3 deletions(-)
-
-diff --git a/discover_system_state.cpp b/discover_system_state.cpp
-index 0b5798a..298ae5b 100644
---- a/discover_system_state.cpp
-+++ b/discover_system_state.cpp
-@@ -1,5 +1,4 @@
- #include <getopt.h>
--#include <iostream>
- #include <map>
- #include <string>
- #include <config.h>
-@@ -114,6 +113,49 @@ void setProperty(sdbusplus::bus::bus& bus, const std::string& path,
- return;
- }
-
-+int getPowerRestoreDelay(sdbusplus::bus::bus& bus, uint16_t& delay)
-+{
-+ static constexpr const char* powerRestoreDelayObjPath =
-+ "/xyz/openbmc_project/control/power_restore_delay";
-+ static constexpr const char* powerRestoreDelayIntf =
-+ "xyz.openbmc_project.Control.Power.RestoreDelay";
-+ static constexpr const char* powerRestoreDelayProp = "PowerRestoreDelay";
-+
-+ std::string service =
-+ getService(bus, powerRestoreDelayObjPath, powerRestoreDelayIntf);
-+
-+ sdbusplus::message::message method = bus.new_method_call(
-+ service.c_str(), powerRestoreDelayObjPath, PROPERTY_INTERFACE, "Get");
-+
-+ method.append(powerRestoreDelayIntf, powerRestoreDelayProp);
-+
-+ try
-+ {
-+ auto reply = bus.call(method);
-+ sdbusplus::message::variant<uint16_t> variant;
-+ reply.read(variant);
-+ delay = sdbusplus::message::variant_ns::get<uint16_t>(variant);
-+ }
-+ catch (sdbusplus::exception_t&)
-+ {
-+ phosphor::logging::log<phosphor::logging::level::ERR>(
-+ "Failed to get property",
-+ phosphor::logging::entry("PROPERTY=%s", powerRestoreDelayProp),
-+ phosphor::logging::entry("PATH=%s", powerRestoreDelayObjPath),
-+ phosphor::logging::entry("INTERFACE=%s", powerRestoreDelayIntf));
-+ return -1;
-+ }
-+ return 0;
-+}
-+
-+void applyPowerRestoreDelay(uint16_t delay)
-+{
-+ if (delay > 0)
-+ {
-+ log<level::INFO>("Apply Power Restore Delay", entry("DELAY=%d", delay));
-+ std::this_thread::sleep_for(std::chrono::milliseconds(1000 * delay));
-+ }
-+}
- } // namespace manager
- } // namespace state
- } // namespace phosphor
-@@ -176,13 +218,27 @@ int main(int argc, char** argv)
- log<level::INFO>("Host power is off, checking power policy",
- entry("POWER_POLICY=%s", powerPolicy.c_str()));
-
-+ uint16_t delay = 0;
-+ int ret = getPowerRestoreDelay(bus, delay);
-+
-+ if (ret != 0)
-+ {
-+ log<level::WARNING>("getPowerRestoreDelay failed!");
-+ delay = 0;
-+ }
-+
- if (RestorePolicy::Policy::AlwaysOn ==
- RestorePolicy::convertPolicyFromString(powerPolicy))
- {
-+ applyPowerRestoreDelay(delay);
-+
- log<level::INFO>("power_policy=ALWAYS_POWER_ON, powering host on");
-+
- setProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition",
- convertForMessage(server::Host::Transition::On));
-
-+ // Host on, needs to set the restart cause after host transition
-+ // since host transition will change the restart cause
- setProperty(
- bus, hostPath, HOST_BUSNAME, "HostRestartCause",
- convertForMessage(server::Host::RestartCause::PowerPolicyAlwaysOn));
-@@ -195,17 +251,26 @@ int main(int argc, char** argv)
- // Read last requested state and re-request it to execute it
- auto hostReqState =
- getProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition");
-- setProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition",
-- hostReqState);
-
- if (server::Host::convertTransitionFromString(hostReqState) ==
- server::Host::Transition::On)
- {
-+ applyPowerRestoreDelay(delay);
-+ setProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition",
-+ hostReqState);
-+
-+ // Host on, needs to set the restart cause after host transition
-+ // since host transition will change the restart cause
- setProperty(
- bus, hostPath, HOST_BUSNAME, "HostRestartCause",
- convertForMessage(
- server::Host::RestartCause::PowerPolicyPreviousState));
- }
-+ else
-+ {
-+ setProperty(bus, hostPath, HOST_BUSNAME, "RequestedHostTransition",
-+ hostReqState);
-+ }
- }
-
- return 0;
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reboot-host@.service b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reboot-host@.service
deleted file mode 100644
index ffde01ca3..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reboot-host@.service
+++ /dev/null
@@ -1,18 +0,0 @@
-[Unit]
-Description=Reboot host%i
-Wants=obmc-host-stop@%i.target
-After=obmc-host-stop@%i.target
-
-[Service]
-#ExecStart={base_bindir}/systemctl start obmc-host-start@%i.target
-# This service is starting another target that conflicts with the
-# target this service is running in. OpenBMC needs a refactor of
-# how it does its host reset path. Until then, this short term
-# solution does the job.
-# Since this is a part of the reboot target, call the startmin
-# target which does the minimum required to start the host.
-ExecStart=/bin/sh -c "sleep 10 && systemctl start obmc-host-startmin@%i.target"
-
-
-[Install]
-WantedBy=obmc-host-reboot@%i.target
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-check@.service b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-check@.service
deleted file mode 100644
index 13b8f0fca..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-check@.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Check Host%i status on BMC reset
-Wants=mapper-wait@-xyz-openbmc_project-control-host%i.service
-After=mapper-wait@-xyz-openbmc_project-control-host%i.service
-Wants=obmc-host-reset-running@%i.target
-Before=obmc-host-reset-running@%i.target
-Wants=op-reset-chassis-on@%i.service
-After=op-reset-chassis-on@%i.service
-Conflicts=obmc-host-stop@%i.target
-ConditionPathExists=/run/openbmc/chassis@%i-on
-
-[Service]
-RemainAfterExit=yes
-Type=oneshot
-ExecStart=/bin/sh -c "if [ $(busctl get-property `mapper get-service /xyz/openbmc_project/Chassis/Control/Power%i` /xyz/openbmc_project/Chassis/Control/Power%i xyz.openbmc_project.Chassis.Control.Power vrd_good | sed 's/i\s*[1]/on/' | grep on | wc -l) != 0 ]; then mkdir -p /run/openbmc/ && touch /run/openbmc/host@%i-on; fi"
-SyslogIdentifier=phosphor-host-check
-
-[Install]
-WantedBy=obmc-host-reset@%i.target
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-reboot-attempts@.service b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-reboot-attempts@.service
deleted file mode 100644
index 87c750c57..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager/phosphor-reset-host-reboot-attempts@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Reset host reboot counter
-Wants=mapper-wait@-xyz-openbmc_project-state-host%i.service
-After=mapper-wait@-xyz-openbmc_project-state-host%i.service
-ConditionPathExists=!/run/openbmc/host@%i-on
-
-[Service]
-Restart=no
-Type=oneshot
-ExecStart=/bin/sh -c "busctl set-property `mapper get-service /xyz/openbmc_project/state/host%i` /xyz/openbmc_project/state/host%i xyz.openbmc_project.Control.Boot.RebootAttempts AttemptsLeft u 3"
-StartLimitInterval=0
-
-[Install]
-WantedBy=obmc-host-start@%i.target
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager_%.bbappend
deleted file mode 100644
index 63155ce0d..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/state/phosphor-state-manager_%.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://0001-Modify-dbus-interface-for-power-control.patch \
- file://phosphor-reboot-host@.service \
- file://phosphor-reset-host-reboot-attempts@.service \
- file://phosphor-reset-host-check@.service \
- file://0002-Capture-host-restart-cause.patch \
- file://0003-Use-warm-reboot-for-the-Reboot-host-state-transition.patch \
- file://0004-Add-Power-Restore-delay-support.patch \
- "
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb
index e272fdc96..e863b14e7 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/system/callback-manager.bb
@@ -7,7 +7,7 @@ inherit cmake systemd
DEPENDS = "boost sdbusplus"
PV = "0.1+git${SRCPV}"
-SRCREV = "4373d99e1edcbb4c7233abde3a5e53690693007b"
+SRCREV = "4611d8dcba0c0dc92156bbafdb50607aaff122ab"
S = "${WORKDIR}/git/callback-manager"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager/0005-Added-suport-for-multiple-user-manager-services.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager/0005-Added-suport-for-multiple-user-manager-services.patch
index 5c2879d8f..0af64698a 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager/0005-Added-suport-for-multiple-user-manager-services.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager/0005-Added-suport-for-multiple-user-manager-services.patch
@@ -1,4 +1,4 @@
-From 726be648df955f5ae94f34391adc0e88f6956345 Mon Sep 17 00:00:00 2001
+From a519a128b9a44b1798419bf3a653d58e266c60fb Mon Sep 17 00:00:00 2001
From: Radivoje Jovanovic <radivoje.jovanovic@intel.com>
Date: Mon, 2 Jul 2018 19:23:25 -0700
Subject: [PATCH] Added suport for multiple user manager services
@@ -11,20 +11,20 @@ Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.co
---
Makefile.am | 5 +-
mainapp.cpp | 89 ++++++-
- user_mgr.cpp | 293 +++------------------
+ user_mgr.cpp | 290 ++-------------------
user_mgr.hpp | 9 +-
user_service.cpp | 781 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
user_service.hpp | 233 +++++++++++++++++
- 6 files changed, 1141 insertions(+), 269 deletions(-)
+ 6 files changed, 1139 insertions(+), 268 deletions(-)
create mode 100644 user_service.cpp
create mode 100644 user_service.hpp
diff --git a/Makefile.am b/Makefile.am
-index b138aea..288b780 100644
+index 7c7271e..58916b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,11 +1,12 @@
- sbin_PROGRAMS = phosphor-user-manager
+ bin_PROGRAMS = phosphor-user-manager
-noinst_HEADERS = user_mgr.hpp users.hpp
+noinst_HEADERS = user_mgr.hpp users.hpp user_service.hpp
@@ -150,7 +150,7 @@ index c9da030..03c406a 100644
// Claim the bus now
bus.request_name(USER_MANAGER_BUSNAME);
diff --git a/user_mgr.cpp b/user_mgr.cpp
-index 47edf7d..32f3f4c 100644
+index 17146e6..db6e7d5 100644
--- a/user_mgr.cpp
+++ b/user_mgr.cpp
@@ -14,26 +14,20 @@
@@ -540,7 +540,7 @@ index 47edf7d..32f3f4c 100644
}
DbusUserObj UserMgr::getPrivilegeMapperObject(void)
-@@ -1018,11 +784,9 @@ void UserMgr::initUserObjects(void)
+@@ -1052,11 +818,9 @@ void UserMgr::initUserObjects(void)
{
// All user management lock has to be based on /etc/shadow
phosphor::user::shadow::Lock lock();
@@ -554,29 +554,26 @@ index 47edf7d..32f3f4c 100644
if (!userNameList.empty())
{
-@@ -1077,8 +841,10 @@ void UserMgr::initUserObjects(void)
+@@ -1111,7 +875,8 @@ void UserMgr::initUserObjects(void)
}
}
-UserMgr::UserMgr(sdbusplus::bus::bus &bus, const char *path) :
-- UserMgrIface(bus, path), AccountPolicyIface(bus, path), bus(bus), path(path)
+UserMgr::UserMgr(sdbusplus::bus::bus &bus, const char *path,
+ UserService::ServiceType srvc) :
-+ UserMgrIface(bus, path),
-+ AccountPolicyIface(bus, path), bus(bus), path(path)
+ Ifaces(bus, path, true), bus(bus), path(path)
{
UserMgrIface::allPrivileges(privMgr);
- std::sort(groupsMgr.begin(), groupsMgr.end());
-@@ -1186,6 +952,7 @@ UserMgr::UserMgr(sdbusplus::bus::bus &bus, const char *path) :
+@@ -1220,6 +985,7 @@ UserMgr::UserMgr(sdbusplus::bus::bus &bus, const char *path) :
}
AccountPolicyIface::accountUnlockTimeout(value32);
}
+ userSrvc = std::make_unique<UserService>(srvc, groupsMgr, privMgr);
initUserObjects();
- }
+ // emit the signal
diff --git a/user_mgr.hpp b/user_mgr.hpp
-index c78174d..9d9c842 100644
+index b25e9f2..c24733b 100644
--- a/user_mgr.hpp
+++ b/user_mgr.hpp
@@ -21,6 +21,7 @@
@@ -596,7 +593,7 @@ index c78174d..9d9c842 100644
using AccountPolicyIface =
sdbusplus::xyz::openbmc_project::User::server::AccountPolicy;
-@@ -71,8 +70,10 @@ class UserMgr : public UserMgrIface, AccountPolicyIface
+@@ -76,8 +75,10 @@ class UserMgr : public Ifaces
*
* @param[in] bus - sdbusplus handler
* @param[in] path - D-Bus path
@@ -608,7 +605,7 @@ index c78174d..9d9c842 100644
/** @brief create user method.
* This method creates a new user as requested
-@@ -181,6 +182,8 @@ class UserMgr : public UserMgrIface, AccountPolicyIface
+@@ -186,6 +187,8 @@ class UserMgr : public Ifaces
/** @brief object path */
const std::string path;
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend
index 2cc081433..327be045d 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/users/phosphor-user-manager_%.bbappend
@@ -1,7 +1,7 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-#SRC_URI = "git://github.com/openbmc/phosphor-user-manager"
-SRCREV = "75b5a6fc4c0c06f43623fe0e746fd55e667dceb3"
+#SRC_URI = "git://github.com/openbmc/phosphor-user-manager;nobranch=1"
+SRCREV = "1af1223304dbf7aaecd5f238227abee95cce8b39"
SRC_URI += " \
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb b/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb
new file mode 100644
index 000000000..f50ec86d1
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/virtual-media/virtual-media.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Virtual Media Service"
+DESCRIPTION = "Virtual Media Service"
+
+SRC_URI = "git://git@github.com/Intel-BMC/provingground.git;protocol=ssh;nobranch=1"
+SRCREV = "0de77d616866a6251ce7e36db3285fda76b13873"
+
+S = "${WORKDIR}/git/virtual-media/"
+PV = "1.0+git${SRCPV}"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.VirtualMedia.service"
+
+DEPENDS = "udev boost nlohmann-json systemd sdbusplus"
+
+inherit cmake systemd
+
+EXTRA_OECMAKE += "-DYOCTO_DEPENDENCIES=ON"
+
+FULL_OPTIMIZATION = "-Os -pipe -flto -fno-rtti"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Add-redfish-log-support-for-IPMI-watchdog-timeout-ac.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Add-redfish-log-support-for-IPMI-watchdog-timeout-ac.patch
deleted file mode 100644
index 28995d14b..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Add-redfish-log-support-for-IPMI-watchdog-timeout-ac.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 38faf5c040660e752741dcf7f03e4bb1e9f3411b Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Thu, 4 Apr 2019 18:24:54 +0800
-Subject: [PATCH] Add redfish log support for IPMI watchdog timeout actions
-
-The current plan is that only threshold sensor events
-will be logged to the IPMI SEL,
-and all other events will be logged to the Redfish Event Log.
-
-Tested:
-Config IPMI watchdog: OEM hard reset after 10 seconds:
-ipmitool raw 0x06 0x24 0x5 0x1 0x0 0x0 0x64 0x00
-Start watchdog:
-Ipmitool mc watchdog reset
-Check the redfish logs in 10 seconds:
-https://BMCIP/redfish/v1/Systems/system/LogServices/EventLog/Entries
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- watchdog.cpp | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/watchdog.cpp b/watchdog.cpp
-index bc3ba95..4774fd8 100644
---- a/watchdog.cpp
-+++ b/watchdog.cpp
-@@ -1,5 +1,7 @@
- #include "watchdog.hpp"
-
-+#include <systemd/sd-journal.h>
-+
- #include <chrono>
- #include <phosphor-logging/elog.hpp>
- #include <phosphor-logging/log.hpp>
-@@ -101,6 +103,13 @@ void Watchdog::timeOutHandler()
- action = fallback->action;
- }
-
-+ // Log into redfish event log
-+ sd_journal_send("MESSAGE=IPMIWatchdog: Timed out ACTION=%s",
-+ convertForMessage(action).c_str(), "PRIORITY=%i", LOG_INFO,
-+ "REDFISH_MESSAGE_ID=%s", "OpenBMC.0.1.IPMIWatchdog",
-+ "REDFISH_MESSAGE_ARGS=%s",
-+ convertForMessage(action).c_str(), NULL);
-+
- expiredTimerUse(currentTimerUse());
-
- auto target = actionTargetMap.find(action);
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Move-Phosphor-Watchdog-to-Not-Use-Service-Files.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Move-Phosphor-Watchdog-to-Not-Use-Service-Files.patch
new file mode 100644
index 000000000..627dacef1
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0001-Move-Phosphor-Watchdog-to-Not-Use-Service-Files.patch
@@ -0,0 +1,198 @@
+From d15cf914ad51207021451b12863d4b7585f4666c Mon Sep 17 00:00:00 2001
+From: James Feist <james.feist@linux.intel.com>
+Date: Mon, 17 Jun 2019 12:00:58 -0700
+Subject: [PATCH] Move Phosphor-Watchdog to Not Use Service Files
+
+Our power control does not use service files, update it
+so that it calls properties directly.
+
+According to EPS, change the messageArgs in redfish about watchdog
+action and pre-interrupt action.
+
+Tested: used ipmi to create watchdog event and system
+was restarted.
+
+Set a watchdog (Timer action and pre-interrupt action both are none).
+ ipmitool raw 0x06 0x24 0x05 0x00 0x00 0x00 0x30 0x00
+Get the watchdog.
+ ipmitool mc watchdog get
+Start the watchdog.
+ ipmitool mc watchdog reset
+When timer expired, check messageArgs in Redfish with below url:
+https://IP/redfish/v1/Systems/system/LogServices/EventLog/Entries.
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+Signed-off-by: Ren Yu <yux.ren@intel.com>
+---
+ watchdog.cpp | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 108 insertions(+), 8 deletions(-)
+
+diff --git a/watchdog.cpp b/watchdog.cpp
+index 9090760..4c8e480 100644
+--- a/watchdog.cpp
++++ b/watchdog.cpp
+@@ -1,11 +1,14 @@
+ #include "watchdog.hpp"
+
++#include <systemd/sd-journal.h>
++
+ #include <algorithm>
+ #include <chrono>
+ #include <phosphor-logging/elog.hpp>
+ #include <phosphor-logging/log.hpp>
+ #include <sdbusplus/exception.hpp>
+ #include <xyz/openbmc_project/Common/error.hpp>
++#include <xyz/openbmc_project/State/Host/server.hpp>
+
+ namespace phosphor
+ {
+@@ -18,10 +21,44 @@ using namespace phosphor::logging;
+ using sdbusplus::exception::SdBusError;
+ using sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
+
+-// systemd service to kick start a target.
+-constexpr auto SYSTEMD_SERVICE = "org.freedesktop.systemd1";
+-constexpr auto SYSTEMD_ROOT = "/org/freedesktop/systemd1";
+-constexpr auto SYSTEMD_INTERFACE = "org.freedesktop.systemd1.Manager";
++const static constexpr char* powerActionHardReset =
++ "xyz.openbmc_project.State.Watchdog.Action.HardReset";
++const static constexpr char* powerActionOff =
++ "xyz.openbmc_project.State.Watchdog.Action.PowerOff";
++const static constexpr char* powerActionPowerCycle =
++ "xyz.openbmc_project.State.Watchdog.Action.PowerCycle";
++const static constexpr char* powerActionNone =
++ "xyz.openbmc_project.State.Watchdog.Action.None";
++const static constexpr char* preInterruptNoAction =
++ "xyz.openbmc_project.State.Watchdog.PreTimeoutInterruptAction.None";
++
++const static constexpr char* hardResteDescription =
++ "Hard Reset - System reset due to Watchdog timeout";
++const static constexpr char* powerOffDescription =
++ "Power Down - System power down due to Watchdog timeout";
++const static constexpr char* powerCycleDescription =
++ "Power Cycle - System power cycle due to Watchdog timeout";
++const static constexpr char* timerExpiredDescription = "Timer expired";
++const static constexpr char* preInterruptDescription = "Timer interrupt";
++
++namespace restart
++{
++static constexpr const char* busName = "xyz.openbmc_project.Settings";
++static constexpr const char* path =
++ "/xyz/openbmc_project/control/host0/restart_cause";
++static constexpr const char* interface =
++ "xyz.openbmc_project.Common.RestartCause";
++static constexpr const char* property = "RestartCause";
++} // namespace restart
++
++// chassis state manager service
++namespace chassis
++{
++static constexpr const char* busName = "xyz.openbmc_project.State.Chassis";
++static constexpr const char* path = "/xyz/openbmc_project/state/chassis0";
++static constexpr const char* interface = "xyz.openbmc_project.State.Chassis";
++static constexpr const char* request = "RequestedPowerTransition";
++} // namespace chassis
+
+ void Watchdog::resetTimeRemaining(bool enableWatchdog)
+ {
+@@ -102,12 +139,51 @@ uint64_t Watchdog::interval(uint64_t value)
+ // Optional callback function on timer expiration
+ void Watchdog::timeOutHandler()
+ {
++ PreTimeoutInterruptAction preTimeoutInterruptAction = preTimeoutInterrupt();
+ Action action = expireAction();
++ std::string actionMessageArgs{};
++
+ if (!this->enabled())
+ {
+ action = fallback->action;
+ }
+
++ if (convertForMessage(action) == powerActionHardReset)
++ {
++ actionMessageArgs = hardResteDescription;
++ }
++ else if (convertForMessage(action) == powerActionOff)
++ {
++ actionMessageArgs = powerOffDescription;
++ }
++ else if (convertForMessage(action) == powerActionPowerCycle)
++ {
++ actionMessageArgs = powerCycleDescription;
++ }
++ else if (convertForMessage(action) == powerActionNone)
++ {
++ actionMessageArgs = timerExpiredDescription;
++ }
++ else
++ {
++ actionMessageArgs = "Reserved";
++ }
++
++ // Log into redfish event log
++ sd_journal_send("MESSAGE=IPMIWatchdog: Timed out ACTION=%s",
++ convertForMessage(action).c_str(), "PRIORITY=%i", LOG_INFO,
++ "REDFISH_MESSAGE_ID=%s", "OpenBMC.0.1.IPMIWatchdog",
++ "REDFISH_MESSAGE_ARGS=%s", actionMessageArgs.c_str(), NULL);
++
++ if (preInterruptNoAction != convertForMessage(preTimeoutInterruptAction))
++ {
++ sd_journal_send("MESSAGE=IPMIWatchdog: Pre Timed out Interrupt=%s",
++ convertForMessage(preTimeoutInterruptAction).c_str(),
++ "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s",
++ "OpenBMC.0.1.IPMIWatchdog", "REDFISH_MESSAGE_ARGS=%s",
++ preInterruptDescription, NULL);
++ }
++
+ expiredTimerUse(currentTimerUse());
+
+ auto target = actionTargetMap.find(action);
+@@ -128,10 +204,11 @@ void Watchdog::timeOutHandler()
+
+ try
+ {
+- auto method = bus.new_method_call(SYSTEMD_SERVICE, SYSTEMD_ROOT,
+- SYSTEMD_INTERFACE, "StartUnit");
+- method.append(target->second);
+- method.append("replace");
++ auto method =
++ bus.new_method_call(chassis::busName, chassis::path,
++ "org.freedesktop.DBus.Properties", "Set");
++ method.append(chassis::interface, chassis::request,
++ std::variant<std::string>(target->second));
+
+ bus.call_noreply(method);
+ }
+@@ -142,6 +219,29 @@ void Watchdog::timeOutHandler()
+ entry("ERROR=%s", e.what()));
+ commit<InternalFailure>();
+ }
++
++ // set restart cause for watchdog HardReset & PowerCycle actions
++ if ((action == Watchdog::Action::HardReset) ||
++ (action == Watchdog::Action::PowerCycle))
++ {
++ try
++ {
++ auto method = bus.new_method_call(
++ restart::busName, restart::path,
++ "org.freedesktop.DBus.Properties", "Set");
++ method.append(
++ restart::interface, restart::property,
++ std::variant<std::string>("xyz.openbmc_project.State.Host."
++ "RestartCause.WatchdogTimer"));
++ bus.call(method);
++ }
++ catch (sdbusplus::exception_t& e)
++ {
++ log<level::ERR>("Failed to set HostRestartCause property",
++ entry("ERROR=%s", e.what()));
++ commit<InternalFailure>();
++ }
++ }
+ }
+
+ tryFallbackOrDisable();
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Add-restart-cause-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Add-restart-cause-support.patch
deleted file mode 100644
index 05374e9db..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Add-restart-cause-support.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From af3a7d07b801c22a03350897c2186b1ee9507ff2 Mon Sep 17 00:00:00 2001
-From: Yong Li <yong.b.li@linux.intel.com>
-Date: Sun, 14 Apr 2019 11:14:09 +0800
-Subject: [PATCH] Add restart cause support
-
-Add restart cause support for watchdog expiration, to support
-Get system restart cause command defined in IPMI spec
-
-Tested:
-Set a hard reset watchdog:
-ipmitool raw 0x06 0x24 0x5 0x1 0x0 0x0 0x64 0x00
-
-Start the timer:
-ipmitool mc watchdog reset
-
-Wait for 10 seconds, host will be restart, query the restart cause:
-Ipmitool chassis restart_cause
-System restart cause: watchdog expired
-
-Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
----
- watchdog.cpp | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/watchdog.cpp b/watchdog.cpp
-index 008cde5..7f1ec05 100644
---- a/watchdog.cpp
-+++ b/watchdog.cpp
-@@ -7,6 +7,7 @@
- #include <phosphor-logging/log.hpp>
- #include <sdbusplus/exception.hpp>
- #include <xyz/openbmc_project/Common/error.hpp>
-+#include <xyz/openbmc_project/State/Host/server.hpp>
-
- namespace phosphor
- {
-@@ -24,6 +25,12 @@ constexpr auto SYSTEMD_SERVICE = "org.freedesktop.systemd1";
- constexpr auto SYSTEMD_ROOT = "/org/freedesktop/systemd1";
- constexpr auto SYSTEMD_INTERFACE = "org.freedesktop.systemd1.Manager";
-
-+// host state manager service
-+static constexpr const char* hostService = "xyz.openbmc_project.State.Host";
-+static constexpr const char* hostPath = "/xyz/openbmc_project/state/host0";
-+static constexpr const char* hostInterface = "xyz.openbmc_project.State.Host";
-+static constexpr const char* dbusPropIf = "org.freedesktop.DBus.Properties";
-+
- void Watchdog::resetTimeRemaining(bool enableWatchdog)
- {
- timeRemaining(interval());
-@@ -139,6 +146,29 @@ void Watchdog::timeOutHandler()
- entry("ERROR=%s", e.what()));
- commit<InternalFailure>();
- }
-+
-+ // set restart cause for watchdog HardReset & PowerCycle actions
-+ if ((action == Watchdog::Action::HardReset) ||
-+ (action == Watchdog::Action::PowerCycle))
-+ {
-+ sdbusplus::message::variant<std::string> property =
-+ convertForMessage(
-+ (sdbusplus::xyz::openbmc_project::State::server::Host::
-+ RestartCause::WatchdogTimer));
-+ try
-+ {
-+ auto method = bus.new_method_call(hostService, hostPath,
-+ dbusPropIf, "Set");
-+ method.append(hostInterface, "HostRestartCause", property);
-+ bus.call(method);
-+ }
-+ catch (sdbusplus::exception_t& e)
-+ {
-+ log<level::ERR>("Failed to set HostRestartCause property",
-+ entry("ERROR=%s", e.what()));
-+ commit<InternalFailure>();
-+ }
-+ }
- }
-
- tryFallbackOrDisable();
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Stop-the-watchdog-when-the-host-is-going-to-off.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Stop-the-watchdog-when-the-host-is-going-to-off.patch
new file mode 100644
index 000000000..016cf063a
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0002-Stop-the-watchdog-when-the-host-is-going-to-off.patch
@@ -0,0 +1,118 @@
+From b05da90d7023199e23daf8fbb49455138332f241 Mon Sep 17 00:00:00 2001
+From: Ren Yu <yux.ren@intel.com>
+Date: Wed, 24 Jul 2019 16:21:13 +0800
+Subject: [PATCH] Stop the watchdog when the host is going to off
+
+After the host is off, check the WDT status, if it is running,
+needs to stop it
+
+Tested:
+Set a watchdog with a long time expiration(Timer action is none,
+Timer Use is OEM and Initial Countdown is 435.1 second).
+ ipmitool raw 0x06 0x24 0x05 0x00 0x00 0x00 0xff 0x10
+Get the watchdog.
+ ipmitool mc watchdog get
+Start the watchdog.
+ ipmitool mc watchdog reset
+Host off.
+ ipmitool chassis power off
+Get the watchdog.
+ ipmitool mc watchdog get
+Check the watchdog status, expect watchdog is stoped.
+
+Signed-off-by: Ren Yu <yux.ren@intel.com>
+---
+ watchdog.cpp | 21 +++++++++++++++++++++
+ watchdog.hpp | 23 ++++++++++++++++++++++-
+ 2 files changed, 43 insertions(+), 1 deletion(-)
+
+diff --git a/watchdog.cpp b/watchdog.cpp
+index 4c8e480..fa58ef4 100644
+--- a/watchdog.cpp
++++ b/watchdog.cpp
+@@ -21,6 +21,10 @@ using namespace phosphor::logging;
+ using sdbusplus::exception::SdBusError;
+ using sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
+
++const static constexpr char* currentPowerState = "CurrentPowerState";
++const static constexpr char* powerStatusOff =
++ "xyz.openbmc_project.State.Chassis.PowerState.Off";
++
+ const static constexpr char* powerActionHardReset =
+ "xyz.openbmc_project.State.Watchdog.Action.HardReset";
+ const static constexpr char* powerActionOff =
+@@ -60,6 +64,23 @@ static constexpr const char* interface = "xyz.openbmc_project.State.Chassis";
+ static constexpr const char* request = "RequestedPowerTransition";
+ } // namespace chassis
+
++void Watchdog::powerStateChangedHandler(
++ const std::map<std::string, std::variant<std::string>>& props)
++{
++ const auto iter = props.find(currentPowerState);
++ if (iter != props.end())
++ {
++ const std::string* powerState = std::get_if<std::string>(&iter->second);
++ if (powerState && (*powerState == powerStatusOff))
++ {
++ if (timerEnabled())
++ {
++ enabled(false);
++ }
++ }
++ }
++}
++
+ void Watchdog::resetTimeRemaining(bool enableWatchdog)
+ {
+ timeRemaining(interval());
+diff --git a/watchdog.hpp b/watchdog.hpp
+index 7de9bb3..dcbecd1 100644
+--- a/watchdog.hpp
++++ b/watchdog.hpp
+@@ -68,7 +68,18 @@ class Watchdog : public WatchdogInherits
+ WatchdogInherits(bus, objPath),
+ bus(bus), actionTargetMap(std::move(actionTargetMap)),
+ fallback(std::move(fallback)), minInterval(minInterval),
+- timer(event, std::bind(&Watchdog::timeOutHandler, this))
++ timer(event, std::bind(&Watchdog::timeOutHandler, this)),
++ powerStateChangedSignal(
++ bus,
++ sdbusplus::bus::match::rules::propertiesChanged(
++ "/xyz/openbmc_project/state/chassis0",
++ "xyz.openbmc_project.State.Chassis"),
++ [this](sdbusplus::message::message& msg) {
++ std::string objectName;
++ std::map<std::string, std::variant<std::string>> props;
++ msg.read(objectName, props);
++ powerStateChangedHandler(props);
++ })
+ {
+ // We set the watchdog interval with the default value.
+ interval(interval());
+@@ -77,6 +88,12 @@ class Watchdog : public WatchdogInherits
+ tryFallbackOrDisable();
+ }
+
++ /** @brief Disable watchdog when power status change meet
++ * the specific requirement
++ */
++ void powerStateChangedHandler(
++ const std::map<std::string, std::variant<std::string>>& props);
++
+ /** @brief Resets the TimeRemaining to the configured Interval
+ * Optionally enables the watchdog.
+ *
+@@ -165,6 +182,10 @@ class Watchdog : public WatchdogInherits
+ /** @brief Contained timer object */
+ sdeventplus::utility::Timer<sdeventplus::ClockId::Monotonic> timer;
+
++ /** @brief Optional Callback handler when power status change meet
++ * the specific requirement */
++ sdbusplus::bus::match_t powerStateChangedSignal;
++
+ /** @brief Optional Callback handler on timer expirartion */
+ void timeOutHandler();
+
+--
+2.7.4
+
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0003-Add-redfish-log-support-for-IPMI-watchdog-pre-timeou.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0003-Add-redfish-log-support-for-IPMI-watchdog-pre-timeou.patch
deleted file mode 100644
index 309a8c646..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0003-Add-redfish-log-support-for-IPMI-watchdog-pre-timeou.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 46e8e4fe6cb48145152e37380a4064c8957d2ff7 Mon Sep 17 00:00:00 2001
-From: Ren Yu <yux.ren@intel.com>
-Date: Tue, 28 May 2019 17:04:10 +0800
-Subject: [PATCH] Add redfish log support for IPMI watchdog pre-timeout
- interrupt
-
-Tested:
-Config IPMI watchdog: BIOS FRB2 Power Cycle after 1 seconds:
-ipmitool raw 0x06 0x24 0x01 0x13 0x0 0x2 0xa 0x00
-Start watchdog:
-Ipmitool mc watchdog reset
-Check the redfish logs in 1 seconds:
-https://BMCIP/redfish/v1/Systems/system/LogServices/EventLog/Entries
-
-Signed-off-by: Ren Yu <yux.ren@intel.com>
----
- watchdog.cpp | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/watchdog.cpp b/watchdog.cpp
-index d893237..5062049 100644
---- a/watchdog.cpp
-+++ b/watchdog.cpp
-@@ -104,6 +104,8 @@ uint64_t Watchdog::timeRemaining(uint64_t value)
- // Optional callback function on timer expiration
- void Watchdog::timeOutHandler()
- {
-+ PreTimeoutInterruptAction preTimeoutInterruptAction = preTimeoutInterrupt();
-+
- Action action = expireAction();
- if (!this->enabled())
- {
-@@ -117,6 +119,12 @@ void Watchdog::timeOutHandler()
- "REDFISH_MESSAGE_ARGS=%s",
- convertForMessage(action).c_str(), NULL);
-
-+ sd_journal_send("MESSAGE=IPMIWatchdog: Pre Timed out Interrupt=%s",
-+ convertForMessage(preTimeoutInterruptAction).c_str(),
-+ "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s",
-+ "OpenBMC.0.1.IPMIWatchdog", "REDFISH_MESSAGE_ARGS=%s",
-+ convertForMessage(preTimeoutInterruptAction).c_str(), NULL);
-+
- expiredTimerUse(currentTimerUse());
-
- auto target = actionTargetMap.find(action);
---
-2.7.4
-
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service
deleted file mode 100644
index 87a662f7c..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Start FRB2 Watchdog%i
-Wants=obmc-host-started@%i.target
-After=obmc-host-started@%i.target
-Wants=mapper-wait@-xyz-openbmc_project-watchdog-host%i.service
-After=mapper-wait@-xyz-openbmc_project-watchdog-host%i.service
-Conflicts=obmc-host-stop@%i.target
-ConditionPathExists=!/run/openbmc/host@%i-on
-
-[Service]
-Restart=always
-ExecStart=/usr/bin/env frb2-watchdog
-ExecStopPost=/bin/sh -c "busctl call `mapper get-service /xyz/openbmc_project/watchdog/host%i` /xyz/openbmc_project/watchdog/host%i org.freedesktop.DBus.Properties Set ssv xyz.openbmc_project.State.Watchdog Enabled b false"
-SyslogIdentifier=obmc-enable-host-watchdog
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog.service b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog.service
new file mode 100644
index 000000000..5ef1a4179
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Phosphor Watchdog
+
+[Service]
+ExecStart=/usr/bin/env phosphor-watchdog --continue --service=xyz.openbmc_project.Watchdog \
+ --path=/xyz/openbmc_project/watchdog/host0 \
+ --action_target=xyz.openbmc_project.State.Watchdog.Action.HardReset=xyz.openbmc_project.State.Chassis.Transition.Reset \
+ --action_target=xyz.openbmc_project.State.Watchdog.Action.PowerOff=xyz.openbmc_project.State.Chassis.Transition.Off \
+ --action_target=xyz.openbmc_project.State.Watchdog.Action.PowerCycle=xyz.openbmc_project.State.Chassis.Transition.PowerCycle
+
+SyslogIdentifier=phosphor-watchdog
+BusName =xyz.openbmc_project.Watchdog
+Type=dbus
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service
deleted file mode 100644
index 251c2257b..000000000
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Phosphor %I watchdog
-
-[Service]
-Restart=no
-EnvironmentFile={envfiledir}/obmc/watchdog/%I
-ExecStart=/usr/bin/env phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} \
- --action_target=xyz.openbmc_project.State.Watchdog.Action.HardReset=obmc-host-warm-reset@0.target \
- --action_target=xyz.openbmc_project.State.Watchdog.Action.PowerOff=obmc-host-shutdown@0.target \
- --action_target=xyz.openbmc_project.State.Watchdog.Action.PowerCycle=obmc-host-reboot@0.target
-
-SyslogIdentifier=phosphor-watchdog
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend
index c117102ee..caaca2670 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend
@@ -1,9 +1,10 @@
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-SRC_URI += "file://0001-Add-redfish-log-support-for-IPMI-watchdog-timeout-ac.patch \
- file://0002-Add-restart-cause-support.patch \
- file://0003-Add-redfish-log-support-for-IPMI-watchdog-pre-timeou.patch \
+SRCREV = "c35135d32f9cb84b62de7b72eee3a2e87b4b3d4d"
+SRC_URI += "file://0001-Move-Phosphor-Watchdog-to-Not-Use-Service-Files.patch \
+ file://0002-Stop-the-watchdog-when-the-host-is-going-to-off.patch \
"
# Remove the override to keep service running after DC cycle
SYSTEMD_OVERRIDE_${PN}_remove = "poweron.conf:phosphor-watchdog@poweron.service.d/poweron.conf"
+SYSTEMD_SERVICE_${PN} = "phosphor-watchdog.service"
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
index f4b054acf..97270e982 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
#SRC_URI = "git://github.com/openbmc/phosphor-webui.git"
-SRCREV = "e4ae854c217344b4f35717e922083a253f43bfa0"
+SRCREV = "ae0353989abe7d9194dba47ca26d803fe11f46b6"
SRC_URI += "file://0004-Implement-force-boot-to-bios-in-server-power-control.patch"
diff --git a/meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod/0001-Add-pass-through-setting-in-gpioset.patch b/meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod/0001-Add-pass-through-setting-in-gpioset.patch
deleted file mode 100644
index b9082468c..000000000
--- a/meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod/0001-Add-pass-through-setting-in-gpioset.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-From 0c393ec7a71f21506334caa3a321fa013a9723ef Mon Sep 17 00:00:00 2001
-From: Ed Tanous <ed.tanous@intel.com>
-Date: Mon, 8 Apr 2019 11:46:09 -0700
-Subject: [PATCH] [PATCH] Add pass through setting in gpioset
-
-Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
-Signed-off-by: Ed Tanous <ed.tanous@intel.com>
----
- aclocal.m4 | 2 +-
- configure | 2 +-
- include/gpiod.h | 10 ++++++++--
- lib/core.c | 13 +++++++------
- lib/ctxless.c | 8 +++++---
- lib/helpers.c | 3 ++-
- tests/tests-ctxless.c | 2 +-
- tools/gpioset.c | 13 +++++++++----
- 8 files changed, 34 insertions(+), 19 deletions(-)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index b0db596..a5e28ad 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -911,7 +911,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
- # generated from the m4 files accompanying Automake X.Y.
- # (This private macro should not be called outside this file.)
- AC_DEFUN([AM_AUTOMAKE_VERSION],
--[am__api_version='1.15'
-+[am__api_version='1.16'
- dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
- dnl require some minimum version. Point them to the right macro.
- m4_if([$1], [1.15], [],
-diff --git a/configure b/configure
-index f5a0a23..c0cdbf1 100755
---- a/configure
-+++ b/configure
-@@ -2484,7 +2484,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-
--am__api_version='1.15'
-+am__api_version='1.16'
-
- # Find a good install program. We prefer a C program (faster),
- # so one script is as good as another. But avoid the broken or
-diff --git a/include/gpiod.h b/include/gpiod.h
-index 2679478..7b5c186 100644
---- a/include/gpiod.h
-+++ b/include/gpiod.h
-@@ -121,6 +121,7 @@ typedef void (*gpiod_ctxless_set_value_cb)(void *);
- * @param offset The offset of the GPIO line.
- * @param value New value (0 or 1).
- * @param active_low The active state of this line - true if low.
-+ * @param pass_through The pass-through state of the lines - true if enabled.
- * @param consumer Name of the consumer.
- * @param cb Optional callback function that will be called right after setting
- * the value. Users can use this, for example, to pause the execution
-@@ -129,7 +130,7 @@ typedef void (*gpiod_ctxless_set_value_cb)(void *);
- * @return 0 if the operation succeeds, -1 on error.
- */
- int gpiod_ctxless_set_value(const char *device, unsigned int offset, int value,
-- bool active_low, const char *consumer,
-+ bool active_low, bool pass_through, const char *consumer,
- gpiod_ctxless_set_value_cb cb,
- void *data) GPIOD_API;
-
-@@ -140,6 +141,7 @@ int gpiod_ctxless_set_value(const char *device, unsigned int offset, int value,
- * @param values Array of integers containing new values.
- * @param num_lines Number of lines, must be > 0.
- * @param active_low The active state of the lines - true if low.
-+ * @param pass_through The pass-through state of the lines - true if enabled.
- * @param consumer Name of the consumer.
- * @param cb Optional callback function that will be called right after setting
- * all values. Works the same as in ::gpiod_ctxless_set_value.
-@@ -149,7 +151,7 @@ int gpiod_ctxless_set_value(const char *device, unsigned int offset, int value,
- int gpiod_ctxless_set_value_multiple(const char *device,
- const unsigned int *offsets,
- const int *values, unsigned int num_lines,
-- bool active_low, const char *consumer,
-+ bool active_low, bool pass_through, const char *consumer,
- gpiod_ctxless_set_value_cb cb,
- void *data) GPIOD_API;
-
-@@ -766,6 +768,8 @@ enum {
- /**< Request the line(s) for reading the GPIO line state. */
- GPIOD_LINE_REQUEST_DIRECTION_OUTPUT,
- /**< Request the line(s) for setting the GPIO line state. */
-+ GPIOD_LINE_REQUEST_DIRECTION_PASS_THROUGH,
-+ /**< Request the line(s) for setting the GPIO line state. */
- GPIOD_LINE_REQUEST_EVENT_FALLING_EDGE,
- /**< Monitor both types of events. */
- GPIOD_LINE_REQUEST_EVENT_RISING_EDGE,
-@@ -784,6 +788,8 @@ enum {
- /**< The line is an open-source port. */
- GPIOD_LINE_REQUEST_FLAG_ACTIVE_LOW = GPIOD_BIT(2),
- /**< The active state of the line is low (high is the default). */
-+ GPIOD_LINE_REQUEST_FLAG_PASS_THROUGH = GPIOD_BIT(5),
-+ /**< The line is a pass-through port*/
- };
-
- /**
-diff --git a/lib/core.c b/lib/core.c
-index 05e5a46..635569c 100644
---- a/lib/core.c
-+++ b/lib/core.c
-@@ -470,7 +470,6 @@ static int line_request_values(struct gpiod_line_bulk *bulk,
- struct gpiohandle_request req;
- unsigned int i;
- int rv, fd;
--
- if ((config->request_type != GPIOD_LINE_REQUEST_DIRECTION_OUTPUT) &&
- (config->flags & (GPIOD_LINE_REQUEST_FLAG_OPEN_DRAIN |
- GPIOD_LINE_REQUEST_FLAG_OPEN_SOURCE))) {
-@@ -497,14 +496,15 @@ static int line_request_values(struct gpiod_line_bulk *bulk,
- req.flags |= GPIOHANDLE_REQUEST_INPUT;
- else if (config->request_type == GPIOD_LINE_REQUEST_DIRECTION_OUTPUT)
- req.flags |= GPIOHANDLE_REQUEST_OUTPUT;
--
-+ else if (config->request_type == GPIOD_LINE_REQUEST_DIRECTION_PASS_THROUGH)
-+ req.flags |= GPIOHANDLE_REQUEST_PASS_THROUGH;
- req.lines = gpiod_line_bulk_num_lines(bulk);
-
- gpiod_line_bulk_foreach_line_off(bulk, line, i) {
- req.lineoffsets[i] = gpiod_line_offset(line);
-- if (config->request_type ==
-- GPIOD_LINE_REQUEST_DIRECTION_OUTPUT &&
-- default_vals)
-+ if ((config->request_type == GPIOD_LINE_REQUEST_DIRECTION_OUTPUT ||
-+ config->request_type == GPIOD_LINE_REQUEST_DIRECTION_PASS_THROUGH)&&
-+ default_vals)
- req.default_values[i] = !!default_vals[i];
- }
-
-@@ -615,7 +615,8 @@ static bool line_request_is_direction(int request)
- {
- return request == GPIOD_LINE_REQUEST_DIRECTION_AS_IS ||
- request == GPIOD_LINE_REQUEST_DIRECTION_INPUT ||
-- request == GPIOD_LINE_REQUEST_DIRECTION_OUTPUT;
-+ request == GPIOD_LINE_REQUEST_DIRECTION_OUTPUT ||
-+ request == GPIOD_LINE_REQUEST_DIRECTION_PASS_THROUGH;
- }
-
- static bool line_request_is_events(int request)
-diff --git a/lib/ctxless.c b/lib/ctxless.c
-index ba85018..88b0388 100644
---- a/lib/ctxless.c
-+++ b/lib/ctxless.c
-@@ -76,17 +76,17 @@ int gpiod_ctxless_get_value_multiple(const char *device,
- }
-
- int gpiod_ctxless_set_value(const char *device, unsigned int offset, int value,
-- bool active_low, const char *consumer,
-+ bool active_low, bool pass_through, const char *consumer,
- gpiod_ctxless_set_value_cb cb, void *data)
- {
- return gpiod_ctxless_set_value_multiple(device, &offset, &value, 1,
-- active_low, consumer, cb, data);
-+ active_low, pass_through, consumer, cb, data);
- }
-
- int gpiod_ctxless_set_value_multiple(const char *device,
- const unsigned int *offsets,
- const int *values, unsigned int num_lines,
-- bool active_low, const char *consumer,
-+ bool active_low, bool pass_through, const char *consumer,
- gpiod_ctxless_set_value_cb cb, void *data)
- {
- struct gpiod_line_bulk bulk;
-@@ -118,6 +118,8 @@ int gpiod_ctxless_set_value_multiple(const char *device,
-
- flags = active_low ? GPIOD_LINE_REQUEST_FLAG_ACTIVE_LOW : 0;
-
-+ flags |= pass_through ? GPIOD_LINE_REQUEST_FLAG_PASS_THROUGH : 0;
-+
- rv = gpiod_line_request_bulk_output_flags(&bulk, consumer,
- flags, values);
- if (rv < 0) {
-diff --git a/lib/helpers.c b/lib/helpers.c
-index 479f370..7b2884f 100644
---- a/lib/helpers.c
-+++ b/lib/helpers.c
-@@ -360,7 +360,8 @@ int gpiod_line_request_bulk_output_flags(struct gpiod_line_bulk *bulk,
- .request_type = GPIOD_LINE_REQUEST_DIRECTION_OUTPUT,
- .flags = flags,
- };
--
-+ if (flags & GPIOD_LINE_REQUEST_FLAG_PASS_THROUGH)
-+ config.request_type = GPIOD_LINE_REQUEST_DIRECTION_PASS_THROUGH;
- return gpiod_line_request_bulk(bulk, &config, default_vals);
- }
-
-diff --git a/tests/tests-ctxless.c b/tests/tests-ctxless.c
-index 638274f..b215f9c 100644
---- a/tests/tests-ctxless.c
-+++ b/tests/tests-ctxless.c
-@@ -20,7 +20,7 @@ static void ctxless_set_get_value(void)
- TEST_ASSERT_EQ(rv, 0);
-
- rv = gpiod_ctxless_set_value(test_chip_name(0), 3, 1,
-- false, TEST_CONSUMER, NULL, NULL);
-+ false, false, TEST_CONSUMER, NULL, NULL);
- TEST_ASSERT_RET_OK(rv);
-
- rv = gpiod_ctxless_get_value(test_chip_name(0), 3,
-diff --git a/tools/gpioset.c b/tools/gpioset.c
-index d9977a7..094d609 100644
---- a/tools/gpioset.c
-+++ b/tools/gpioset.c
-@@ -22,7 +22,8 @@
- static const struct option longopts[] = {
- { "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'v' },
-- { "active-low", no_argument, NULL, 'l' },
-+ { "active-low", no_argument, NULL, 'l' },
-+ { "pass-through", no_argument, NULL, 'p' },
- { "mode", required_argument, NULL, 'm' },
- { "sec", required_argument, NULL, 's' },
- { "usec", required_argument, NULL, 'u' },
-@@ -30,7 +31,7 @@ static const struct option longopts[] = {
- { GETOPT_NULL_LONGOPT },
- };
-
--static const char *const shortopts = "+hvlm:s:u:b";
-+static const char *const shortopts = "+hvlpm:s:u:b";
-
- static void print_help(void)
- {
-@@ -40,8 +41,9 @@ static void print_help(void)
- printf("\n");
- printf("Options:\n");
- printf(" -h, --help:\t\tdisplay this message and exit\n");
-- printf(" -v, --version:\tdisplay the version and exit\n");
- printf(" -l, --active-low:\tset the line active state to low\n");
-+ printf(" -v, --version:\tdisplay the version and exit\n");
-+ printf(" -p, --pass-through:\tset it to pass through mode\n");
- printf(" -m, --mode=[exit|wait|time|signal] (defaults to 'exit'):\n");
- printf(" tell the program what to do after setting values\n");
- printf(" -s, --sec=SEC:\tspecify the number of seconds to wait (only valid for --mode=time)\n");
-@@ -185,6 +187,7 @@ int main(int argc, char **argv)
- int *values, rv, optc, opti;
- struct callback_data cbdata;
- bool active_low = false;
-+ bool pass_through = false;
- char *device, *end;
-
- memset(&cbdata, 0, sizeof(cbdata));
-@@ -203,6 +206,8 @@ int main(int argc, char **argv)
- return EXIT_SUCCESS;
- case 'l':
- active_low = true;
-+ case 'p':
-+ pass_through = true;
- break;
- case 'm':
- mode = parse_mode(optarg);
-@@ -269,7 +274,7 @@ int main(int argc, char **argv)
- }
-
- rv = gpiod_ctxless_set_value_multiple(device, offsets, values,
-- num_lines, active_low, "gpioset",
-+ num_lines, active_low, pass_through, "gpioset",
- mode->callback, &cbdata);
- if (rv < 0)
- die_perror("error setting the GPIO line values");
---
-2.17.1
-
diff --git a/meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod_%.bbappend b/meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod_%.bbappend
deleted file mode 100644
index 5c3c24ec5..000000000
--- a/meta-openbmc-mods/meta-common/recipes-support/libgpiod/libgpiod_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-PACKAGECONFIG += " cxx"
-
-SRC_URI += " \
- file://0001-Add-pass-through-setting-in-gpioset.patch \
- "
diff --git a/meta-openbmc-mods/meta-wht/conf/conf-notes.txt b/meta-openbmc-mods/meta-wht/conf/conf-notes.txt
index 558487db6..91059a72d 100644
--- a/meta-openbmc-mods/meta-wht/conf/conf-notes.txt
+++ b/meta-openbmc-mods/meta-wht/conf/conf-notes.txt
@@ -1,5 +1,6 @@
Common targets are:
intel-platforms
obmc-phosphor-image
+ qemu-helper-native
virtual/kernel
phosphor-ipmi-host
diff --git a/meta-openbmc-mods/meta-wht/conf/layer.conf b/meta-openbmc-mods/meta-wht/conf/layer.conf
index 99d7ee689..7f5bc8fa8 100644
--- a/meta-openbmc-mods/meta-wht/conf/layer.conf
+++ b/meta-openbmc-mods/meta-wht/conf/layer.conf
@@ -1,4 +1,4 @@
-LOCALCONF_VERSION = "3"
+LOCALCONF_VERSION = "4"
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
@@ -11,4 +11,4 @@ BBFILE_PATTERN_wht = ""
BBFILE_PRIORITY_wht = "7"
LAYERSERIES_COMPAT_wht = "warrior"
-PRODUCT_GENERATION_pn-os-release = "wht"
+PRODUCT_GENERATION = "wht" \ No newline at end of file
diff --git a/meta-openbmc-mods/meta-wht/conf/local.conf.sample b/meta-openbmc-mods/meta-wht/conf/local.conf.sample
index 31b18a76e..f92bf8b33 100644
--- a/meta-openbmc-mods/meta-wht/conf/local.conf.sample
+++ b/meta-openbmc-mods/meta-wht/conf/local.conf.sample
@@ -7,6 +7,12 @@ SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
+
+# PFR image Build
+# Before exporting the conf, please uncomment the below line
+# for building Intel PFR compliant images.
+#IMAGE_FSTYPES += "intel-pfr"
+
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
@@ -16,5 +22,8 @@ BB_DISKMON_DIRS = "\
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
-CONF_VERSION = "3"
+CONF_VERSION = "4"
#BB_NUMBER_THREADS = "70"
+
+FULL_OPTIMIZATION = "-Os -pipe ${DEBUG_FLAGS}"
+require conf/distro/include/security_flags.inc
diff --git a/meta-openbmc-mods/meta-wolfpass/conf/conf-notes.txt b/meta-openbmc-mods/meta-wolfpass/conf/conf-notes.txt
index 558487db6..91059a72d 100644
--- a/meta-openbmc-mods/meta-wolfpass/conf/conf-notes.txt
+++ b/meta-openbmc-mods/meta-wolfpass/conf/conf-notes.txt
@@ -1,5 +1,6 @@
Common targets are:
intel-platforms
obmc-phosphor-image
+ qemu-helper-native
virtual/kernel
phosphor-ipmi-host
diff --git a/meta-openbmc-mods/meta-wolfpass/conf/layer.conf b/meta-openbmc-mods/meta-wolfpass/conf/layer.conf
index 711850f6d..db27b43dc 100644
--- a/meta-openbmc-mods/meta-wolfpass/conf/layer.conf
+++ b/meta-openbmc-mods/meta-wolfpass/conf/layer.conf
@@ -11,4 +11,4 @@ BBFILE_PATTERN_wolfpass = ""
BBFILE_PRIORITY_wolfpass = "7"
LAYERSERIES_COMPAT_wolfpass = "warrior"
-PRODUCT_GENERATION_pn-os-release = "prl"
+PRODUCT_GENERATION = "prl"
diff --git a/meta-openbmc-mods/meta-wolfpass/conf/local.conf.sample b/meta-openbmc-mods/meta-wolfpass/conf/local.conf.sample
index 31b18a76e..0d8c780f3 100644
--- a/meta-openbmc-mods/meta-wolfpass/conf/local.conf.sample
+++ b/meta-openbmc-mods/meta-wolfpass/conf/local.conf.sample
@@ -18,3 +18,6 @@ BB_DISKMON_DIRS = "\
ABORT,/tmp,10M,1K"
CONF_VERSION = "3"
#BB_NUMBER_THREADS = "70"
+
+FULL_OPTIMIZATION = "-Os -pipe ${DEBUG_FLAGS}"
+require conf/distro/include/security_flags.inc
diff --git a/meta-openembedded/.gitignore b/meta-openembedded/.gitignore
index b093583d7..c01df45ec 100644
--- a/meta-openembedded/.gitignore
+++ b/meta-openembedded/.gitignore
@@ -1,3 +1,5 @@
+*.pyc
+*.pyo
/*.patch
*.swp
*.orig
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index 8628bea0b..7ecae4c1c 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -19,7 +19,7 @@ SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \
file://0001-define-loff_t-if-not-already-defined.patch \
"
-SRCREV = "3439fa4e60dd9799766b2c101f799ed9e565b632"
+SRCREV = "b4ce1bb1b46accb1619dc07164ef6945feded9db"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
index caa75c7f5..c83e7f6d3 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.8.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
@@ -16,8 +16,8 @@ SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.
file://0001-fuse-fix-the-return-value-of-help-option.patch \
file://fuse.conf \
"
-SRC_URI[md5sum] = "f365e848a82504edb0b7a33df790ca78"
-SRC_URI[sha256sum] = "5e84f81d8dd527ea74f39b6bc001c874c02bad6871d7a9b0c14efb57430eafe3"
+SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312"
+SRC_URI[sha256sum] = "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5"
UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>2(\.\d+)+).tar.gz"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
index 231da806c..b5071aea6 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch
@@ -1,4 +1,4 @@
-From f8a22f16c03e51d3c779b12f37d362faaa0ecf31 Mon Sep 17 00:00:00 2001
+From 1a4c9ebbb8731f2e3631d77b7eeaf3c373141d88 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 31 Jan 2018 21:28:53 -0800
Subject: [PATCH] build: Check for sync_file_range libc function
@@ -16,10 +16,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
4 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/include/builddefs.in b/include/builddefs.in
-index b895949..a388c83 100644
+index d38dc7e..706eca6 100644
--- a/include/builddefs.in
+++ b/include/builddefs.in
-@@ -95,6 +95,7 @@ HAVE_FIEMAP = @have_fiemap@
+@@ -94,6 +94,7 @@ HAVE_FIEMAP = @have_fiemap@
HAVE_PREADV = @have_preadv@
HAVE_PWRITEV2 = @have_pwritev2@
HAVE_COPY_FILE_RANGE = @have_copy_file_range@
@@ -28,11 +28,11 @@ index b895949..a388c83 100644
HAVE_SYNCFS = @have_syncfs@
HAVE_READDIR = @have_readdir@
diff --git a/io/Makefile b/io/Makefile
-index 00ede48..dd001b0 100644
+index 484e2b5..2751dcb 100644
--- a/io/Makefile
+++ b/io/Makefile
-@@ -60,10 +60,13 @@ CFILES += inject.c resblks.c
- LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS
+@@ -53,10 +53,13 @@ else
+ LSRCFILES += fiemap.c
endif
-ifeq ($(HAVE_COPY_FILE_RANGE),yes)
@@ -47,10 +47,10 @@ index 00ede48..dd001b0 100644
ifeq ($(HAVE_SYNC_FILE_RANGE),yes)
CFILES += sync_file_range.c
diff --git a/io/io.h b/io/io.h
-index e1f3d95..fe2e6a2 100644
+index 6469179..678b3d7 100644
--- a/io/io.h
+++ b/io/io.h
-@@ -151,7 +151,7 @@ extern void fiemap_init(void);
+@@ -146,7 +146,7 @@ extern void fiemap_init(void);
#define fiemap_init() do { } while (0)
#endif
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch
deleted file mode 100644
index c07b4b50b..000000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2bd40e5ed4df0b0a42beff8806b1ec5daa372c48 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Thu, 19 Jul 2018 16:49:41 +0800
-Subject: [PATCH] Disable xfs_scrub build
-
-Disable xfs_scrub build since it is experimental.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 7ddfa31..cd60319 100644
---- a/Makefile
-+++ b/Makefile
-@@ -48,7 +48,7 @@ LIBFROG_SUBDIR = libfrog
- DLIB_SUBDIRS = libxlog libxcmd libhandle
- LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS)
- TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \
-- mdrestore repair rtcp m4 man doc debian spaceman scrub
-+ mdrestore repair rtcp m4 man doc debian spaceman
-
- ifneq ("$(PKG_PLATFORM)","darwin")
- TOOL_SUBDIRS += fsr
---
-2.7.4
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb
index 88603db80..188c56680 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb
@@ -9,12 +9,11 @@ DEPENDS = "util-linux util-linux-native"
SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
file://remove_flags_from_build_flags.patch \
file://0001-build-Check-for-sync_file_range-libc-function.patch \
- file://disable-xfs_scrub-build.patch \
file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \
file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
"
-SRC_URI[md5sum] = "5f80b631b68df89a8b9283307e96d2e8"
-SRC_URI[sha256sum] = "397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1"
+SRC_URI[md5sum] = "b6acc4aa93a952595fc8f2e7447be6f2"
+SRC_URI[sha256sum] = "fcc2e6478aed55408a341567c0459f514e575296d8827d9004cae8aa0367dc4a"
inherit autotools-brokensep
@@ -31,6 +30,7 @@ FILES_${PN}-repair = "${base_sbindir}/xfs_repair"
FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
EXTRA_OECONF = "--enable-gettext=no \
+ --enable-scrub=no \
INSTALL_USER=root \
INSTALL_GROUP=root \
ac_cv_header_aio_h=yes \
@@ -67,4 +67,7 @@ do_install_append() {
oe_runmake 'DESTDIR=${D}' install-dev
rm ${D}${libdir}/*.la
rmdir --ignore-fail-on-non-empty ${D}${libdir}
+
+ ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a
+ ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so
}
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb
index 7181f5ecf..80aafc870 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb
@@ -2,7 +2,7 @@ SUMMARY = "GTK+ applet for NetworkManager"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "gtk+3 libnotify libsecret networkmanager dbus-glib \
+DEPENDS = "gtk+3 libnotify libsecret networkmanager \
gconf libgnome-keyring iso-codes nss \
intltool-native \
"
@@ -34,14 +34,13 @@ do_configure_append() {
GI_DATA_ENABLED_libc-musl = "False"
do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs:${B}/src/libnm-gtk/.libs"
+ export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs"
}
RDEPENDS_${PN} =+ "networkmanager"
FILES_${PN} += " \
${datadir}/nm-applet/ \
- ${datadir}/libnm-gtk/wifi.ui \
${datadir}/libnma/wifi.ui \
${datadir}/metainfo \
"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
deleted file mode 100644
index 1abb5bbcd..000000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# networkmanager-applet requires glib support
-PACKAGECONFIG_append = " glib"
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch
new file mode 100644
index 000000000..13d2cfa87
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut/0001-set-viriable-_drv-not-local.patch
@@ -0,0 +1,69 @@
+From 6e0da103effe64832eea52fad5c44a328f7141b7 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jun 2019 17:31:11 +0800
+Subject: [PATCH] set viriable _drv not local
+
+If shebang is set to /bin/sh and /bin/sh is a symlink to /bin/bash,
+bash turn on posix mode.
+
+Since bash is upgraded to 5.0, it follows 'IEEE 1003.2 POSIX Shell
+Standard', to implement 'functions do not have local traps or options,
+and it is not possible to define local variables'
+
+For more detail, see variables.c:push_posix_temp_var in the following commit
+http://git.savannah.gnu.org/cgit/bash.git/commit/?id=d233b485e83c3a784b803fb894280773f16f2deb
+
+The IEEE 1003.2 POSIX Shell Standard:
+https://www.cs.ait.ac.th/~on/O/oreilly/unix/ksh/appa_02.htm
+
+While /bin/sh points to bash 5.0, it caused the following issue:
+
+$ cat <<ENDOF>case.sh
+fsck_drv_com(){
+ echo "issuing \$_drv"
+}
+
+fsck_able() {
+ _drv="_drv=e2fsck fsck_drv_com"
+}
+
+fsck_single() {
+ local _drv
+ fsck_able
+ eval "\$_drv"
+}
+fsck_single
+ENDOF
+$ chmod a+x case.sh
+
+Unexpected:
+$ ./cash.sh
+issuing _drv=e2fsck fsck_drv_com
+
+Set viriable _drv not local, get expected result:
+$ ./case.sh
+issuing e2fsck
+
+Upstream-Status: Submitted [https://github.com/dracutdevs/dracut/pull/587]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ modules.d/99fs-lib/fs-lib.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
+index d39ca1b..60877ee 100755
+--- a/modules.d/99fs-lib/fs-lib.sh
++++ b/modules.d/99fs-lib/fs-lib.sh
+@@ -142,7 +142,7 @@ fsck_single() {
+ local _fs="${2:-auto}"
+ local _fsopts="$3"
+ local _fop="$4"
+- local _drv
++ _drv=""
+
+ [ $# -lt 2 ] && return 255
+ # if UUID= marks more than one device, take only the first one
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index 344dfecbb..13cf5f6de 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -13,6 +13,7 @@ SRCREV = "225e4b94cbdb702cf512490dcd2ad9ca5f5b22c1"
SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git;protocol=http \
file://0001-util.h-include-sys-reg.h-when-libc-glibc.patch \
file://0001-dracut.sh-improve-udevdir.patch \
+ file://0001-set-viriable-_drv-not-local.patch \
"
DEPENDS += "kmod"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
index 2aa7ccebf..3f491181d 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
@@ -7,7 +7,6 @@ SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35"
SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \
file://dvb-scan-table \
file://0001-Fix-generate-keynames.patch \
- file://0002-Fix-compiler-warning-flags.patch \
file://0003-handle-static-shared-only-build.patch \
file://0004-Makefile-remove-test.patch \
file://0005-libucsi-optimization-removal.patch \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch
deleted file mode 100644
index 9c6276beb..000000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0002-Fix-compiler-warning-flags.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9b8f1df41f7579da63c27763ff184d351e4c7fef Mon Sep 17 00:00:00 2001
-From: Simon Dawson <spdawson@gmail.com>
-Date: Sun, 4 Jan 2015 12:06:18 +0100
-Subject: [PATCH] Fix compiler warning flags
-
- When building for bfin, the build fails as follows.
-
- cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat"
-
-An example of an autobuild failure arising from this is the following.
-
- http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/
- http://autobuild.buildroot.net/results/6e7/6e7b48ad9768349d983985c3067c4267cde80541/
-
-Clearly, not all toolchains provide a gcc that understands
-the -Wno-packed-bitfield-compat flag; remove usage of this flag.
-
-Wno-packed-bitfield-compat option was added in gcc 4.4.
-
-[Romain:
- - This patch is also needed for bfin toolchains which use gcc 4.3.5
- - Add a link to bfin build failure]
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-Signed-off-by: Romain Naour <romain.naour@openwide.fr>
----
- util/scan/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/util/scan/Makefile b/util/scan/Makefile
-index d48c478..88667c5 100644
---- a/util/scan/Makefile
-+++ b/util/scan/Makefile
-@@ -14,7 +14,7 @@ inst_bin = $(binaries)
-
- removing = atsc_psip_section.c atsc_psip_section.h
-
--CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES
-+CPPFLAGS += -D__KERNEL_STRICT_NAMES
-
- .PHONY: all
-
---
-1.9.3
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
index 44c46f81e..e2f028ac5 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb
@@ -23,6 +23,7 @@ COMPATIBLE_MACHINE_mips = "(.*)"
COMPATIBLE_MACHINE_mips64 = "(.*)"
EXTRA_OEMAKE_armv7a = "ARCH=arm"
+EXTRA_OEMAKE_armv7ve = "ARCH=arm"
EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
EXTRA_OEMAKE_x86 = "ARCH=i386"
EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
index d3ab5b71c..6c868185f 100644
--- a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
@@ -11,6 +11,8 @@ SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https;branch=1_6_x_thrott
file://0001-Rename-conflicting-variable-mips.patch \
"
-inherit autotools
+inherit autotools pkgconfig
+
+EXTRA_OEMAKE += "shared_library"
ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch
deleted file mode 100644
index fb16ecbf9..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 8ea2ee451a1af7c5b5c8f4b36c1f77d44442064d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Sep 2018 13:02:35 -0700
-Subject: [PATCH] Fix error: call of overloaded distance is ambiguous
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The boost::iterators::distance function template is an adapted version
-of std::distance for the Boost iterator traversal in 2.68 it has started
-to fail with argument dependent lookup and compiler is erroring out
-
-with
-
-error: call of overloaded ‘distance'
-
-boost implementation of distance is protected against being found by ADL
-
-The way function is called in libdhcp means it will be found via ADL and
-all namespaces will be considered which is providing problematic since
-its getting it from both std:: and boost:: namespaces
-
-so let it not rely on ADL by qualifying then calls with std:: namespace
-
-Upstream-Status: Submitted [https://github.com/isc-projects/kea/pull/103]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/dhcp/libdhcp++.cc | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc
-index 330c02b..ced705d 100644
---- a/src/lib/dhcp/libdhcp++.cc
-+++ b/src/lib/dhcp/libdhcp++.cc
-@@ -419,14 +419,14 @@ size_t LibDHCP::unpackOptions6(const OptionBuffer& buf,
- // We previously did the lookup only for dhcp6 option space, but with the
- // addition of S46 options, we now do it for every space.
- range = idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
-
- // Standard option definitions do not include the definition for
- // our option or we're searching for non-standard option. Try to
- // find the definition among runtime option definitions.
- if (num_defs == 0) {
- range = runtime_idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
- }
-
- OptionPtr opt;
-@@ -538,14 +538,14 @@ size_t LibDHCP::unpackOptions4(const OptionBuffer& buf,
- // may be standard options in other spaces (e.g. radius). So we now do
- // the lookup for every space.
- range = idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
-
- // Standard option definitions do not include the definition for
- // our option or we're searching for non-standard option. Try to
- // find the definition among runtime option definitions.
- if (num_defs == 0) {
- range = runtime_idx.equal_range(opt_type);
-- num_defs = distance(range.first, range.second);
-+ num_defs = std::distance(range.first, range.second);
- }
-
- // Check if option unpacking must be deferred
-@@ -638,7 +638,7 @@ size_t LibDHCP::unpackVendorOptions6(const uint32_t vendor_id,
- idx->equal_range(opt_type);
- // Get the number of returned option definitions for the
- // option code.
-- size_t num_defs = distance(range.first, range.second);
-+ size_t num_defs = std::distance(range.first, range.second);
-
- if (num_defs > 1) {
- // Multiple options of the same code are not supported
-@@ -746,7 +746,7 @@ size_t LibDHCP::unpackVendorOptions4(const uint32_t vendor_id, const OptionBuffe
- idx->equal_range(opt_type);
- // Get the number of returned option definitions for
- // the option code.
-- size_t num_defs = distance(range.first, range.second);
-+ size_t num_defs = std::distance(range.first, range.second);
-
- if (num_defs > 1) {
- // Multiple options of the same code are not
---
-2.18.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch
new file mode 100644
index 000000000..d7ca9ff8f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0001-remove-AC_TRY_RUN.patch
@@ -0,0 +1,34 @@
+From 9d6b8321c5b46199baca907f3d42bdcaaf1958a8 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 23 May 2019 23:59:42 -0700
+Subject: [PATCH] remove AC_TRY_RUN
+
+AC_TRY_RUN doesn't work in cross compile env,
+use AC_COMPILE_IFELSE instead to fix below configure
+error:
+ | checking for usuable C++11 regex... configure: error: in `/builddir/tmp/work/core2-64-poky-linux/kea/1.5.0-r0/build':
+ | configure: error: cannot run test program while cross compiling
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c880b77..dd40c7c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -580,7 +580,7 @@ AC_TRY_COMPILE([
+ AC_MSG_RESULT(no))
+
+ AC_MSG_CHECKING(for usuable C++11 regex)
+-AC_TRY_RUN([
++AC_COMPILE_IFELSE([
+ #include <regex>
+ #include <iostream>
+ int main() {
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb
index 67de07b31..fb166df60 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.4.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb
@@ -3,26 +3,36 @@ DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It
HOMEPAGE = "http://kea.isc.org"
SECTION = "connectivity"
LICENSE = "MPL-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1666a9c4bb55adbc8939d85643096bd3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2ed44ce4e0bbfdc1abfa6bf949b7ba3a"
DEPENDS += "kea-native"
SRC_URI = "\
http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
file://0003-Makefile.am-update-hooksdir-for-lease_cmds.patch \
- file://0001-Fix-error-call-of-overloaded-distance-is-ambiguous.patch \
+ file://0001-remove-AC_TRY_RUN.patch \
file://kea-dhcp4.service \
file://kea-dhcp6.service \
file://kea-dhcp-ddns.service \
"
-SRC_URI[md5sum] = "26eedd749101642757d788431605aaa5"
-SRC_URI[sha256sum] = "c0f8ecb93657adfc5ab970c91706754e601084828493f053f159661d21b31128"
+SRC_URI[md5sum] = "591d38e5fcc0251a8812e8bb1337578a"
+SRC_URI[sha256sum] = "edce4fab68ca7af607cf7f5bc86596e04fe0ef4b8e88906e339cdefcf21daaec"
inherit autotools systemd
SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service kea-dhcp-ddns.service"
SYSTEMD_AUTO_ENABLE = "disable"
+DEBUG_OPTIMIZATION_remove_mips = " -Og"
+DEBUG_OPTIMIZATION_append_mips = " -O"
+BUILD_OPTIMIZATION_remove_mips = " -Og"
+BUILD_OPTIMIZATION_append_mips = " -O"
+
+DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
+DEBUG_OPTIMIZATION_append_mipsel = " -O"
+BUILD_OPTIMIZATION_remove_mipsel = " -Og"
+BUILD_OPTIMIZATION_append_mipsel = " -O"
+
do_configure_prepend_class-target() {
mkdir -p ${B}/src/lib/log/compiler/
ln -sf ${STAGING_BINDIR_NATIVE}/kea-msg-compiler ${B}/src/lib/log/compiler/kea-msg-compiler
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch
deleted file mode 100644
index e99c22710..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 22 Mar 2018 18:18:06 +0100
-Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of
- LD_LIBS="none required"
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Stolen from [1] and prettyfied slightly
-
-[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 487a266..96ae4f7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -235,6 +235,7 @@ dnl
- dnl Checks for libdl - on certain platforms its part of libc
- dnl
- AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
-+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""])
- AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
-
- PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],
---
-2.14.3
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
index accd2f256..af6f938ce 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
@@ -1,7 +1,7 @@
-From 7b09945585e6ce65049fa4039f26caee8daa44b9 Mon Sep 17 00:00:00 2001
+From a89c2e6d40606f563467a83fb98933e990e71377 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 2 Apr 2019 01:34:35 +0200
-Subject: [PATCH 1/2] Fix build with musl - systemd specific
+Subject: [PATCH] Fix build with musl - systemd specific
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -14,27 +14,27 @@ Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
shared/systemd/src/basic/in-addr-util.c | 1 +
- shared/systemd/src/basic/process-util.c | 9 ++++++++
- shared/systemd/src/basic/socket-util.h | 6 +++++
+ shared/systemd/src/basic/process-util.c | 9 +++++++++
+ shared/systemd/src/basic/socket-util.h | 6 ++++++
+ shared/systemd/src/basic/sort-util.h | 27 ++++---------------------
shared/systemd/src/basic/stdio-util.h | 2 ++
shared/systemd/src/basic/string-util.h | 5 +++++
- shared/systemd/src/basic/util.h | 29 +++++--------------------
- 6 files changed, 28 insertions(+), 24 deletions(-)
+ 6 files changed, 27 insertions(+), 23 deletions(-)
diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c
-index 5ced350..c6b52b8 100644
+index 5899f62..0adb248 100644
--- a/shared/systemd/src/basic/in-addr-util.c
+++ b/shared/systemd/src/basic/in-addr-util.c
-@@ -13,6 +13,7 @@
+@@ -14,6 +14,7 @@
#include "in-addr-util.h"
#include "macro.h"
#include "parse-util.h"
+#include "string-util.h"
+ #include "random-util.h"
+ #include "strxcpyx.h"
#include "util.h"
-
- bool in4_addr_is_null(const struct in_addr *a) {
diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c
-index b0afb5c..7adc8bd 100644
+index 7431be3..189060a 100644
--- a/shared/systemd/src/basic/process-util.c
+++ b/shared/systemd/src/basic/process-util.c
@@ -21,6 +21,9 @@
@@ -47,7 +47,7 @@ index b0afb5c..7adc8bd 100644
#if 0 /* NM_IGNORED */
#if HAVE_VALGRIND_VALGRIND_H
#include <valgrind/valgrind.h>
-@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) {
+@@ -1183,11 +1186,13 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
@@ -61,7 +61,7 @@ index b0afb5c..7adc8bd 100644
pid_t getpid_cached(void) {
static bool installed = false;
-@@ -1201,7 +1206,11 @@ pid_t getpid_cached(void) {
+@@ -1216,7 +1221,11 @@ pid_t getpid_cached(void) {
* only half-documented (glibc doesn't document it but LSB does — though only superficially)
* we'll check for errors only in the most generic fashion possible. */
@@ -74,7 +74,7 @@ index b0afb5c..7adc8bd 100644
cached_pid = CACHED_PID_UNSET;
return new_pid;
diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
-index d2246a8..76f257f 100644
+index 15443f1..4807198 100644
--- a/shared/systemd/src/basic/socket-util.h
+++ b/shared/systemd/src/basic/socket-util.h
@@ -13,6 +13,12 @@
@@ -90,55 +90,13 @@ index d2246a8..76f257f 100644
#include "macro.h"
#include "missing_socket.h"
#include "sparse-endian.h"
-diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
-index dc67b6e..6336243 100644
---- a/shared/systemd/src/basic/stdio-util.h
-+++ b/shared/systemd/src/basic/stdio-util.h
-@@ -1,7 +1,9 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
- #pragma once
+diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
+index e029f86..1e8b6e1 100644
+--- a/shared/systemd/src/basic/sort-util.h
++++ b/shared/systemd/src/basic/sort-util.h
+@@ -5,15 +5,10 @@
-+#if defined(__GLIBC__)
- #include <printf.h>
-+#endif
- #include <stdarg.h>
- #include <stdio.h>
- #include <sys/types.h>
-diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h
-index 38070ab..6b918e0 100644
---- a/shared/systemd/src/basic/string-util.h
-+++ b/shared/systemd/src/basic/string-util.h
-@@ -27,6 +27,11 @@
- #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
- #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
-
-+/* musl does not know strndupa */
-+#if !defined(__GLIBC__)
-+#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
-+#endif
-+
- int strcmp_ptr(const char *a, const char *b) _pure_;
-
- static inline bool streq_ptr(const char *a, const char *b) {
-diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h
-index dc33d66..cc768e9 100644
---- a/shared/systemd/src/basic/util.h
-+++ b/shared/systemd/src/basic/util.h
-@@ -27,6 +27,11 @@
#include "macro.h"
- #include "time-util.h"
-
-+#if !defined(__GLIBC__)
-+typedef int (*__compar_fn_t) (const void*, const void*);
-+typedef __compar_fn_t comparison_fn_t;
-+#endif
-+
- size_t page_size(void) _pure_;
- #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
-
-@@ -66,16 +71,6 @@ int prot_from_flags(int flags) _const_;
- bool in_initrd(void);
- void in_initrd_force(bool value);
-void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
- __compar_d_fn_t compar, void *arg);
@@ -149,14 +107,18 @@ index dc33d66..cc768e9 100644
- int (*_func_)(const typeof(b[0])*, const typeof(b[0])*, typeof(userdata)) = func; \
- xbsearch_r((const void*) _k, (b), (n), sizeof((b)[0]), (__compar_d_fn_t) _func_, userdata); \
- })
--
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
+
/**
* Normal bsearch requires base to be nonnull. Here were require
- * that only if nmemb > 0.
-@@ -116,20 +111,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+@@ -54,17 +49,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+ int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
})
-
+-
-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
- if (nmemb <= 1)
- return;
@@ -170,10 +132,36 @@ index dc33d66..cc768e9 100644
- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
- })
--
- /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */
- static inline void memcpy_safe(void *dst, const void *src, size_t n) {
- if (n == 0)
+diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
+index c3b9448..e80a938 100644
+--- a/shared/systemd/src/basic/stdio-util.h
++++ b/shared/systemd/src/basic/stdio-util.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+
++#if defined(__GLIBC__)
+ #include <printf.h>
++#endif
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h
+index b23f4c8..8f2f6e0 100644
+--- a/shared/systemd/src/basic/string-util.h
++++ b/shared/systemd/src/basic/string-util.h
+@@ -27,6 +27,11 @@
+ #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
+ #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
+
++/* musl does not know strndupa */
++#if !defined(__GLIBC__)
++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
++#endif
++
+ int strcmp_ptr(const char *a, const char *b) _pure_;
+
+ static inline bool streq_ptr(const char *a, const char *b) {
--
-2.20.1
+2.17.1
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
index 25f9a4a00..e0973af1e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch
@@ -1,4 +1,4 @@
-From 0b0f2d5abe27b2c9587f449795f0ae3568fc3e38 Mon Sep 17 00:00:00 2001
+From 3d1307735667758f44378585482fe421db086af8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 8 Apr 2019 23:10:43 +0200
Subject: [PATCH 2/2] Fix build with musl
@@ -23,7 +23,7 @@ The build issues caused by definition conflicts musl vs linux-libc headers
Note:
Be aware that this is still nasty business: We have to trust that musl headers
define same signatures as linux would do - just because musl-makers consider
-linux-libc headers 'notoriously broken for userspace' [2] (search for
+linux-libc headers 'notoriously broken for userspace' [2] (search for
'error: redefinition of').
[1] http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280440.html
@@ -53,7 +53,7 @@ index 43fbbc1..3eae286 100644
#include "nmtui.h"
diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
-index 2b5baba..8a50131 100644
+index 2b5baba..f7abab6 100644
--- a/libnm-core/nm-utils.h
+++ b/libnm-core/nm-utils.h
@@ -25,6 +25,10 @@
@@ -68,7 +68,7 @@ index 2b5baba..8a50131 100644
#include <netinet/in.h>
diff --git a/shared/nm-default.h b/shared/nm-default.h
-index 26d6476..b29e8af 100644
+index 54e9916..26e9f4e 100644
--- a/shared/nm-default.h
+++ b/shared/nm-default.h
@@ -211,6 +211,9 @@
@@ -82,7 +82,7 @@ index 26d6476..b29e8af 100644
/*****************************************************************************/
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
-index 7514fa7..d305fa5 100644
+index bd4fbcc..f70b309 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -24,6 +24,7 @@
@@ -102,17 +102,17 @@ index 7514fa7..d305fa5 100644
#include <linux/pkt_sched.h>
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
-index 2f5c75b..d6ca6d9 100644
+index d4b0115..22a3a90 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
-@@ -27,7 +27,6 @@
- #include <fcntl.h>
+@@ -28,7 +28,6 @@
#include <libudev.h>
+ #include <linux/fib_rules.h>
#include <linux/ip.h>
-#include <linux/if_arp.h>
+ #include <linux/if_bridge.h>
#include <linux/if_link.h>
#include <linux/if_tun.h>
- #include <linux/if_tunnel.h>
--
-2.20.1
+2.17.1
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb
index 9f01f1bc1..9215a8676 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb
@@ -26,15 +26,13 @@ SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
file://0002-Do-not-create-settings-settings-property-documentati.patch \
- file://0003-dlopen-failure.patch \
"
SRC_URI_append_libc-musl = " \
file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
file://musl/0002-Fix-build-with-musl.patch \
"
-
-SRC_URI[md5sum] = "10abacaafb162a67d2942adf03e7e9e4"
-SRC_URI[sha256sum] = "8e962833b6ca03edda1bc57ed6614a7b8c2339531b44acef098d05f2324c5d2c"
+SRC_URI[md5sum] = "c8c27116a8083bab5d5fcca0d03e988a"
+SRC_URI[sha256sum] = "c6e8df25e5a3c7309bc17664be8971689314884cdd08afdd6b0847d29d2a8ba6"
UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/"
UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb
index 050a2833c..ec36a375a 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.03.bb
@@ -3,7 +3,7 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad"
SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git"
-SRCREV = "6487ee8763e1b6345718684909aca970befbc49d"
+SRCREV = "ea73851969ae7a6ea54fdd2d2b8c94776af24b2a"
DEPENDS = "vpnc libxml2 krb5 gettext-native"
RDEPENDS_${PN} = "bash python"
@@ -18,8 +18,6 @@ PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy,"
# not config defaults
PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite,"
-PV = "8.02"
-
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb
index 8c08d1ed3..762a5bc61 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb
@@ -30,8 +30,8 @@ SRC_URI_append_libc-musl = " \
file://cmocka-uintptr_t.patch \
"
-SRC_URI[md5sum] = "de61611075e97ea98140a42d9189d9a5"
-SRC_URI[sha256sum] = "d294a8d7455d7d252d7bafc9c474855ea6e0ebe559c3babcd303a5c24e58710a"
+SRC_URI[md5sum] = "25de700c8f1148fd13973a49a51c059e"
+SRC_URI[sha256sum] = "c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f"
UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.8(\.\d+)+).tar.gz"
@@ -41,6 +41,9 @@ RDEPENDS_${PN}_remove = "perl"
DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libbsd libaio libpam"
+RCONFLICTS_${PN} = "libldb"
+RCONFLICTS_${PN}-python = "pyldb"
+
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch
index 037962fb6..30ec17439 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/disable-run-test-program-while-cross-compiling.patch
@@ -226,7 +226,7 @@ index 4b3a5db..a6c5498 100644
-]])],
-[have_daq_packet_trace="yes"],
-[have_daq_packet_trace="no"])
-+have_daq_packet_trace="yes"
++have_daq_packet_trace="no"
AC_MSG_RESULT($have_daq_packet_trace)
if test "x$have_daq_packet_trace" = "xyes"; then
AC_DEFINE([HAVE_DAQ_PKT_TRACE],[1],
@@ -245,7 +245,7 @@ index 4b3a5db..a6c5498 100644
-]])],
-[have_daq_verdict_reason="yes"],
-[have_daq_verdict_reason="no"])
-+have_daq_verdict_reason="yes"
++have_daq_verdict_reason="no"
AC_MSG_RESULT($have_daq_verdict_reason)
if test "x$have_daq_verdict_reason" = "xyes"; then
AC_DEFINE([HAVE_DAQ_VERDICT_REASON],[1],
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init
index d8a00c43f..0d90c9af0 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/snort.init
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Snort Startup Script modified for OpenEmbedded
+# Snort Startup Script modified for OpenEmbedded
#
# Script variables
@@ -30,16 +30,16 @@ fi
start()
{
-
[ -n "$LAN_INTERFACE" ] || return 0
# Check if log diratory is present. Otherwise, create it.
if [ ! -d $LOGDIR/$DATE ]; then
- mkdir -d $LOGDIR/$DATE
+ mkdir -p $LOGDIR/$DATE
/bin/chown -R $USER:$USER $LOGDIR/$DATE
- /bin/chmod -R 700 $LOGDIR/$DATE
+ /bin/chmod -R 700 $LOGDIR/$DATE
fi
/bin/echo "Starting $PROG: "
+
# Snort parameters
# -D Run Snort in background (daemon) mode
# -i <if> Listen on interface <if>
@@ -64,7 +64,7 @@ stop()
RETURN_VAL=$?
/bin/echo "$PROG shutdown complete."
[ -e $DEL_PID ] && rm -f $DEL_PID
- [ -e $DEL_PID.lck ] && rm -f $DEL_PID.lck
+ [ -e $DEL_PID.lck ] && rm -f $DEL_PID.lck
else
/bin/echo "ERROR: PID in $PID file not found."
RETURN_VAL=1
@@ -72,12 +72,13 @@ stop()
return $RETURN_VAL
}
-status() {
- if [ -s $PID ]; then
- echo "$PROG is running as pid `cat $PID`:"
- else
- echo "$PROG is not running."
- fi
+status()
+{
+ if [ -s $PID ]; then
+ echo "$PROG is running as pid `cat $PID`:"
+ else
+ echo "$PROG is not running."
+ fi
}
restart()
@@ -89,21 +90,21 @@ restart()
}
case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- status
- ;;
- restart|reload)
- restart
- ;;
- *)
- /bin/echo "Usage: $0 {start|stop|status|restart|reload}"
- RETURN_VAL=1
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ /bin/echo "Usage: $0 {start|stop|status|restart|reload}"
+ RETURN_VAL=1
esac
exit $RETURN_VAL
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb
index c2eb95fe7..1b10dbde1 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb
@@ -13,8 +13,8 @@ SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
file://disable-run-test-program-while-cross-compiling.patch \
"
-SRC_URI[md5sum] = "378e3938b2b5c8e358f942d0ffce18cc"
-SRC_URI[sha256sum] = "9f6b3aeac5a109f55504bd370564ac431cb1773507929dc461626898f33f46cd"
+SRC_URI[md5sum] = "b61ae846af022018b05511076baad60c"
+SRC_URI[sha256sum] = "31447393d15286b848810dd78ab2cb3ad231fcd1f1663f959587690eeea75413"
UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -45,6 +45,7 @@ EXTRA_OECONF = " \
PACKAGECONFIG ?= "openssl lzma"
PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl,"
PACKAGECONFIG[lzma] = "--with-lzma-includes=${STAGING_INCDIR} --with-lzma-libraries=${STAGING_LIBDIR}, --without-lzma-includes --without-lzma-libraries, xz,"
+PACKAGECONFIG[appid] = "--enable-open-appid, --disable-open-appid, luajit, bash"
CFLAGS += "-I${STAGING_INCDIR}/tirpc"
LDFLAGS += " -ltirpc"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch
deleted file mode 100644
index 8e5f4da36..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-Add-format-string-to-fprintf-call.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a0ad5128d14b022239445e251cf4a9826e86aa96 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 07:48:31 -0700
-Subject: [PATCH] Add format string to fprintf() call
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/vt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/vt.c b/src/vt.c
-index 795d393..a533d3d 100644
---- a/src/vt.c
-+++ b/src/vt.c
-@@ -499,7 +499,7 @@ static int vt_cmd_dump_candidates(const struct vt_handle *vh,
- }
- llen += cmdlen;
-
-- ret = fprintf(vh->vh_stream, e->cmd);
-+ ret = fprintf(vh->vh_stream, "%s", e->cmd);
- if (ret < 0)
- return ret;
-
---
-2.13.2
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch
deleted file mode 100644
index 153bced39..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From f567740cf64978ac9db014c786b6d0267b244f33 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Mar 2018 22:30:30 -0800
-Subject: [PATCH 1/2] replace SIGCLD with SIGCHLD and include sys/types.h
-
-Fixes
-main.c:129:10: error: 'SIGCLD' undeclared (first use in this function); did you mean 'SIGCHLD'?
- signal(SIGCLD, sig_child);
- ^~~~~~
- SIGCHLD
-
-main.c:125:2: warning: implicit declaration of function 'umask' [-Wimplicit-function-declaration]
- umask(0);
- ^~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/main.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-Index: git/src/main.c
-===================================================================
---- git.orig/src/main.c
-+++ git/src/main.c
-@@ -133,9 +133,9 @@ static void daemon_start(int ignsigcld)
-
- if (ignsigcld) {
- #ifdef SIGTSTP
-- signal(SIGCLD, sig_child);
-+ signal(SIGCHLD, sig_child);
- #else
-- signal(SIGCLD, SIG_IGN);
-+ signal(SIGCHLD, SIG_IGN);
- #endif
- }
- }
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch
deleted file mode 100644
index d8355e25f..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0001-support-openssl-1.1.x.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 62784e8b6df8ff3a907c1f816154808bea9d7064 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 25 Sep 2018 14:38:14 +0800
-Subject: [PATCH] support openssl 1.1.x
-
-Long time no maintain from upstream since 2013
-(git://git.umip.org/umip/umip.git), backport a
-fix from openSUSE
-
-Upstream-Status: Backport [openSUSE]
-http://ftp.gwdg.de/pub/opensuse/source/distribution/leap/15.0/repo/oss/src/mipv6d-2.0.2.umip.0.4-lp150.1.2.src.rpm
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/keygen.c | 12 ++++++++++++
- src/mh.c | 17 ++++++++++++++++-
- 2 files changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/src/keygen.c b/src/keygen.c
-index e434a38..b902644 100644
---- a/src/keygen.c
-+++ b/src/keygen.c
-@@ -172,6 +172,7 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce,
- uint8_t tmp[20];
- #ifdef HAVE_LIBCRYPTO
- unsigned int len = 20;
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
- HMAC_CTX ctx;
-
- HMAC_CTX_init(&ctx);
-@@ -182,6 +183,17 @@ static void build_kgen_token(struct in6_addr *addr, uint8_t *nonce,
- HMAC_Final(&ctx, tmp, &len);
- HMAC_CTX_cleanup(&ctx);
- #else
-+ HMAC_CTX *ctx;
-+ ctx = HMAC_CTX_new();
-+ HMAC_Init_ex(ctx, key_cn, sizeof(key_cn), EVP_sha1(), NULL);
-+ HMAC_Update(ctx, (unsigned char *)addr, sizeof(*addr));
-+ HMAC_Update(ctx, nonce, NONCE_LENGTH);
-+ HMAC_Update(ctx, &id, sizeof(id));
-+ HMAC_Final(ctx, tmp, &len);
-+ HMAC_CTX_free(ctx);
-+#endif // End of defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
-+
-+#else
- HMAC_SHA1_CTX ctx;
-
- HMAC_SHA1_init(&ctx, key_cn, sizeof(key_cn));
-diff --git a/src/mh.c b/src/mh.c
-index cba9a33..212eb5a 100644
---- a/src/mh.c
-+++ b/src/mh.c
-@@ -518,9 +518,10 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen,
-
- #ifdef HAVE_LIBCRYPTO
- unsigned int len = HMAC_SHA1_HASH_LEN;
-- HMAC_CTX ctx;
- const EVP_MD *evp_md = EVP_sha1();
-
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
-+ HMAC_CTX ctx;
- HMAC_CTX_init(&ctx);
- HMAC_Init_ex(&ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL);
-
-@@ -532,6 +533,20 @@ static int calculate_auth_data(const struct iovec *iov, int iovlen,
- HMAC_Final(&ctx, buf, &len);
- HMAC_CTX_cleanup(&ctx);
- #else
-+ HMAC_CTX *ctx;
-+ ctx = HMAC_CTX_new();
-+ HMAC_Init_ex(ctx, key, HMAC_SHA1_KEY_SIZE, evp_md, NULL);
-+
-+ HMAC_Update(ctx, (uint8_t *)coa, sizeof(*coa));
-+ HMAC_Update(ctx, (uint8_t *)cn, sizeof(*coa));
-+ for (i = 0; i < iovlen; i++) {
-+ HMAC_Update(ctx, (uint8_t *)iov[i].iov_base, iov[i].iov_len);
-+ }
-+ HMAC_Final(ctx, buf, &len);
-+ HMAC_CTX_free(ctx);
-+#endif
-+
-+#else
- HMAC_SHA1_CTX ctx;
-
- HMAC_SHA1_init(&ctx, key, HMAC_SHA1_KEY_SIZE);
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch
deleted file mode 100644
index 90d12da14..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 19b6cf8099e1974b5fc39086fc54103b0cbc2658 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Mar 2018 23:01:25 -0800
-Subject: [PATCH 2/2] replace PTHREAD_MUTEX_FAST_NP with PTHREAD_MUTEX_NORMAL
-
-PTHREAD_MUTEX_FAST_NP is not available on non-posix systems
-e.g. musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/ha.c | 2 +-
- src/icmp6.c | 2 +-
- src/mh.c | 2 +-
- src/mn.c | 2 +-
- src/movement.c | 2 +-
- src/mpdisc_ha.c | 2 +-
- src/mpdisc_mn.c | 2 +-
- src/tqueue.c | 2 +-
- src/tunnelctl.c | 2 +-
- 9 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/ha.c b/src/ha.c
-index fbdcff0..b2f811e 100644
---- a/src/ha.c
-+++ b/src/ha.c
-@@ -1246,7 +1246,7 @@ int ha_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&bu_worker_mutex, &mattrs) ||
- pthread_cond_init(&cond, NULL))
- return -1;
-diff --git a/src/icmp6.c b/src/icmp6.c
-index 3695135..6460634 100644
---- a/src/icmp6.c
-+++ b/src/icmp6.c
-@@ -243,7 +243,7 @@ int icmp6_init(void)
- return -1;
- /* create ICMP listener thread */
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&icmp6_sock.send_mutex, &mattrs) ||
- pthread_rwlock_init(&handler_lock, NULL) ||
- pthread_create(&icmp6_listener, NULL, icmp6_listen, NULL))
-diff --git a/src/mh.c b/src/mh.c
-index 60e345e..7928f4c 100644
---- a/src/mh.c
-+++ b/src/mh.c
-@@ -204,7 +204,7 @@ int mh_init(void)
- return -1;
-
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mh_sock.send_mutex, &mattrs) ||
- pthread_rwlock_init(&handler_lock, NULL) ||
- pthread_create(&mh_listener, NULL, mh_listen, NULL))
-diff --git a/src/mn.c b/src/mn.c
-index 092cfcb..8f7f448 100644
---- a/src/mn.c
-+++ b/src/mn.c
-@@ -1478,7 +1478,7 @@ static struct home_addr_info *hai_copy(struct home_addr_info *conf_hai)
- if (hai != NULL) {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
-
- memcpy(hai, conf_hai, sizeof(struct home_addr_info));
-
-diff --git a/src/movement.c b/src/movement.c
-index d985937..6400448 100644
---- a/src/movement.c
-+++ b/src/movement.c
-@@ -2013,7 +2013,7 @@ int md_init(void)
- int val;
-
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&iface_lock, &mattrs))
- return -1;
-
-diff --git a/src/mpdisc_ha.c b/src/mpdisc_ha.c
-index 40ba05f..fd7a90d 100644
---- a/src/mpdisc_ha.c
-+++ b/src/mpdisc_ha.c
-@@ -559,7 +559,7 @@ int mpd_ha_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mpa_lock, &mattrs) ||
- pthread_rwlock_init(&prefix_lock, NULL) ||
- hash_init(&mpa_hash, DOUBLE_ADDR, MPA_BUCKETS) < 0)
-diff --git a/src/mpdisc_mn.c b/src/mpdisc_mn.c
-index 4873bd6..ada02bd 100644
---- a/src/mpdisc_mn.c
-+++ b/src/mpdisc_mn.c
-@@ -267,7 +267,7 @@ int mpd_mn_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mps_lock, &mattrs))
- return -1;
- if (hash_init(&mps_hash, DOUBLE_ADDR, MPS_BUCKETS) < 0)
-diff --git a/src/tqueue.c b/src/tqueue.c
-index 2f7aa0b..9c185b8 100644
---- a/src/tqueue.c
-+++ b/src/tqueue.c
-@@ -65,7 +65,7 @@ int taskqueue_init(void)
- {
- pthread_mutexattr_t mattrs;
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&mutex, &mattrs) ||
- pthread_cond_init(&cond, NULL) ||
- pthread_create(&tq_runner, NULL, runner, NULL))
-diff --git a/src/tunnelctl.c b/src/tunnelctl.c
-index 23fc20b..813b8ec 100644
---- a/src/tunnelctl.c
-+++ b/src/tunnelctl.c
-@@ -433,7 +433,7 @@ int tunnelctl_init(void)
- return -1;
-
- pthread_mutexattr_init(&mattrs);
-- pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_FAST_NP);
-+ pthread_mutexattr_settype(&mattrs, PTHREAD_MUTEX_NORMAL);
- if (pthread_mutex_init(&tnl_lock, &mattrs))
- return -1;
-
---
-2.16.2
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch
deleted file mode 100644
index dbf008264..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/add-dependency-to-support-parallel-compilation.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-When "make -j10", the compilation will fail,
-because scan.c has included gram.h, but gram.h was produced
-after scan.c was compiled
-
-So add this dependency to ensure that gram.h is produced
-before scan.c is produced.
-
-Upstream-Status: Inappropriate [upstream is not active]
-
-Signed-off-by: Roy.Li <RongQing.Li@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- src/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -81,3 +81,5 @@ CLEANFILES = gram.c gram.h \
-
- DISTCLEANFILES = $(BUILT_SOURCES)
- MAINTAINERCLEANFILES = Makefile.in
-+
-+scan.c: gram.h
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d
deleted file mode 100755
index ebd70a6cc..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-#
-# mip6d Start script for the Mobile IPv6 daemon
-#
-# chkconfig: - 55 25
-# description: The mobile IPv6 daemon allows nodes to remain \
-# reachable while moving around in the IPv6 Internet.
-# processname: mip6d
-# config: /etc/mip6d.conf
-# config: /etc/sysconfig/mip6d
-#
-### BEGIN INIT INFO
-# Provides: mipv6-daemon
-# Required-Start: $local_fs $remote_fs $network $named
-# Required-Stop: $local_fs $remote_fs $network
-# Should-Start: $syslog
-# Should-Stop: $network $syslog
-# Default-Start:
-# Default-Stop: 0 1 6
-# Short-Description: Start and stop Mobile IPV6 daemon
-# Description: The mobile IPv6 daemon allows nodes to remain
-# reachable while moving around in the IPv6 Internet.
-### END INIT INFO
-
-# Source function library.
-. /etc/init.d/functions
-
-if [ -f /etc/sysconfig/mip6d ]; then
- . /etc/sysconfig/mip6d
-fi
-
-mip6d=/usr/sbin/mip6d
-prog="mip6d"
-lockfile=/var/lock/subsys/$prog
-
-start() {
- [ -x $mip6d ] || exit 5
- echo -n $"Starting $prog: "
- start-stop-daemon -S -x ${mip6d} && success || failure
- retval=$?
- echo
- [ $retval -eq 0 ] && touch ${lockfile}
- return $retval
-}
-
-stop() {
- echo -n $"Stopping $prog: "
- start-stop-daemon -K -x $mip6d
- retval=$?
- echo
- [ $retval -eq 0 ] && rm -f ${lockfile}
- return $retval
-}
-
-restart() {
- stop
- start
-}
-
-reload()
-{
- echo -n $"Reloading $prog configuration: "
- killproc $mip6d -HUP
- retval=$?
- echo
- return $retval
-}
-
-force_reload() {
- restart
-}
-
-rh_status() {
- status $prog
-}
-
-rh_status_q() {
- rh_status > /dev/null 2>&1
-}
-
-case "$1" in
- start)
- rh_status_q && exit 0
- $1
- ;;
- stop)
- rh_status_q || exit 0
- $1
- ;;
- restart)
- $1
- ;;
- reload)
- rh_status_q || exit 7
- $1
- ;;
- force-reload)
- force_reload
- ;;
- status)
- rh_status
- ;;
- condrestart|try-restart)
- rh_status_q || exit 0
- restart
- ;;
- *)
- echo $"Usage: $prog {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
- exit 2
-esac
-
-exit $?
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service
deleted file mode 100644
index 2b5a5b9f1..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip/mip6d.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=MIPL Mobile IPv6
-After=network.target
-
-[Service]
-EnvironmentFile=-@SYSCONFDIR@/sysconfig/mip6d
-ExecStart=@SBINDIR@/mip6d $ARGS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb
deleted file mode 100644
index 43367b550..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/umip/umip_1.0.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Mobile IPv6 and NEMO for Linux"
-DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \
-Basic Support for Linux. It is released under the GPLv2 license. It supports \
-the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \
-RFC4877 (IPsec and IKEv2)."
-HOMEPAGE = "http://umip.org/"
-SECTION = "System Environment/Base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33"
-DEPENDS = "openssl ipsec-tools radvd indent-native bison-native"
-
-SRC_URI = "git://git.umip.org/umip/umip.git \
- file://add-dependency-to-support-parallel-compilation.patch \
- file://mip6d \
- file://mip6d.service \
- file://0001-Add-format-string-to-fprintf-call.patch \
- file://0001-replace-SIGCLD-with-SIGCHLD-and-include-sys-types.h.patch \
- file://0002-replace-PTHREAD_MUTEX_FAST_NP-with-PTHREAD_MUTEX_NOR.patch \
- file://0001-support-openssl-1.1.x.patch \
- "
-SRCREV = "cbd441c5db719db554ff2b4fcb02fef88ae2f791"
-
-# Depends on ipsec-tools which is already MACHINE_ARCH (and also RRECOMMENDS kernel modules)
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--enable-vt"
-
-inherit autotools-brokensep systemd update-rc.d
-
-INITSCRIPT_NAME = "mip6d"
-INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ."
-
-SYSTEMD_SERVICE_${PN} = "mip6d.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install_append() {
- install -D -m 0755 ${WORKDIR}/mip6d ${D}${sysconfdir}/init.d/mip6d
- install -D -m 0644 ${WORKDIR}/mip6d.service ${D}${systemd_system_unitdir}/mip6d.service
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_system_unitdir}/mip6d.service
-}
-
-RRECOMMENDS_${PN} = "kernel-module-mip6 kernel-module-ipv6"
diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
index 64eabe462..bbc5e1299 100644
--- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
+++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -34,10 +34,9 @@ RDEPENDS_packagegroup-meta-networking-connectivity = "\
openconnect ez-ipupdate mosquitto sethdlc crda \
dibbler-server dibbler-client dibbler-requestor dibbler-relay \
libdnet ufw civetweb freeradius kea daq \
- mbedtls relayd snort dhcpcd rdate vlan umip vpnc \
+ mbedtls relayd snort dhcpcd rdate vlan vpnc \
inetutils wolfssl lftp miniupnpd networkmanager \
networkmanager-openvpn rdist nanomsg python-networkmanager \
- wireless-regdb \
${@bb.utils.contains("DISTRO_FEATURES", "bluez5 x11", "blueman", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \
@@ -93,7 +92,7 @@ RDEPENDS_packagegroup-meta-networking-support = "\
ncp ndisc6 mtr tinyproxy ssmping ntp \
wpan-tools bridge-utils ifenslave celt051 pimd \
nbd-client nbd-server nbd-trdump \
- phytool fwknop htpdate tcpreplay ipsec-tools \
+ phytool fwknop htpdate tcpreplay \
traceroute geoip-perl geoip geoipupdate esmtp \
libtdb netcf dnsmasq curlpp openipmi drbd-utils \
drbd tunctl dovecot ipvsadm stunnel chrony spice-protocol \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb
index a9949d59a..ff9084dbf 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_git.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/atftp/atftp_0.7.2.bb
@@ -3,17 +3,12 @@ SECTION = "net"
HOMEPAGE = "http://packages.debian.org/atftp"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
-PV = "0.7.1+git${SRCPV}"
-PR = "r3"
-SRCREV = "be3291a18c069ae23a124ffdc56d64a5ff0bbec7"
+SRCREV = "52b71f0831dcbde508bd3a961d84abb80a62480f"
SRC_URI = "git://git.code.sf.net/p/atftp/code \
- file://atftpd-0.7_circumvent_tftp_size_restrictions.patch \
- file://atftpd-0.7_unprotected_assignments_crash.patch \
file://atftpd.init \
file://atftpd.service \
- file://atftp-0.7-sorcerers_apprentice.patch \
"
SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \
file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch
deleted file mode 100644
index fc64291cd..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftp-0.7-sorcerers_apprentice.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-atftp exhibits the well known "Sorcerer's Apprentice Syndrome"(SAS) problem.
-According to RFC 1350, the fix to SAS is quite simple: further copies of the
-acknowledgment for a particular data block would be ignored.
-
-Patch originally from OpenSUSE:
-https://build.opensuse.org/package/view_file?file=atftp-0.7-sorcerers_apprentice.patch&package=atftp.539&project=openSUSE%3A12.1%3AUpdate&rev=84569792975e00573d7df597d2a6e895
-
-Upstream-Status: Pending
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
-Index: atftp-0.7/tftp_file.c
-===================================================================
---- atftp-0.7.orig/tftp_file.c 2011-11-22 15:12:53.792744083 +0100
-+++ atftp-0.7/tftp_file.c 2011-11-22 15:13:51.706421893 +0100
-@@ -605,6 +605,7 @@
- int timeout_state = state; /* what state should we go on when timeout */
- int result;
- long block_number = 0;
-+ long last_requested_block = -1;
- long last_block = -1;
- int data_size; /* size of data received */
- int sockfd = data->sockfd; /* just to simplify calls */
-@@ -765,6 +766,17 @@
- connected = 1;
- }
- block_number = ntohs(tftphdr->th_block);
-+
-+ if (last_requested_block >= block_number)
-+ {
-+ if (data->trace)
-+ fprintf(stderr, "received duplicated ACK <block: %ld >= %ld>\n",
-+ last_requested_block, block_number);
-+ break;
-+ }
-+ else
-+ last_requested_block = block_number;
-+
- if (data->trace)
- fprintf(stderr, "received ACK <block: %ld>\n",
- block_number);
-Index: atftp-0.7/tftpd_file.c
-===================================================================
---- atftp-0.7.orig/tftpd_file.c 2011-11-22 15:12:53.793744112 +0100
-+++ atftp-0.7/tftpd_file.c 2011-11-22 15:15:04.617534260 +0100
-@@ -403,6 +403,7 @@
- int timeout_state = state;
- int result;
- long block_number = 0;
-+ long last_requested_block = -1;
- long last_block = -1;
- int block_loops = 0;
- int data_size;
-@@ -859,6 +860,32 @@
- {
- logger(LOG_DEBUG, "received ACK <block: %d>", block_number);
- }
-+
-+ /* check whether the block request isn't already fulfilled */
-+
-+ /* multicast, block numbers could contain gaps */
-+ if (multicast) {
-+ if (last_requested_block >= block_number)
-+ {
-+ if (data->trace)
-+ logger(LOG_DEBUG, "received duplicated ACK <block: %d >= %d>", last_requested_block, block_number);
-+ break;
-+ }
-+ else
-+ last_requested_block = block_number;
-+ /* unicast, blocks should be requested one after another */
-+ } else {
-+ if (last_requested_block + 1 != block_number && last_requested_block != -1)
-+ {
-+ if (data->trace)
-+ logger(LOG_DEBUG, "received out of order ACK <block: %d != %d>", last_requested_block + 1, block_number);
-+ break;
-+ }
-+ else
-+ last_requested_block = block_number;
-+ }
-+
-+
- if (ntohs(tftphdr->th_block) == 65535)
- {
- block_loops++;
-@@ -958,6 +985,8 @@
- /* nedd to send an oack to that client */
- state = S_SEND_OACK;
- fseek(fp, 0, SEEK_SET);
-+ /* reset the last block received counter */
-+ last_requested_block = -1;
- }
- else
- {
diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch
deleted file mode 100644
index 280b570b2..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_circumvent_tftp_size_restrictions.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-Fate #303031: Circumvent TFTP size restrictions in atftpd
-The size of a single image file that can be transferred with TFTP is limited to
-2^(2*8) *BLOCKSIZE (as per RFC 1350 there are only two bytes for the block
-counter). This is problematic for one of our customers who needs to transfer
-100+ MB Windows images using a TFTP client (NT bootloader) which has a
-hardwared BLOCKSIZE setting of 1432).
-
-block rollover
-http://www.compuphase.com/tftp.htm
-
-Patch originally from OpenSUSE:
-https://build.opensuse.org/package/show?package=atftp&project=openSUSE%3A12.2
-
-Upstream-Status: Pending
-
-Index: git/tftp_def.h
-===================================================================
---- git.orig/tftp_def.h 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_def.h 2012-11-20 17:40:54.391206979 -0800
-@@ -32,6 +32,7 @@
- #define TIMEOUT 5 /* Client timeout */
- #define S_TIMEOUT 5 /* Server timout. */
- #define NB_OF_RETRY 5
-+#define MAXBLOCKS 1000000 /* maximum number of blocks in a download */
-
- /* definition to use tftp_options structure */
- #define OPT_FILENAME 0
-Index: git/tftp_file.c
-===================================================================
---- git.orig/tftp_file.c 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_file.c 2012-11-19 16:28:51.201027167 -0800
-@@ -622,8 +622,8 @@
- int state = S_SEND_REQ; /* current state in the state machine */
- int timeout_state = state; /* what state should we go on when timeout */
- int result;
-- int block_number = 0;
-- int last_block = -1;
-+ long block_number = 0;
-+ long last_block = -1;
- int data_size; /* size of data received */
- int sockfd = data->sockfd; /* just to simplify calls */
- struct sockaddr_storage sa; /* a copy of data.sa_peer */
-@@ -637,8 +637,8 @@
- int convert = 0; /* if true, do netascii convertion */
- char string[MAXLEN];
-
-- int prev_block_number = 0; /* needed to support netascii convertion */
-- int prev_file_pos = 0;
-+ long prev_block_number = 0; /* needed to support netascii convertion */
-+ long prev_file_pos = 0;
- int temp = 0;
-
- data->file_size = 0;
-@@ -745,7 +745,7 @@
- data_size, data->data_buffer);
- data->file_size += data_size;
- if (data->trace)
-- fprintf(stderr, "sent DATA <block: %d, size: %d>\n",
-+ fprintf(stderr, "sent DATA <block: %ld, size: %d>\n",
- block_number + 1, data_size - 4);
- state = S_WAIT_PACKET;
- break;
-@@ -785,7 +785,7 @@
- }
- block_number = ntohs(tftphdr->th_block);
- if (data->trace)
-- fprintf(stderr, "received ACK <block: %d>\n",
-+ fprintf(stderr, "received ACK <block: %ld>\n",
- block_number);
- if ((last_block != -1) && (block_number > last_block))
- {
-Index: git/tftp_io.c
-===================================================================
---- git.orig/tftp_io.c 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_io.c 2012-11-19 16:28:51.201027167 -0800
-@@ -350,8 +350,8 @@
- /*
- * Read from file and do netascii conversion if needed
- */
--int tftp_file_read(FILE *fp, char *data_buffer, int data_buffer_size, int block_number,
-- int convert, int *prev_block_number, int *prev_file_pos, int *temp)
-+int tftp_file_read(FILE *fp, char *data_buffer, int data_buffer_size, long block_number,
-+ int convert, long *prev_block_number, long *prev_file_pos, int *temp)
- {
- int i;
- int c;
-Index: git/tftp_io.h
-===================================================================
---- git.orig/tftp_io.h 2012-11-19 16:28:50.221027144 -0800
-+++ git/tftp_io.h 2012-11-19 16:28:51.201027167 -0800
-@@ -52,8 +52,8 @@
- int tftp_get_packet(int sock1, int sock2, int *sock, struct sockaddr_storage *sa,
- struct sockaddr_storage *from, struct sockaddr_storage *to,
- int timeout, int *size, char *data);
--int tftp_file_read(FILE *fp, char *buffer, int buffer_size, int block_number, int convert,
-- int *prev_block_number, int *prev_file_pos, int *temp);
-+int tftp_file_read(FILE *fp, char *buffer, int buffer_size, long block_number, int convert,
-+ long *prev_block_number, long *prev_file_pos, int *temp);
- int tftp_file_write(FILE *fp, char *data_buffer, int data_buffer_size, int block_number,
- int data_size, int convert, int *prev_block_number, int *temp);
- #endif
-Index: git/tftpd_file.c
-===================================================================
---- git.orig/tftpd_file.c 2012-11-19 16:28:50.225027144 -0800
-+++ git/tftpd_file.c 2012-11-19 16:28:51.201027167 -0800
-@@ -407,8 +407,9 @@
- int state = S_BEGIN;
- int timeout_state = state;
- int result;
-- int block_number = 0;
-- int last_block = -1;
-+ long block_number = 0;
-+ long last_block = -1;
-+ int block_loops = 0;
- int data_size;
- struct sockaddr_storage *sa = &data->client_info->client;
- struct sockaddr_storage from;
-@@ -431,8 +432,8 @@
- struct client_info *client_old = NULL;
- struct tftp_opt options[OPT_NUMBER];
-
-- int prev_block_number = 0; /* needed to support netascii convertion */
-- int prev_file_pos = 0;
-+ long prev_block_number = 0; /* needed to support netascii convertion */
-+ long prev_file_pos = 0;
- int temp = 0;
-
- /* look for mode option */
-@@ -565,11 +566,12 @@
- logger(LOG_INFO, "blksize option -> %d", result);
- }
-
-- /* Verify that the file can be sent in 2^16 block of BLKSIZE octets */
-- if ((file_stat.st_size / (data->data_buffer_size - 4)) > 65535)
-+ /* Verify that the file can be sent in MAXBLOCKS blocks of BLKSIZE octets */
-+ if ((file_stat.st_size / (data->data_buffer_size - 4)) > MAXBLOCKS)
- {
- tftp_send_error(sockfd, sa, EUNDEF, data->data_buffer, data->data_buffer_size);
-- logger(LOG_NOTICE, "Requested file to big, increase BLKSIZE");
-+ logger(LOG_NOTICE, "Requested file too big, increase BLKSIZE");
-+ logger(LOG_NOTICE, "Only %d blocks of %d bytes can be served.", MAXBLOCKS, data->data_buffer_size);
- if (data->trace)
- logger(LOG_DEBUG, "sent ERROR <code: %d, msg: %s>", EUNDEF,
- tftp_errmsg[EUNDEF]);
-@@ -880,10 +882,15 @@
- }
- /* The ACK is from the current client */
- number_of_timeout = 0;
-- block_number = ntohs(tftphdr->th_block);
-+ block_number = (block_loops * 65536) + ntohs(tftphdr->th_block);
- if (data->trace)
-- logger(LOG_DEBUG, "received ACK <block: %d>",
-- block_number);
-+ {
-+ logger(LOG_DEBUG, "received ACK <block: %d>", block_number);
-+ }
-+ if (ntohs(tftphdr->th_block) == 65535)
-+ {
-+ block_loops++;
-+ };
- if ((last_block != -1) && (block_number > last_block))
- {
- state = S_END;
diff --git a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch b/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch
deleted file mode 100644
index 28fba6cf5..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/atftp/files/atftpd-0.7_unprotected_assignments_crash.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-Avoid assigning thread data outside of mutex lock
-
-Patch originally from OpenSUSE:
-https://build.opensuse.org/package/show?package=atftp&project=openSUSE%3A12.2
-
-Upstream-Status: Pending
-
-Index: git/tftpd_list.c
-===================================================================
---- git.orig/tftpd_list.c 2012-10-24 21:48:47.000000000 -0700
-+++ git/tftpd_list.c 2012-10-24 21:52:04.266205076 -0700
-@@ -49,11 +49,11 @@
- */
- int tftpd_list_add(struct thread_data *new)
- {
-- struct thread_data *current = thread_data;
-+ struct thread_data *current;
- int ret;
-
- pthread_mutex_lock(&thread_list_mutex);
--
-+ current = thread_data;
- number_of_thread++;
-
- ret = number_of_thread;
-@@ -81,11 +81,13 @@
- */
- int tftpd_list_remove(struct thread_data *old)
- {
-- struct thread_data *current = thread_data;
-+ struct thread_data *current;
- int ret;
-
- pthread_mutex_lock(&thread_list_mutex);
-
-+ current = thread_data;
-+
- number_of_thread--;
- ret = number_of_thread;
-
-@@ -137,23 +139,26 @@
- struct thread_data *data,
- struct client_info *client)
- {
-- struct thread_data *current = thread_data; /* head of the list */
-- struct tftp_opt *tftp_options = data->tftp_options;
-+ struct thread_data *current; /* head of the list */
-+ struct tftp_opt *tftp_options;
- struct client_info *tmp;
- char options[MAXLEN];
- char string[MAXLEN];
- char *index;
- int len;
-
-+ /* lock the whole list before walking it */
-+ pthread_mutex_lock(&thread_list_mutex);
-+
- *thread = NULL;
-
-+ current = thread_data;
-+ tftp_options = data->tftp_options;
-+
- opt_request_to_string(tftp_options, options, MAXLEN);
- index = strstr(options, "multicast");
- len = (int)index - (int)options;
-
-- /* lock the whole list before walking it */
-- pthread_mutex_lock(&thread_list_mutex);
--
- while (current)
- {
- if (current != data)
-@@ -214,9 +219,10 @@
- void tftpd_clientlist_remove(struct thread_data *thread,
- struct client_info *client)
- {
-- struct client_info *tmp = thread->client_info;
-+ struct client_info *tmp;
-
- pthread_mutex_lock(&thread->client_mutex);
-+ tmp = thread->client_info;
- while ((tmp->next != client) && (tmp->next != NULL))
- tmp = tmp->next;
- if (tmp->next == NULL)
-@@ -231,9 +237,11 @@
- void tftpd_clientlist_free(struct thread_data *thread)
- {
- struct client_info *tmp;
-- struct client_info *head = thread->client_info;
-+ struct client_info *head;
-
- pthread_mutex_lock(&thread->client_mutex);
-+ head = thread->client_info;
-+
- while (head)
- {
- tmp = head;
-@@ -250,9 +258,10 @@
- struct client_info *client,
- struct sockaddr_storage *sock)
- {
-- struct client_info *head = thread->client_info;
-+ struct client_info *head;
-
- pthread_mutex_lock(&thread->client_mutex);
-+ head = thread->client_info;
-
- if (client)
- {
-@@ -334,10 +343,10 @@
-
- void tftpd_list_kill_threads(void)
- {
-- struct thread_data *current = thread_data; /* head of list */
-+ struct thread_data *current; /* head of list */
-
- pthread_mutex_lock(&thread_list_mutex);
--
-+ current = thread_data;
-
- while (current != NULL)
- {
-Index: git/tftpd_mcast.c
-===================================================================
---- git.orig/tftpd_mcast.c 2012-10-24 21:48:47.000000000 -0700
-+++ git/tftpd_mcast.c 2012-10-24 21:49:11.570201582 -0700
-@@ -51,9 +51,11 @@
- */
- int tftpd_mcast_get_tid(char **addr, short *port)
- {
-- struct tid *current = tid_list;
-+ struct tid *current;
-
- pthread_mutex_lock(&mcast_tid_list);
-+ current = tid_list;
-+
- /* walk the list for a free tid */
- while (current != NULL)
- {
-@@ -74,9 +76,11 @@
-
- int tftpd_mcast_free_tid(char *addr, short port)
- {
-- struct tid *current = tid_list;
-+ struct tid *current;
-
- pthread_mutex_lock(&mcast_tid_list);
-+ current = tid_list;
-+
- while (current != NULL)
- {
- if ((current->used == 1) && (current->port == port) &&
diff --git a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch
deleted file mode 100644
index 82cdc36ac..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy/0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a557651a08e21e3c7c7f5eca9f5405f86624903f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jul 2017 22:42:51 -0700
-Subject: [PATCH] src/igmpproxy.h: Include sys/types.h for u_short/u_init
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/igmpproxy.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/igmpproxy.h b/src/igmpproxy.h
-index 4dabd1c..4454729 100644
---- a/src/igmpproxy.h
-+++ b/src/igmpproxy.h
-@@ -46,6 +46,7 @@
- #include <stdbool.h>
-
- #include <sys/socket.h>
-+#include <sys/types.h>
- #include <sys/un.h>
- #include <sys/time.h>
- #include <sys/ioctl.h>
---
-2.13.3
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb
index c99ebe0e9..db96d487b 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb
@@ -4,12 +4,8 @@ HOMEPAGE = "http://sourceforge.net/projects/igmpproxy/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=432040ff3a55670c1dec0c32b209ad69"
-SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/igmpproxy-${PV}.tar.gz \
- file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \
-"
+SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/${BP}.tar.gz"
SRC_URI[md5sum] = "3a9c2cb42c1f5ee0cb769a4884545641"
SRC_URI[sha256sum] = "d351e623037390f575c1203d9cbb7ba33a8bdef85a3c5e1d2901c5a2a38449a1"
inherit autotools pkgconfig
-
-CFLAGS += "-D_GNU_SOURCE"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch b/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch
new file mode 100644
index 000000000..9ea4a9ffb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/0001-priv-include-limits.h-for-PATH_MAX.patch
@@ -0,0 +1,27 @@
+From c6a283bfcbfefe9c89113e81b0f792c12c4eefb8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Mon, 25 Mar 2019 18:43:03 +0100
+Subject: [PATCH] priv: include limits.h for PATH_MAX
+
+Upstream-Status: Backport
+
+Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+---
+ src/daemon/priv.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/daemon/priv.c b/src/daemon/priv.c
+index f4d6bdf..ba5ae58 100644
+--- a/src/daemon/priv.c
++++ b/src/daemon/priv.c
+@@ -27,6 +27,7 @@
+ #include <unistd.h>
+ #include <signal.h>
+ #include <errno.h>
++#include <limits.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+ #include <sys/socket.h>
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch b/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch
deleted file mode 100644
index 4876e1794..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/files/src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f9f3e4dd31588cce5f655730da7b5c3f56a9bdc1 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Tue, 26 Sep 2017 09:19:51 -0300
-Subject: [PATCH] src/daemon/lldpd.service.in: Use fixed path for mkdir command
-Organization: O.S. Systems Software LTDA.
-
-@mkdir_p@ is expanded to host tools path ../build/tmp/hosttools/mkdir that
-doesn't exist on target. Remove @mkdir_p@ and use /bin/mkdir -p to
-create /var/run/lldpd directory.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- src/daemon/lldpd.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/daemon/lldpd.service.in b/src/daemon/lldpd.service.in
-index fdb7338..4291830 100644
---- a/src/daemon/lldpd.service.in
-+++ b/src/daemon/lldpd.service.in
-@@ -9,7 +9,7 @@ Type=notify
- NotifyAccess=main
- EnvironmentFile=-/etc/default/lldpd
- EnvironmentFile=-/etc/sysconfig/lldpd
--ExecStartPre=@mkdir_p@ @PRIVSEP_CHROOT@
-+ExecStartPre=/bin/mkdir -p @PRIVSEP_CHROOT@
- ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
- Restart=on-failure
- PrivateTmp=yes
---
-2.14.2
diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb
index dbd84cf67..e650b5795 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_0.9.8.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.3.bb
@@ -9,11 +9,11 @@ SRC_URI = "\
http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
file://lldpd.init.d \
file://lldpd.default \
- file://src-daemon-lldpd.service.in-Use-fixed-path-for-mkdir.patch \
+ file://0001-priv-include-limits.h-for-PATH_MAX.patch \
"
-SRC_URI[md5sum] = "8809600492f6b73149eb19158e819c1f"
-SRC_URI[sha256sum] = "9ee494e91bc33938575b2c09b26188c486ef8eac6e2155d250c189cc4e988c4f"
+SRC_URI[md5sum] = "04844328f053ee343344d892efb8a00c"
+SRC_URI[sha256sum] = "39fced395168015416bfe78b95414facf066f841f349024433aa20ab54e4c360"
inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch
deleted file mode 100644
index 30fdb8bf1..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Catch-std-ifstream-failure-by-reference.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 38c5343f84799fc5041575f3ec808f7476b6eea3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Apr 2018 14:33:35 -0700
-Subject: [PATCH] Catch std::ifstream::failure by reference
-
-Fixes
-error: catching polymorphic type 'class std::ios_base::failure' by value
-[-Werror=catch-value=]
- } catch (std::ofstream::failure) {
- ^~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/base/conf.cc | 4 ++--
- src/dtm/dtmnd/dtm_main.cc | 2 +-
- src/dtm/dtmnd/multicast.cc | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/base/conf.cc b/src/base/conf.cc
-index d5755a1..4820357 100644
---- a/src/base/conf.cc
-+++ b/src/base/conf.cc
-@@ -189,7 +189,7 @@ std::string Conf::ReadFile(const std::string& path_name,
- try {
- str.open(path_name);
- str >> contents;
-- } catch (std::ifstream::failure) {
-+ } catch (std::ifstream::failure& e) {
- contents.clear();
- }
- return (str.fail() || contents.empty()) ? default_contents : contents;
-@@ -203,7 +203,7 @@ void Conf::WriteFileAtomically(const std::string& path_name,
- try {
- str.open(tmp_file, std::ofstream::out | std::ofstream::trunc);
- str << contents << std::endl;
-- } catch (std::ofstream::failure) {
-+ } catch (std::ofstream::failure& e) {
- success = false;
- }
- str.close();
-diff --git a/src/dtm/dtmnd/dtm_main.cc b/src/dtm/dtmnd/dtm_main.cc
-index 585e11e..5cf6ad7 100644
---- a/src/dtm/dtmnd/dtm_main.cc
-+++ b/src/dtm/dtmnd/dtm_main.cc
-@@ -367,7 +367,7 @@ void UpdateNodeIdFile(DTM_INTERNODE_CB *cb) {
- try {
- str.open(PKGLOCALSTATEDIR "/node_id", std::ofstream::out);
- str << std::hex << node_id << std::endl;
-- } catch (std::ofstream::failure) {
-+ } catch (std::ofstream::failure& e) {
- }
- str.close();
- }
-diff --git a/src/dtm/dtmnd/multicast.cc b/src/dtm/dtmnd/multicast.cc
-index cadc002..7c25fea 100644
---- a/src/dtm/dtmnd/multicast.cc
-+++ b/src/dtm/dtmnd/multicast.cc
-@@ -199,7 +199,7 @@ bool Multicast::GetPeersFromFile(const std::string &path_name) {
- }
- }
- }
-- } catch (std::ifstream::failure) {
-+ } catch (std::ifstream::failure& e) {
- LOG_ER("Caught std::ifstream::failure when reading file '%s', peers=%zu",
- path_name.c_str(), static_cast<size_t>(peers_.size()));
- peers_.clear();
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
deleted file mode 100644
index 93c75777f..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 88661a60629894353512c53ed32f2b901f64149c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Apr 2018 18:29:17 -0700
-Subject: [PATCH] Fix string overflow in snprintf
-
-Fixes errors like
-error: '%s' dir
-ective output may be truncated writing up to 255 bytes into a region of size 32 [-Werror=forma
-t-truncation=]
- snprintf(reinterpret_cast<char *>(Healthy.key), sizeof(Healthy.key), "%s",
- ^~~~
- hlth_str);
- ~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/log/logd/lgs_util.cc | 4 ++--
- src/rde/rded/rde_amf.cc | 2 +-
- src/smf/smfd/SmfUpgradeCampaign.cc | 4 ++--
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/log/logd/lgs_util.cc b/src/log/logd/lgs_util.cc
-index ac93d5a..cce80f3 100644
---- a/src/log/logd/lgs_util.cc
-+++ b/src/log/logd/lgs_util.cc
-@@ -200,12 +200,12 @@ char *lgs_get_time(time_t *time_in) {
-
- stringSize = 5 * sizeof(char);
- snprintf(srcString, (size_t)stringSize, "%d",
-- (timeStampData->tm_year + START_YEAR));
-+ (timeStampData->tm_year + START_YEAR) & 0x4dU);
-
- strncpy(timeStampString, srcString, stringSize);
-
- stringSize = 3 * sizeof(char);
-- snprintf(srcString, (size_t)stringSize, "%02d", (timeStampData->tm_mon + 1));
-+ snprintf(srcString, (size_t)stringSize, "%02d", (timeStampData->tm_mon + 1) & 0x2dU);
-
- strncat(timeStampString, srcString, stringSize);
-
-diff --git a/src/rde/rded/rde_amf.cc b/src/rde/rded/rde_amf.cc
-index 81e521e..d53cc48 100644
---- a/src/rde/rded/rde_amf.cc
-+++ b/src/rde/rded/rde_amf.cc
-@@ -102,7 +102,7 @@ static uint32_t rde_amf_healthcheck_start(RDE_AMF_CB *rde_amf_cb) {
- SaAmfHealthcheckKeyT Healthy;
- SaNameT SaCompName;
- char *phlth_ptr;
-- char hlth_str[256];
-+ char hlth_str[32];
-
- TRACE_ENTER();
-
-diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc b/src/smf/smfd/SmfUpgradeCampaign.cc
-index c30ea14..098f17a 100644
---- a/src/smf/smfd/SmfUpgradeCampaign.cc
-+++ b/src/smf/smfd/SmfUpgradeCampaign.cc
-@@ -447,7 +447,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) {
- TRACE_ENTER();
- SaAisErrorT rc = SA_AIS_OK;
- SaImmAttrValuesT_2 **attributes;
-- int curCnt = 0;
-+ short int curCnt = 0;
-
- /* Read the SmfCampRestartInfo object smfCampRestartCnt attr */
- std::string obj = "smfRestartInfo=info," +
-@@ -473,7 +473,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) {
- attrsmfCampRestartCnt.SetAttributeName("smfCampRestartCnt");
- attrsmfCampRestartCnt.SetAttributeType("SA_IMM_ATTR_SAUINT32T");
- char buf[5];
-- snprintf(buf, 4, "%d", curCnt);
-+ snprintf(buf, 4, "%hd", curCnt);
- attrsmfCampRestartCnt.AddAttributeValue(buf);
- imoCampRestartInfo.AddValue(attrsmfCampRestartCnt);
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch
deleted file mode 100644
index f98e28da9..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-Fix-format-truncation-errors.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From c5034fe42df8923bcefc10e163151997d70b6241 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Apr 2018 14:56:47 -0700
-Subject: [PATCH] Fix format-truncation errors
-
-Fixes errors with gcc8 eg.
-error: '%u' directive output may be truncated writing between 1 and 10 bytes into a region of size between 0 and 254 [-Werror=format-truncation=]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/base/daemon.c | 4 ++--
- src/mds/mds_c_db.c | 8 ++++----
- src/mds/mds_core.h | 4 ++--
- src/mds/mds_dt2c.h | 2 +-
- 4 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/base/daemon.c b/src/base/daemon.c
-index 361dd8d..4001b73 100644
---- a/src/base/daemon.c
-+++ b/src/base/daemon.c
-@@ -95,11 +95,11 @@ static int __create_pidfile(const char *pidfile)
- {
- FILE *file = NULL;
- int fd, rc = 0;
-- char pidfiletmp[NAME_MAX] = {0};
-+ char pidfiletmp[NAME_MAX+12] = {0};
- pid_t pid;
-
- pid = getpid();
-- snprintf(pidfiletmp, NAME_MAX, "%s.%u.tmp", pidfile, pid);
-+ snprintf(pidfiletmp, NAME_MAX+12, "%s.%u.tmp", pidfile, pid);
-
- /* open the file and associate a stream with it */
- if (((fd = open(pidfiletmp, O_RDWR | O_CREAT, 0644)) == -1) ||
-diff --git a/src/mds/mds_c_db.c b/src/mds/mds_c_db.c
-index e6b95cd..3d4a222 100644
---- a/src/mds/mds_c_db.c
-+++ b/src/mds/mds_c_db.c
-@@ -124,10 +124,10 @@ void get_adest_details(MDS_DEST adest, char *adest_details)
- }
-
- if (remote == true)
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<rem_nodeid[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
- else
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<nodeid[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
-
- m_MDS_LOG_DBG("MDS:DB: adest_details: %s ", adest_details);
-@@ -207,10 +207,10 @@ void get_subtn_adest_details(MDS_PWE_HDL pwe_hdl, MDS_SVC_ID svc_id,
- }
-
- if (remote == true)
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<rem_node[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
- else
-- snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN,
-+ snprintf(adest_details, MDS_MAX_PROCESS_NAME_LEN+24,
- "<node[0x%" PRIx32 "]:%s>", ncs_node_id, process_name);
- done:
- m_MDS_LOG_DBG("MDS:DB: adest_details: %s ", adest_details);
-diff --git a/src/mds/mds_core.h b/src/mds/mds_core.h
-index 37696d4..7f5225d 100644
---- a/src/mds/mds_core.h
-+++ b/src/mds/mds_core.h
-@@ -163,7 +163,7 @@ typedef struct mds_subscription_results_info {
- uint32_t msg_snd_cnt; /* Message send count to this destination */
- uint32_t msg_rcv_cnt; /* Message rcv count from this destination */
- char sub_adest_details
-- [MDS_MAX_PROCESS_NAME_LEN]; /* <node[slotno]:processname[pid]> */
-+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* <node[slotno]:processname[pid]> */
-
- } MDS_SUBSCRIPTION_RESULTS_INFO;
-
-@@ -194,7 +194,7 @@ typedef struct mds_subscription_info {
- count is grater than ZERO bcast (multi-unicast) */
- uint32_t prev_ver_sub_count;
- char sub_adest_details
-- [MDS_MAX_PROCESS_NAME_LEN]; /* <node[slotno]:processname[pid]> */
-+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* <node[slotno]:processname[pid]> */
-
- } MDS_SUBSCRIPTION_INFO;
-
-diff --git a/src/mds/mds_dt2c.h b/src/mds/mds_dt2c.h
-index 012999c..006b722 100644
---- a/src/mds/mds_dt2c.h
-+++ b/src/mds/mds_dt2c.h
-@@ -143,7 +143,7 @@ typedef struct mdtm_send_req {
- */
- MDS_DEST adest; /* MDTM to do local/remote routing, destination adest */
- char sub_adest_details
-- [MDS_MAX_PROCESS_NAME_LEN]; /* <node[nodeid]:processname[pid]> */
-+ [MDS_MAX_PROCESS_NAME_LEN+24]; /* <node[nodeid]:processname[pid]> */
- MDS_SEND_PRIORITY_TYPE pri;
- MDS_CLIENT_MSG_FORMAT_VER
- msg_fmt_ver; /* message format version specification */
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch
deleted file mode 100644
index 497bb07d8..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0008-check-for-size-before-using-strncpy.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 29510dd81e3a5e96151afdb0702863cbfd640766 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 22 Jun 2018 18:58:59 -0700
-Subject: [PATCH] check for size before using strncpy
-
-ensures that size is never execeding the string length
-that execPath can hold
-
-Fixes
-error: '__builtin___strncpy_chk' specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/imm/immnd/immnd_proc.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/imm/immnd/immnd_proc.c b/src/imm/immnd/immnd_proc.c
-index 015932a..c8f115e 100644
---- a/src/imm/immnd/immnd_proc.c
-+++ b/src/imm/immnd/immnd_proc.c
-@@ -1902,6 +1902,10 @@ static int immnd_forkPbe(IMMND_CB *cb)
- LOG_ER("Pathname too long: %u max is 1023", newLen);
- return -1;
- }
-+ if (execDirLen > 1023 || execDirLen < 0) {
-+ LOG_ER("Execdir name too long: %u max is 1023", execDirLen);
-+ return -1;
-+ }
-
- strncpy(execPath, cb->mProgName, execDirLen);
- execPath[execDirLen] = 0;
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
index 3e4d33e00..0cccebdfc 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
@@ -24,13 +24,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
file://0001-configure-Disable-format-overflow-if-supported-by-gc.patch \
file://0001-src-Add-missing-header-limits.h-for-_POSIX_HOST_NAME.patch \
file://0001-immpbe_dump.cc-Use-sys-wait.h-instead-of-wait.h.patch \
- file://0001-Catch-std-ifstream-failure-by-reference.patch \
- file://0002-Fix-format-truncation-errors.patch \
- file://0001-Fix-string-overflow-in-snprintf.patch \
- file://0008-check-for-size-before-using-strncpy.patch \
"
-SRC_URI[md5sum] = "d9f44f778e23cf739085f74c5ff793b1"
-SRC_URI[sha256sum] = "5713fbe21c557c9a992af6805bc44521f2cf6cf950ae873036d9a81c73364b60"
+SRC_URI[md5sum] = "4dd1497ccd82d275735853bf0db5c510"
+SRC_URI[sha256sum] = "de42c8dd850990716ca494ca598165cc7a23b5b7f2bc21af5d71a3d971ddd595"
inherit autotools useradd systemd pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb
index dde8a52dc..af8961e32 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_2.4.45.bb
+++ b/meta-openembedded/meta-networking/recipes-devtools/python/python-ldap_3.2.0.bb
@@ -15,8 +15,8 @@ PYPI_PACKAGE = "python-ldap"
inherit pypi setuptools
LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
-SRC_URI[md5sum] = "6108e189a44eea8bc7d1cc281c222978"
-SRC_URI[sha256sum] = "824fde180a53772e23edc031c4dd64ac1af4a3eade78f00d9d510937d562f64e"
+SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab"
+SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e"
do_configure_prepend() {
sed -i -e 's:^library_dirs =.*::' setup.cfg
@@ -26,4 +26,6 @@ do_configure_prepend() {
RDEPENDS_${PN} = " \
${PYTHON_PN}-pprint \
${PYTHON_PN}-threading \
+ ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-pyasn1-modules \
"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
index db4b1c98c..4b035af36 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
@@ -63,3 +63,4 @@ FILES_${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*"
# http://errors.yoctoproject.org/Errors/Details/186954/
EXCLUDE_FROM_WORLD_libc-musl = "1"
+RCONFLICTS_${PN} = "inetutils-telnetd"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb
index 9a7152fcf..1bd17031a 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb
@@ -6,14 +6,13 @@ LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
RPROVIDES_${PN} += "libdns_sd.so"
-SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
+SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
file://build.patch;patchdir=.. \
file://mdns.service \
file://0001-nss_mdns-Do-not-include-nss.h-when-libc-glibc.patch;patchdir=.. \
"
-
-SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
-SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a"
+SRC_URI[md5sum] = "e773f290a7d29f1072247985d6add2ff"
+SRC_URI[sha256sum] = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0"
PARALLEL_MAKE = ""
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
index 673142b4a..f0acaa801 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
@@ -214,7 +214,11 @@ FILES_${PN}-lib-trapd = "${libdir}/libnetsnmptrapd${SOLIBS}"
FILES_${PN} = ""
FILES_${PN}-client = "${bindir}/* ${datadir}/snmp/"
FILES_${PN}-dbg += "${libdir}/.debug/ ${sbindir}/.debug/ ${bindir}/.debug/"
-FILES_${PN}-dev += "${bindir}/mib2c ${bindir}/mib2c-update"
+FILES_${PN}-dev += "${bindir}/mib2c \
+ ${bindir}/mib2c-update \
+ ${bindir}/net-snmp-config \
+ ${bindir}/net-snmp-create-v3-user \
+"
CONFFILES_${PN}-server-snmpd = "${sysconfdir}/snmp/snmpd.conf"
CONFFILES_${PN}-server-snmptrapd = "${sysconfdir}/snmp/snmptrapd.conf"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
deleted file mode 100644
index 03697ff1f..000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-src-restrictions.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a6a85ec5c85cbd3c86743b6e2fa391198869bff8 Mon Sep 17 00:00:00 2001
-From: Tom Rini <tom_rini@mentor.com>
-Date: Wed, 27 Jul 2011 03:46:52 +0000
-Subject: [PATCH] rp-pppoe: Port from oe.dev
-
-Relax restrictions on the PPPoE src address, as per debian bug
-293811:
-
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293811
-
-Upstream-Status: Inappropriate [Backport from Debian]
-
----
- src/discovery.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/discovery.c b/src/discovery.c
-index 7ee259d..5213a37 100644
---- a/src/discovery.c
-+++ b/src/discovery.c
-@@ -472,8 +472,8 @@ waitForPADO(PPPoEConnection *conn, int timeout)
- if (!packetIsForMe(conn, &packet)) continue;
-
- if (packet.code == CODE_PADO) {
-- if (NOT_UNICAST(packet.ethHdr.h_source)) {
-- printErr("Ignoring PADO packet from non-unicast MAC address");
-+ if (BROADCAST(packet.ethHdr.h_source)) {
-+ printErr("Ignoring broadcast PADO packet");
- continue;
- }
- #ifdef PLUGIN
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch
index 7601f0d32..7601f0d32 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0001-ppoe-Dont-include-linux-if_ether.h.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0001-ppoe-Dont-include-linux-if_ether.h.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch
index 2103b3888..2103b3888 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/0002-Enable-support-for-the-kernel-module.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/0002-Enable-support-for-the-kernel-module.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch
index bbd516fde..bbd516fde 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.in-Error-fix.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.in-Error-fix.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch
index be892803e..be892803e 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch
index 3b945934f..3b945934f 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/configure_in_cross.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/configure_in_cross.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch
index 9801f6e27..9801f6e27 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/discard-use-of-dnl-in-Makefile.am.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/discard-use-of-dnl-in-Makefile.am.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch
index 8a857888b..8a857888b 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/dont-swallow-errors.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/dont-swallow-errors.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default
index 996d57f3c..996d57f3c 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.default
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.default
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init
index 21afe0be3..21afe0be3 100755
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.init
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.init
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service
index 41e0b9e85..41e0b9e85 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/pppoe-server.service
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/pppoe-server.service
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch
index f64da4fa2..f64da4fa2 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/top-autoconf.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/top-autoconf.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch
index c759e09aa..c759e09aa 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.12/update-config.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe/update-config.patch
diff --git a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
index fbe015f5e..492ade5ae 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.12.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.13.bb
@@ -6,10 +6,9 @@ LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=a194eaefae2be54ee3221339b10d0581"
PR = "r10"
-SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \
+SRC_URI = "https://dianne.skoll.ca/projects/rp-pppoe/download/rp-pppoe-${PV}.tar.gz \
file://top-autoconf.patch \
file://configure_in_cross.patch \
- file://pppoe-src-restrictions.patch \
file://update-config.patch \
file://dont-swallow-errors.patch \
file://discard-use-of-dnl-in-Makefile.am.patch \
@@ -22,8 +21,8 @@ SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \
file://0002-Enable-support-for-the-kernel-module.patch \
"
-SRC_URI[md5sum] = "216eb52b69062b92a64ee37fd71f4b66"
-SRC_URI[sha256sum] = "00794e04031546b0e9b8cf286f2a6d1ccfc4a621b2a3abb2d7ef2a7ab7cc86c2"
+SRC_URI[md5sum] = "ec9dccd9a367a1f71f2dc81069796dd8"
+SRC_URI[sha256sum] = "8cd6bc71ba46bd5f6eb4daf60220ccdcd991a8525111dee466501b1b9717e676"
inherit autotools-brokensep update-rc.d systemd
diff --git a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
deleted file mode 100644
index 43942bcae..000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon"
-HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/"
-SECTION = "net"
-DEPENDS = "ppp virtual/kernel"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/xelerance/xl2tpd.git"
-
-S = "${WORKDIR}/git"
-
-inherit update-rc.d
-
-do_compile () {
- oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all
-}
-
-do_install () {
- oe_runmake PREFIX="${D}${prefix}" install
-
- install -d ${D}${sysconfdir}/init.d
- touch ${D}${sysconfdir}/xl2tpd.conf
- install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/xl2tpd
-
- install -d ${D}${sysconfdir}/default
- install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd
-}
-
-CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "xl2tpd"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb
index f03b537d9..b02e183db 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb
@@ -1,5 +1,40 @@
-require xl2tpd.inc
+SUMMARY = "Xelerance version of the Layer 2 Tunneling Protocol (L2TP) daemon"
+HOMEPAGE = "http://www.xelerance.com/software/xl2tpd/"
+SECTION = "net"
+DEPENDS = "ppp virtual/kernel"
-# This is v1.3.6 plus some commits. There is no tag for this commit.
-#
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/xelerance/xl2tpd.git"
SRCREV = "ba619c79c4790c78c033df0abde4a9a5de744a08"
+
+S = "${WORKDIR}/git"
+
+inherit update-rc.d
+
+do_compile () {
+ oe_runmake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" PREFIX="${prefix}" KERNELSRC=${STAGING_KERNEL_DIR} all
+}
+
+do_install () {
+ oe_runmake PREFIX="${D}${prefix}" install
+
+ install -d ${D}${sysconfdir}/init.d
+ touch ${D}${sysconfdir}/xl2tpd.conf
+ install -m 0755 debian/xl2tpd.init ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/xl2tpd
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/xl2tpd
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 debian/xl2tpd.default ${D}${sysconfdir}/default/xl2tpd
+}
+
+CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "xl2tpd"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb b/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb
deleted file mode 100644
index df2ec52c6..000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.6.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xl2tpd.inc
-
-# The SRCREV corresponds to v1.3.6.
-# Adding tag=v1.3.6 to the SRC_URI will force access to the upstream repo.
-#
-SRCREV = "5619e1771048e74b729804e8602f409af0f3faea"
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
index 38d306475..e95b6f993 100644
--- a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
+++ b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc/0001-Makefile-pass-extra-linker-flags.patch
@@ -1,4 +1,4 @@
-From fd80c0599083013a1b583feba5d7473f52b35938 Mon Sep 17 00:00:00 2001
+From 7fd0e0b88df692dfc67335f235a1bb74854a0498 Mon Sep 17 00:00:00 2001
From: Mariia Movchan <mmovchan@cisco.com>
Date: Tue, 6 Mar 2018 16:03:39 +0200
Subject: [PATCH] Makefile: pass extra linker flags
@@ -9,16 +9,17 @@ ERROR: QA Issue: No GNU_HASH in the elf binary
Upstream-Status: Pending
Signed-off-by: Mariia Movchan <mmovchan@cisco.com>
+
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 8beff8f..047f02a 100644
+index 54569c1..798988f 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ LIBS?=
- VERSION=0.2.2
+ VERSION=0.2.3
CC?=gcc
CFLAGS?=-O2 -g -Wall
-LDFLAGS=$(LIBS)
@@ -26,6 +27,3 @@ index 8beff8f..047f02a 100644
ifeq ($(USE_GEOIP),yes)
ifeq ($(USE_DYN_GEOIP),yes)
---
-2.15.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb
index b45642404..ad0ec2700 100644
--- a/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ipcalc/ipcalc_0.2.3.bb
@@ -7,7 +7,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
S = "${WORKDIR}/git"
-SRCREV = "8348808a7869ca8f25a5b5deeaa418c2f6d52758"
+SRCREV = "c3ee70c878b9c5833a77a1f339f1ca4dc6f225c5"
SRC_URI = "\
git://github.com/nmav/ipcalc.git;protocol=https; \
file://0001-Makefile-pass-extra-linker-flags.patch \
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch
deleted file mode 100644
index 11a910393..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Disable-gcc8-specific-warnings.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 282d492e4cab7b4d9c7321f4c0c55b615948e280 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 11 May 2018 14:09:17 -0700
-Subject: [PATCH] Disable gcc8 specific warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libipsec/ipsec_dump_policy.c | 5 +++++
- src/libipsec/pfkey_dump.c | 5 +++++
- src/racoon/isakmp.c | 11 ++++++++++-
- 3 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/src/libipsec/ipsec_dump_policy.c b/src/libipsec/ipsec_dump_policy.c
-index 4d0eb77..c3fc842 100644
---- a/src/libipsec/ipsec_dump_policy.c
-+++ b/src/libipsec/ipsec_dump_policy.c
-@@ -275,6 +275,10 @@ ipsec_dump_policy1(policy, delimiter, withports)
- return buf;
- }
-
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
-+#endif
- static char *
- ipsec_dump_ipsecrequest(buf, len, xisr, bound, withports)
- char *buf;
-@@ -419,3 +423,4 @@ set_address(buf, len, sa, withports)
-
- return buf;
- }
-+#pragma GCC diagnostic pop
-diff --git a/src/libipsec/pfkey_dump.c b/src/libipsec/pfkey_dump.c
-index 4627ebc..451e535 100644
---- a/src/libipsec/pfkey_dump.c
-+++ b/src/libipsec/pfkey_dump.c
-@@ -691,6 +691,10 @@ str_ipport(sa)
- /*
- * set "/prefix[port number]" to buffer.
- */
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wformat-truncation"
-+#endif
- static char *
- str_prefport(family, pref, port, ulp)
- u_int family, pref, port, ulp;
-@@ -735,6 +739,7 @@ str_prefport(family, pref, port, ulp)
-
- return buf;
- }
-+#pragma GCC diagnostic pop
-
- static void
- str_upperspec(ulp, p1, p2)
-diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c
-index 7ff53a3..4addf24 100644
---- a/src/racoon/isakmp.c
-+++ b/src/racoon/isakmp.c
-@@ -3124,7 +3124,12 @@ script_hook(iph1, script)
- #endif
-
- /* local address */
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wstringop-truncation"
-+#endif
- GETNAMEINFO(iph1->local, addrstr, portstr);
-+#pragma GCC diagnostic pop
-
- if (script_env_append(&envp, &envc, "LOCAL_ADDR", addrstr) != 0) {
- plog(LLV_ERROR, LOCATION, NULL, "Cannot set LOCAL_ADDR\n");
-@@ -3138,8 +3143,12 @@ script_hook(iph1, script)
-
- /* Peer address */
- if (iph1->remote != NULL) {
-+#pragma GCC diagnostic push
-+#if defined(__GNUC__) && (__GNUC__ >= 8)
-+#pragma GCC diagnostic ignored "-Wstringop-truncation"
-+#endif
- GETNAMEINFO(iph1->remote, addrstr, portstr);
--
-+#pragma GCC diagnostic pop
- if (script_env_append(&envp, &envc,
- "REMOTE_ADDR", addrstr) != 0) {
- plog(LLV_ERROR, LOCATION, NULL,
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
deleted file mode 100644
index 5c0914745..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 9135ca401186fb14e5e5110bbb04d1ccc480360a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 15 Nov 2016 04:15:44 +0000
-Subject: [PATCH] Fix build with clang
-
-Fixes for following errors found by clang
-
-src/racoon/eaytest.c:316:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true
- [-Werror,-Wtautological-pointer-compare]
- if (dnstr_w1 != NULL) {
- ^~~~~~~~ ~~~~
-src/racoon/eaytest.c:326:6: error: comparison of array 'dnstr_w1' not equal to a null pointer is always true
- [-Werror,-Wtautological-pointer-compare]
- if (dnstr_w1 != NULL) {
- ^~~~~~~~ ~~~~
-
-src/racoon/isakmp.c:1134:11: error: promoted type 'int' of K&R function parameter is not compatible with the
- parameter type 'u_int8_t' (aka 'unsigned char') declared in a previous prototype [-Werror,-Wknr-promoted-parameter]
- u_int8_t etype;
- ^
-src/racoon/isakmp.c:184:48: note: previous declaration is here
- struct sockaddr *, struct sockaddr *, u_int8_t));
- ^
- 1 error generated.
-
-src/racoon/racoonctl.c:1457:15: error: incompatible pointer types passing 'struct evt_async *' to parameter of type
- 'caddr_t' (aka 'char *') [-Werror,-Wincompatible-pointer-types]
- print_cfg(ec, len);
- ^~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/racoon/eaytest.c | 4 ++--
- src/racoon/isakmp.c | 10 +++++-----
- src/racoon/racoonctl.c | 7 +++----
- 3 files changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c
-index 1474bdc..d609e4f 100644
---- a/src/racoon/eaytest.c
-+++ b/src/racoon/eaytest.c
-@@ -313,7 +313,7 @@ certtest(ac, av)
-
- printf("exact match: succeed.\n");
-
-- if (dnstr_w1 != NULL) {
-+ if (dnstr_w1[0] != '\0') {
- asn1dn = eay_str2asn1dn(dnstr_w1, strlen(dnstr_w1));
- if (asn1dn == NULL || asn1dn->l == asn1dn0.l)
- errx(1, "asn1dn length wrong for wildcard 1\n");
-@@ -323,7 +323,7 @@ certtest(ac, av)
- printf("wildcard 1 match: succeed.\n");
- }
-
-- if (dnstr_w1 != NULL) {
-+ if (dnstr_w1[0] != '\0') {
- asn1dn = eay_str2asn1dn(dnstr_w2, strlen(dnstr_w2));
- if (asn1dn == NULL || asn1dn->l == asn1dn0.l)
- errx(1, "asn1dn length wrong for wildcard 2\n");
-diff --git a/src/racoon/isakmp.c b/src/racoon/isakmp.c
-index 2672f7a..da7ebe8 100644
---- a/src/racoon/isakmp.c
-+++ b/src/racoon/isakmp.c
-@@ -567,7 +567,7 @@ isakmp_main(msg, remote, local)
-
- /* it must be responder's 1st exchange. */
- if (isakmp_ph1begin_r(msg, remote, local,
-- isakmp->etype) < 0)
-+ (u_int8_t)isakmp->etype) < 0)
- return -1;
- break;
-
-@@ -1128,10 +1128,10 @@ isakmp_ph1begin_i(rmconf, remote, local)
-
- /* new negotiation of phase 1 for responder */
- static int
--isakmp_ph1begin_r(msg, remote, local, etype)
-- vchar_t *msg;
-- struct sockaddr *remote, *local;
-- u_int8_t etype;
-+isakmp_ph1begin_r(vchar_t *msg,
-+ struct sockaddr *remote,
-+ struct sockaddr *local,
-+ u_int8_t etype)
- {
- struct isakmp *isakmp = (struct isakmp *)msg->v;
- struct ph1handle *iph1;
-diff --git a/src/racoon/racoonctl.c b/src/racoon/racoonctl.c
-index da28ecd..bbf068e 100644
---- a/src/racoon/racoonctl.c
-+++ b/src/racoon/racoonctl.c
-@@ -1299,9 +1299,8 @@ print_evt(evtdump)
- * Print ISAKMP mode config info (IP and banner)
- */
- void
--print_cfg(buf, len)
-- caddr_t buf;
-- int len;
-+print_cfg(caddr_t buf,
-+ int len)
- {
- struct evt_async *evtdump = (struct evt_async *)buf;
- struct isakmp_data *attr;
-@@ -1454,7 +1453,7 @@ handle_recv(combuf)
- else if (evt_quit_event == ec->ec_type) {
- switch (ec->ec_type) {
- case EVT_PHASE1_MODE_CFG:
-- print_cfg(ec, len);
-+ print_cfg((caddr_t)ec, len);
- break;
- default:
- print_evt(ec);
---
-1.9.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch
deleted file mode 100644
index 630ecdb5f..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-header-issues-found-with-musl-libc.patch
+++ /dev/null
@@ -1,249 +0,0 @@
-From 7d9585be093c9cb2428b373c0b0088bb778942d0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 Mar 2017 21:37:47 -0700
-Subject: [PATCH] Fix header issues found with musl libc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libipsec/ipsec_strerror.h | 3 +++
- src/libipsec/libpfkey.h | 4 +++-
- src/racoon/admin.c | 2 +-
- src/racoon/backupsa.c | 6 +++---
- src/racoon/cftoken.l | 4 ++++
- src/racoon/logger.h | 3 +++
- src/racoon/misc.h | 3 +++
- src/racoon/missing/crypto/sha2/sha2.h | 3 +++
- src/racoon/netdb_dnssec.h | 3 +++
- src/racoon/pfkey.c | 1 -
- src/racoon/plog.h | 2 ++
- src/racoon/str2val.h | 3 +++
- src/racoon/vmbuf.h | 3 +++
- src/setkey/extern.h | 3 ++-
- src/setkey/setkey.c | 1 -
- 15 files changed, 36 insertions(+), 8 deletions(-)
-
-diff --git a/src/libipsec/ipsec_strerror.h b/src/libipsec/ipsec_strerror.h
-index 2b4264f..dac66a1 100644
---- a/src/libipsec/ipsec_strerror.h
-+++ b/src/libipsec/ipsec_strerror.h
-@@ -34,6 +34,9 @@
- #ifndef _IPSEC_STRERROR_H
- #define _IPSEC_STRERROR_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- extern int __ipsec_errcode;
- extern void __ipsec_set_strerror __P((const char *));
-
-diff --git a/src/libipsec/libpfkey.h b/src/libipsec/libpfkey.h
-index 61d2f2a..f7991b7 100644
---- a/src/libipsec/libpfkey.h
-+++ b/src/libipsec/libpfkey.h
-@@ -34,6 +34,9 @@
- #ifndef _LIBPFKEY_H
- #define _LIBPFKEY_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- #ifndef KAME_LIBPFKEY_H
- #define KAME_LIBPFKEY_H
-
-@@ -43,7 +46,6 @@
-
- #define PRIORITY_OFFSET_POSITIVE_MAX 0x3fffffff
- #define PRIORITY_OFFSET_NEGATIVE_MAX 0x40000000
--
- struct sadb_msg;
- extern void pfkey_sadump __P((struct sadb_msg *));
- extern void pfkey_sadump_withports __P((struct sadb_msg *));
-diff --git a/src/racoon/admin.c b/src/racoon/admin.c
-index 4b1875b..03ea3f8 100644
---- a/src/racoon/admin.c
-+++ b/src/racoon/admin.c
-@@ -36,7 +36,6 @@
- #include <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
--#include <sys/signal.h>
- #include <sys/stat.h>
- #include <sys/un.h>
-
-@@ -46,6 +45,7 @@
- #include PATH_IPSEC_H
-
-
-+#include <signal.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
-diff --git a/src/racoon/backupsa.c b/src/racoon/backupsa.c
-index 82d74ca..95307ca 100644
---- a/src/racoon/backupsa.c
-+++ b/src/racoon/backupsa.c
-@@ -276,9 +276,9 @@ do { \
- GETNEXTNUM(sa_args.a_keylen, strtoul);
- GETNEXTNUM(sa_args.flags, strtoul);
- GETNEXTNUM(sa_args.l_alloc, strtoul);
-- GETNEXTNUM(sa_args.l_bytes, strtouq);
-- GETNEXTNUM(sa_args.l_addtime, strtouq);
-- GETNEXTNUM(sa_args.l_usetime, strtouq);
-+ GETNEXTNUM(sa_args.l_bytes, strtoull);
-+ GETNEXTNUM(sa_args.l_addtime, strtoull);
-+ GETNEXTNUM(sa_args.l_usetime, strtoull);
- GETNEXTNUM(sa_args.seq, strtoul);
-
- #undef GETNEXTNUM
-diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l
-index 1701922..787f4a9 100644
---- a/src/racoon/cftoken.l
-+++ b/src/racoon/cftoken.l
-@@ -77,6 +77,10 @@
-
- #include "cfparse.h"
-
-+#ifndef GLOB_TILDE
-+#define GLOB_TILDE 0
-+#endif
-+
- int yyerrorcount = 0;
-
- #if defined(YIPS_DEBUG)
-diff --git a/src/racoon/logger.h b/src/racoon/logger.h
-index 3fd3e94..67af5f0 100644
---- a/src/racoon/logger.h
-+++ b/src/racoon/logger.h
-@@ -34,6 +34,9 @@
- #ifndef _LOGGER_H
- #define _LOGGER_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- struct log {
- int head;
- int siz;
-diff --git a/src/racoon/misc.h b/src/racoon/misc.h
-index 3e758d9..30d9825 100644
---- a/src/racoon/misc.h
-+++ b/src/racoon/misc.h
-@@ -34,6 +34,9 @@
- #ifndef _MISC_H
- #define _MISC_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- #define BIT2STR(b) bit2str(b, sizeof(b)<<3)
-
- #ifdef HAVE_FUNC_MACRO
-diff --git a/src/racoon/missing/crypto/sha2/sha2.h b/src/racoon/missing/crypto/sha2/sha2.h
-index 42bcc2a..c043dfe 100644
---- a/src/racoon/missing/crypto/sha2/sha2.h
-+++ b/src/racoon/missing/crypto/sha2/sha2.h
-@@ -40,6 +40,9 @@
- #ifndef __SHA2_H__
- #define __SHA2_H__
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
-diff --git a/src/racoon/netdb_dnssec.h b/src/racoon/netdb_dnssec.h
-index a11209d..98fd813 100644
---- a/src/racoon/netdb_dnssec.h
-+++ b/src/racoon/netdb_dnssec.h
-@@ -34,6 +34,9 @@
- #ifndef _NETDB_DNSSEC_H
- #define _NETDB_DNSSEC_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- #ifndef T_CERT
- #define T_CERT 37 /* defined by RFC2538 section 2 */
- #endif
-diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c
-index 8f26c19..a06c30e 100644
---- a/src/racoon/pfkey.c
-+++ b/src/racoon/pfkey.c
-@@ -59,7 +59,6 @@
- #include <sys/param.h>
- #include <sys/socket.h>
- #include <sys/queue.h>
--#include <sys/sysctl.h>
-
- #include <net/route.h>
- #include <net/pfkeyv2.h>
-diff --git a/src/racoon/plog.h b/src/racoon/plog.h
-index ed43c8b..920c850 100644
---- a/src/racoon/plog.h
-+++ b/src/racoon/plog.h
-@@ -34,6 +34,8 @@
- #ifndef _PLOG_H
- #define _PLOG_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
- #ifdef HAVE_STDARG_H
- #include <stdarg.h>
- #else
-diff --git a/src/racoon/str2val.h b/src/racoon/str2val.h
-index 4a7cec1..d3d698e 100644
---- a/src/racoon/str2val.h
-+++ b/src/racoon/str2val.h
-@@ -34,6 +34,9 @@
- #ifndef _STR2VAL_H
- #define _STR2VAL_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- extern caddr_t val2str __P((const char *, size_t));
- extern char *str2val __P((const char *, int, size_t *));
-
-diff --git a/src/racoon/vmbuf.h b/src/racoon/vmbuf.h
-index 3f2f4ea..8287a00 100644
---- a/src/racoon/vmbuf.h
-+++ b/src/racoon/vmbuf.h
-@@ -34,6 +34,9 @@
- #ifndef _VMBUF_H
- #define _VMBUF_H
-
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-+
- /*
- * bp v
- * v v
-diff --git a/src/setkey/extern.h b/src/setkey/extern.h
-index 6f439fa..a1d9d14 100644
---- a/src/setkey/extern.h
-+++ b/src/setkey/extern.h
-@@ -1,6 +1,7 @@
- /* $NetBSD: extern.h,v 1.5 2009/03/06 11:45:03 tteras Exp $ */
-
--
-+#undef __P
-+#define __P(protos) protos /* ANSI C prototypes */
-
- void parse_init __P((void));
- int parse __P((FILE **));
-diff --git a/src/setkey/setkey.c b/src/setkey/setkey.c
-index c400faa..51f8b75 100644
---- a/src/setkey/setkey.c
-+++ b/src/setkey/setkey.c
-@@ -40,7 +40,6 @@
- #include <sys/socket.h>
- #include <sys/time.h>
- #include <sys/stat.h>
--#include <sys/sysctl.h>
- #include <err.h>
- #include <netinet/in.h>
- #include <net/pfkeyv2.h>
---
-2.12.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch
deleted file mode 100644
index 228274436..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-ipsec-tools-add-openssl-1.1-support.patch
+++ /dev/null
@@ -1,1086 +0,0 @@
-From b572350a922187d43dd4629c3b43e19979fae3ef Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <cote2004-github@yahoo.com>
-Date: Tue, 25 Sep 2018 15:30:04 +0800
-Subject: [PATCH] ipsec-tools: add openssl 1.1 support
-
-To: equeiroz@troianet.com.br
-
-This patch updates the calls to openssl 1.1 API, and adds a
-compatibility layer so it compiles with (at least) openssl 1.0.2, I
-haven't tested it with lower versions, but all that's needed is to edit
-the openssl_compat.* files and add the missing functions there--they're
-usually trivial.
-
-Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
-
-Upstream-Status: Submitted [https://sourceforge.net/p/ipsec-tools/mailman/message/36327963/]
-https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/015-openssl-1.1.patch
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/racoon/Makefile.am | 10 +--
- src/racoon/algorithm.c | 6 +-
- src/racoon/crypto_openssl.c | 197 +++++++++++++++++++++-------------------
- src/racoon/crypto_openssl.h | 2 +-
- src/racoon/eaytest.c | 7 +-
- src/racoon/ipsec_doi.c | 2 +-
- src/racoon/openssl_compat.c | 213 ++++++++++++++++++++++++++++++++++++++++++++
- src/racoon/openssl_compat.h | 45 ++++++++++
- src/racoon/plainrsa-gen.c | 41 +++++----
- src/racoon/prsa_par.y | 28 ++++--
- src/racoon/rsalist.c | 5 +-
- 11 files changed, 430 insertions(+), 126 deletions(-)
- create mode 100644 src/racoon/openssl_compat.c
- create mode 100644 src/racoon/openssl_compat.h
-
-diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am
-index 0662957..272b009 100644
---- a/src/racoon/Makefile.am
-+++ b/src/racoon/Makefile.am
-@@ -4,7 +4,7 @@ sbin_PROGRAMS = racoon racoonctl plainrsa-gen
- noinst_PROGRAMS = eaytest
- include_racoon_HEADERS = racoonctl.h var.h vmbuf.h misc.h gcmalloc.h admin.h \
- schedule.h sockmisc.h isakmp_var.h isakmp.h isakmp_xauth.h \
-- isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h
-+ isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h openssl_compat.h
- lib_LTLIBRARIES = libracoon.la
-
- adminsockdir=${localstatedir}/racoon
-@@ -32,7 +32,7 @@ racoon_SOURCES = \
- gssapi.c dnssec.c getcertsbyname.c privsep.c \
- pfkey.c admin.c evt.c ipsec_doi.c oakley.c grabmyaddr.c vendorid.c \
- policy.c localconf.c remoteconf.c crypto_openssl.c algorithm.c \
-- proposal.c sainfo.c strnames.c \
-+ openssl_compat.c proposal.c sainfo.c strnames.c \
- plog.c logger.c schedule.c str2val.c \
- safefile.c backupsa.c genlist.c rsalist.c \
- cftoken.l cfparse.y prsa_tok.l prsa_par.y
-@@ -51,12 +51,12 @@ libracoon_la_SOURCES = kmpstat.c vmbuf.c sockmisc.c misc.c
- libracoon_la_CFLAGS = -DNOUSE_PRIVSEP $(AM_CFLAGS)
-
- plainrsa_gen_SOURCES = plainrsa-gen.c plog.c \
-- crypto_openssl.c logger.c
-+ crypto_openssl.c logger.c openssl_compat.c
- EXTRA_plainrsa_gen_SOURCES = $(MISSING_ALGOS)
- plainrsa_gen_LDADD = $(CRYPTOBJS) vmbuf.o misc.o
- plainrsa_gen_DEPENDENCIES = $(CRYPTOBJS) vmbuf.o misc.o
-
--eaytest_SOURCES = eaytest.c plog.c logger.c
-+eaytest_SOURCES = eaytest.c plog.c logger.c openssl_compat.c
- EXTRA_eaytest_SOURCES = missing/crypto/sha2/sha2.c
- eaytest_LDADD = crypto_openssl_test.o vmbuf.o str2val.o misc_noplog.o \
- $(CRYPTOBJS)
-@@ -75,7 +75,7 @@ noinst_HEADERS = \
- debugrm.h isakmp.h misc.h sainfo.h \
- dhgroup.h isakmp_agg.h netdb_dnssec.h schedule.h \
- isakmp_cfg.h isakmp_xauth.h isakmp_unity.h isakmp_frag.h \
-- throttle.h privsep.h \
-+ throttle.h privsep.h openssl_compat.h \
- cfparse_proto.h cftoken_proto.h genlist.h rsalist.h \
- missing/crypto/sha2/sha2.h missing/crypto/rijndael/rijndael_local.h \
- missing/crypto/rijndael/rijndael-api-fst.h \
-diff --git a/src/racoon/algorithm.c b/src/racoon/algorithm.c
-index 3fd50f6..66c874b 100644
---- a/src/racoon/algorithm.c
-+++ b/src/racoon/algorithm.c
-@@ -128,7 +128,7 @@ static struct enc_algorithm oakley_encdef[] = {
- { "aes", algtype_aes, OAKLEY_ATTR_ENC_ALG_AES, 16,
- eay_aes_encrypt, eay_aes_decrypt,
- eay_aes_weakkey, eay_aes_keylen, },
--#ifdef HAVE_OPENSSL_CAMELLIA_H
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- { "camellia", algtype_camellia, OAKLEY_ATTR_ENC_ALG_CAMELLIA, 16,
- eay_camellia_encrypt, eay_camellia_decrypt,
- eay_camellia_weakkey, eay_camellia_keylen, },
-@@ -168,7 +168,7 @@ static struct enc_algorithm ipsec_encdef[] = {
- { "twofish", algtype_twofish, IPSECDOI_ESP_TWOFISH, 16,
- NULL, NULL,
- NULL, eay_twofish_keylen, },
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- { "3idea", algtype_3idea, IPSECDOI_ESP_3IDEA, 8,
- NULL, NULL,
- NULL, NULL, },
-@@ -179,7 +179,7 @@ static struct enc_algorithm ipsec_encdef[] = {
- { "rc4", algtype_rc4, IPSECDOI_ESP_RC4, 8,
- NULL, NULL,
- NULL, NULL, },
--#ifdef HAVE_OPENSSL_CAMELLIA_H
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- { "camellia", algtype_camellia, IPSECDOI_ESP_CAMELLIA, 16,
- NULL, NULL,
- NULL, eay_camellia_keylen, },
-diff --git a/src/racoon/crypto_openssl.c b/src/racoon/crypto_openssl.c
-index 55b076a..8fb358f 100644
---- a/src/racoon/crypto_openssl.c
-+++ b/src/racoon/crypto_openssl.c
-@@ -90,6 +90,7 @@
- #endif
- #endif
- #include "plog.h"
-+#include "openssl_compat.h"
-
- #define USE_NEW_DES_API
-
-@@ -316,9 +317,12 @@ eay_cmp_asn1dn(n1, n2)
- i = idx+1;
- goto end;
- }
-- if ((ea->value->length == 1 && ea->value->data[0] == '*') ||
-- (eb->value->length == 1 && eb->value->data[0] == '*')) {
-- if (OBJ_cmp(ea->object,eb->object)) {
-+ ASN1_STRING *sa = X509_NAME_ENTRY_get_data(ea);
-+ ASN1_STRING *sb = X509_NAME_ENTRY_get_data(eb);
-+ if ((ASN1_STRING_length(sa) == 1 && ASN1_STRING_get0_data(sa)[0] == '*') ||
-+ (ASN1_STRING_length(sb) == 1 && ASN1_STRING_get0_data(sb)[0] == '*')) {
-+ if (OBJ_cmp(X509_NAME_ENTRY_get_object(ea),
-+ X509_NAME_ENTRY_get_object(eb))) {
- i = idx+1;
- goto end;
- }
-@@ -430,7 +434,7 @@ cb_check_cert_local(ok, ctx)
-
- if (!ok) {
- X509_NAME_oneline(
-- X509_get_subject_name(ctx->current_cert),
-+ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)),
- buf,
- 256);
- /*
-@@ -438,7 +442,8 @@ cb_check_cert_local(ok, ctx)
- * ok if they are self signed. But we should still warn
- * the user.
- */
-- switch (ctx->error) {
-+ int ctx_error = X509_STORE_CTX_get_error(ctx);
-+ switch (ctx_error) {
- case X509_V_ERR_CERT_HAS_EXPIRED:
- case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
- case X509_V_ERR_INVALID_CA:
-@@ -453,9 +458,9 @@ cb_check_cert_local(ok, ctx)
- }
- plog(log_tag, LOCATION, NULL,
- "%s(%d) at depth:%d SubjectName:%s\n",
-- X509_verify_cert_error_string(ctx->error),
-- ctx->error,
-- ctx->error_depth,
-+ X509_verify_cert_error_string(ctx_error),
-+ ctx_error,
-+ X509_STORE_CTX_get_error_depth(ctx),
- buf);
- }
- ERR_clear_error();
-@@ -477,10 +482,11 @@ cb_check_cert_remote(ok, ctx)
-
- if (!ok) {
- X509_NAME_oneline(
-- X509_get_subject_name(ctx->current_cert),
-+ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)),
- buf,
- 256);
-- switch (ctx->error) {
-+ int ctx_error=X509_STORE_CTX_get_error(ctx);
-+ switch (ctx_error) {
- case X509_V_ERR_UNABLE_TO_GET_CRL:
- ok = 1;
- log_tag = LLV_WARNING;
-@@ -490,9 +496,9 @@ cb_check_cert_remote(ok, ctx)
- }
- plog(log_tag, LOCATION, NULL,
- "%s(%d) at depth:%d SubjectName:%s\n",
-- X509_verify_cert_error_string(ctx->error),
-- ctx->error,
-- ctx->error_depth,
-+ X509_verify_cert_error_string(ctx_error),
-+ ctx_error,
-+ X509_STORE_CTX_get_error_depth(ctx),
- buf);
- }
- ERR_clear_error();
-@@ -516,14 +522,15 @@ eay_get_x509asn1subjectname(cert)
- if (x509 == NULL)
- goto error;
-
-+ X509_NAME *subject_name = X509_get_subject_name(x509);
- /* get the length of the name */
-- len = i2d_X509_NAME(x509->cert_info->subject, NULL);
-+ len = i2d_X509_NAME(subject_name, NULL);
- name = vmalloc(len);
- if (!name)
- goto error;
- /* get the name */
- bp = (unsigned char *) name->v;
-- len = i2d_X509_NAME(x509->cert_info->subject, &bp);
-+ len = i2d_X509_NAME(subject_name, &bp);
-
- X509_free(x509);
-
-@@ -661,15 +668,16 @@ eay_get_x509asn1issuername(cert)
- if (x509 == NULL)
- goto error;
-
-+ X509_NAME *issuer_name = X509_get_issuer_name(x509);
- /* get the length of the name */
-- len = i2d_X509_NAME(x509->cert_info->issuer, NULL);
-+ len = i2d_X509_NAME(issuer_name, NULL);
- name = vmalloc(len);
- if (name == NULL)
- goto error;
-
- /* get the name */
- bp = (unsigned char *) name->v;
-- len = i2d_X509_NAME(x509->cert_info->issuer, &bp);
-+ len = i2d_X509_NAME(issuer_name, &bp);
-
- X509_free(x509);
-
-@@ -850,7 +858,7 @@ eay_check_x509sign(source, sig, cert)
- return -1;
- }
-
-- res = eay_rsa_verify(source, sig, evp->pkey.rsa);
-+ res = eay_rsa_verify(source, sig, EVP_PKEY_get0_RSA(evp));
-
- EVP_PKEY_free(evp);
- X509_free(x509);
-@@ -992,7 +1000,7 @@ eay_get_x509sign(src, privkey)
- if (evp == NULL)
- return NULL;
-
-- sig = eay_rsa_sign(src, evp->pkey.rsa);
-+ sig = eay_rsa_sign(src, EVP_PKEY_get0_RSA(evp));
-
- EVP_PKEY_free(evp);
-
-@@ -1079,7 +1087,11 @@ eay_strerror()
- int line, flags;
- unsigned long es;
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ es = 0; /* even when allowed by OPENSSL_API_COMPAT, it is defined as 0 */
-+#else
- es = CRYPTO_thread_id();
-+#endif
-
- while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0){
- n = snprintf(ebuf + len, sizeof(ebuf) - len,
-@@ -1100,7 +1112,7 @@ vchar_t *
- evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc)
- {
- vchar_t *res;
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
-
- if (!e)
- return NULL;
-@@ -1111,7 +1123,7 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc
- if ((res = vmalloc(data->l)) == NULL)
- return NULL;
-
-- EVP_CIPHER_CTX_init(&ctx);
-+ ctx = EVP_CIPHER_CTX_new();
-
- switch(EVP_CIPHER_nid(e)){
- case NID_bf_cbc:
-@@ -1125,54 +1137,41 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc
- /* XXX: can we do that also for algos with a fixed key size ?
- */
- /* init context without key/iv
-- */
-- if (!EVP_CipherInit(&ctx, e, NULL, NULL, enc))
-- {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ */
-+ if (!EVP_CipherInit(ctx, e, NULL, NULL, enc))
-+ goto out;
-
-- /* update key size
-- */
-- if (!EVP_CIPHER_CTX_set_key_length(&ctx, key->l))
-- {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
--
-- /* finalize context init with desired key size
-- */
-- if (!EVP_CipherInit(&ctx, NULL, (u_char *) key->v,
-+ /* update key size
-+ */
-+ if (!EVP_CIPHER_CTX_set_key_length(ctx, key->l))
-+ goto out;
-+
-+ /* finalize context init with desired key size
-+ */
-+ if (!EVP_CipherInit(ctx, NULL, (u_char *) key->v,
- (u_char *) iv->v, enc))
-- {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ goto out;
- break;
- default:
-- if (!EVP_CipherInit(&ctx, e, (u_char *) key->v,
-- (u_char *) iv->v, enc)) {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ if (!EVP_CipherInit(ctx, e, (u_char *) key->v,
-+ (u_char *) iv->v, enc))
-+ goto out;
- }
-
- /* disable openssl padding */
-- EVP_CIPHER_CTX_set_padding(&ctx, 0);
-+ EVP_CIPHER_CTX_set_padding(ctx, 0);
-
-- if (!EVP_Cipher(&ctx, (u_char *) res->v, (u_char *) data->v, data->l)) {
-- OpenSSL_BUG();
-- vfree(res);
-- return NULL;
-- }
-+ if (!EVP_Cipher(ctx, (u_char *) res->v, (u_char *) data->v, data->l))
-+ goto out;
-
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
-
- return res;
-+out:
-+ EVP_CIPHER_CTX_free(ctx);
-+ OpenSSL_BUG();
-+ vfree(res);
-+ return NULL;
- }
-
- int
-@@ -1230,7 +1229,7 @@ eay_des_keylen(len)
- return evp_keylen(len, EVP_des_cbc());
- }
-
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- /*
- * IDEA-CBC
- */
-@@ -1587,7 +1586,7 @@ eay_aes_keylen(len)
- return len;
- }
-
--#if defined(HAVE_OPENSSL_CAMELLIA_H)
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- /*
- * CAMELLIA-CBC
- */
-@@ -1680,9 +1679,9 @@ eay_hmac_init(key, md)
- vchar_t *key;
- const EVP_MD *md;
- {
-- HMAC_CTX *c = racoon_malloc(sizeof(*c));
-+ HMAC_CTX *c = HMAC_CTX_new();
-
-- HMAC_Init(c, key->v, key->l, md);
-+ HMAC_Init_ex(c, key->v, key->l, md, NULL);
-
- return (caddr_t)c;
- }
-@@ -1761,8 +1760,7 @@ eay_hmacsha2_512_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA512_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1811,8 +1809,7 @@ eay_hmacsha2_384_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA384_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1861,8 +1858,7 @@ eay_hmacsha2_256_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA256_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1912,8 +1908,7 @@ eay_hmacsha1_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (SHA_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -1962,8 +1957,7 @@ eay_hmacmd5_final(c)
-
- HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l);
- res->l = l;
-- HMAC_cleanup((HMAC_CTX *)c);
-- (void)racoon_free(c);
-+ HMAC_CTX_free((HMAC_CTX *)c);
-
- if (MD5_DIGEST_LENGTH != res->l) {
- plog(LLV_ERROR, LOCATION, NULL,
-@@ -2266,6 +2260,7 @@ eay_dh_generate(prime, g, publen, pub, priv)
- u_int32_t g;
- {
- BIGNUM *p = NULL;
-+ BIGNUM *BNg = NULL;
- DH *dh = NULL;
- int error = -1;
-
-@@ -2276,25 +2271,28 @@ eay_dh_generate(prime, g, publen, pub, priv)
-
- if ((dh = DH_new()) == NULL)
- goto end;
-- dh->p = p;
-- p = NULL; /* p is now part of dh structure */
-- dh->g = NULL;
-- if ((dh->g = BN_new()) == NULL)
-+ if ((BNg = BN_new()) == NULL)
- goto end;
-- if (!BN_set_word(dh->g, g))
-+ if (!BN_set_word(BNg, g))
- goto end;
-+ if (! DH_set0_pqg(dh, p, NULL, BNg))
-+ goto end;
-+ BNg = NULL;
-+ p = NULL; /* p is now part of dh structure */
-
- if (publen != 0)
-- dh->length = publen;
-+ DH_set_length(dh, publen);
-
- /* generate public and private number */
- if (!DH_generate_key(dh))
- goto end;
-
- /* copy results to buffers */
-- if (eay_bn2v(pub, dh->pub_key) < 0)
-+ BIGNUM *pub_key, *priv_key;
-+ DH_get0_key(dh, (const BIGNUM**) &pub_key, (const BIGNUM**) &priv_key);
-+ if (eay_bn2v(pub, pub_key) < 0)
- goto end;
-- if (eay_bn2v(priv, dh->priv_key) < 0) {
-+ if (eay_bn2v(priv, priv_key) < 0) {
- vfree(*pub);
- goto end;
- }
-@@ -2306,6 +2304,8 @@ end:
- DH_free(dh);
- if (p != 0)
- BN_free(p);
-+ if (BNg != 0)
-+ BN_free(BNg);
- return(error);
- }
-
-@@ -2319,6 +2319,10 @@ eay_dh_compute(prime, g, pub, priv, pub2, key)
- int l;
- unsigned char *v = NULL;
- int error = -1;
-+ BIGNUM *p = BN_new();
-+ BIGNUM *BNg = BN_new();
-+ BIGNUM *pub_key = BN_new();
-+ BIGNUM *priv_key = BN_new();
-
- /* make public number to compute */
- if (eay_v2bn(&dh_pub, pub2) < 0)
-@@ -2327,19 +2331,21 @@ eay_dh_compute(prime, g, pub, priv, pub2, key)
- /* make DH structure */
- if ((dh = DH_new()) == NULL)
- goto end;
-- if (eay_v2bn(&dh->p, prime) < 0)
-+ if (p == NULL || BNg == NULL || pub_key == NULL || priv_key == NULL)
- goto end;
-- if (eay_v2bn(&dh->pub_key, pub) < 0)
-+
-+ if (eay_v2bn(&p, prime) < 0)
- goto end;
-- if (eay_v2bn(&dh->priv_key, priv) < 0)
-+ if (eay_v2bn(&pub_key, pub) < 0)
- goto end;
-- dh->length = pub2->l * 8;
--
-- dh->g = NULL;
-- if ((dh->g = BN_new()) == NULL)
-+ if (eay_v2bn(&priv_key, priv) < 0)
- goto end;
-- if (!BN_set_word(dh->g, g))
-+ if (!BN_set_word(BNg, g))
- goto end;
-+ DH_set0_key(dh, pub_key, priv_key);
-+ DH_set_length(dh, pub2->l * 8);
-+ DH_set0_pqg(dh, p, NULL, BNg);
-+ pub_key = priv_key = p = BNg = NULL;
-
- if ((v = racoon_calloc(prime->l, sizeof(u_char))) == NULL)
- goto end;
-@@ -2350,6 +2356,14 @@ eay_dh_compute(prime, g, pub, priv, pub2, key)
- error = 0;
-
- end:
-+ if (p != NULL)
-+ BN_free(p);
-+ if (BNg != NULL)
-+ BN_free(BNg);
-+ if (pub_key != NULL)
-+ BN_free(pub_key);
-+ if (priv_key != NULL)
-+ BN_free(priv_key);
- if (dh_pub != NULL)
- BN_free(dh_pub);
- if (dh != NULL)
-@@ -2400,12 +2414,14 @@ eay_bn2v(var, bn)
- void
- eay_init()
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- OpenSSL_add_all_algorithms();
- ERR_load_crypto_strings();
- #ifdef HAVE_OPENSSL_ENGINE_H
- ENGINE_load_builtin_engines();
- ENGINE_register_all_complete();
- #endif
-+#endif
- }
-
- vchar_t *
-@@ -2504,8 +2520,7 @@ binbuf_pubkey2rsa(vchar_t *binbuf)
- goto out;
- }
-
-- rsa_pub->n = mod;
-- rsa_pub->e = exp;
-+ RSA_set0_key(rsa_pub, mod, exp, NULL);
-
- out:
- return rsa_pub;
-@@ -2582,5 +2597,5 @@ eay_random()
- const char *
- eay_version()
- {
-- return SSLeay_version(SSLEAY_VERSION);
-+ return OpenSSL_version(OPENSSL_VERSION);
- }
-diff --git a/src/racoon/crypto_openssl.h b/src/racoon/crypto_openssl.h
-index 66fac73..ee5b765 100644
---- a/src/racoon/crypto_openssl.h
-+++ b/src/racoon/crypto_openssl.h
-@@ -124,7 +124,7 @@ extern vchar_t *eay_aes_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
- extern int eay_aes_weakkey __P((vchar_t *));
- extern int eay_aes_keylen __P((int));
-
--#if defined(HAVE_OPENSSL_CAMELLIA_H)
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- /* Camellia */
- extern vchar_t *eay_camellia_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
- extern vchar_t *eay_camellia_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
-diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c
-index d609e4f..d2d20da 100644
---- a/src/racoon/eaytest.c
-+++ b/src/racoon/eaytest.c
-@@ -62,6 +62,7 @@
- #include "dhgroup.h"
- #include "crypto_openssl.h"
- #include "gnuc.h"
-+#include "openssl_compat.h"
-
- #include "package_version.h"
-
-@@ -103,7 +104,7 @@ rsa_verify_with_pubkey(src, sig, pubkey_txt)
- printf ("PEM_read_PUBKEY(): %s\n", eay_strerror());
- return -1;
- }
-- error = eay_check_rsasign(src, sig, evp->pkey.rsa);
-+ error = eay_check_rsasign(src, sig, EVP_PKEY_get0_RSA(evp));
-
- return error;
- }
-@@ -698,7 +699,7 @@ ciphertest(ac, av)
- eay_cast_encrypt, eay_cast_decrypt) < 0)
- return -1;
-
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- if (ciphertest_1 ("IDEA",
- &data, 8,
- &key, key.l,
-@@ -715,7 +716,7 @@ ciphertest(ac, av)
- eay_rc5_encrypt, eay_rc5_decrypt) < 0)
- return -1;
- #endif
--#if defined(HAVE_OPENSSL_CAMELLIA_H)
-+#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA)
- if (ciphertest_1 ("CAMELLIA",
- &data, 16,
- &key, key.l,
-diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c
-index 08e4325..7b1604d 100644
---- a/src/racoon/ipsec_doi.c
-+++ b/src/racoon/ipsec_doi.c
-@@ -715,7 +715,7 @@ out:
- /* key length must not be specified on some algorithms */
- if (keylen) {
- if (sa->enctype == OAKLEY_ATTR_ENC_ALG_DES
--#ifdef HAVE_OPENSSL_IDEA_H
-+#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA)
- || sa->enctype == OAKLEY_ATTR_ENC_ALG_IDEA
- #endif
- || sa->enctype == OAKLEY_ATTR_ENC_ALG_3DES) {
-diff --git a/src/racoon/openssl_compat.c b/src/racoon/openssl_compat.c
-new file mode 100644
-index 0000000..864b5fb
---- /dev/null
-+++ b/src/racoon/openssl_compat.c
-@@ -0,0 +1,213 @@
-+/*
-+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
-+ *
-+ * Licensed under the OpenSSL license (the "License"). You may not use
-+ * this file except in compliance with the License. You can obtain a copy
-+ * in the file LICENSE in the source distribution or at
-+ * https://www.openssl.org/source/license.html
-+ */
-+
-+#include "openssl_compat.h"
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#include <string.h>
-+
-+static void *OPENSSL_zalloc(size_t num)
-+{
-+ void *ret = OPENSSL_malloc(num);
-+
-+ if (ret != NULL)
-+ memset(ret, 0, num);
-+ return ret;
-+}
-+
-+int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+ /* If the fields n and e in r are NULL, the corresponding input
-+ * parameters MUST be non-NULL for n and e. d may be
-+ * left NULL (in case only the public key is used).
-+ */
-+ if ((r->n == NULL && n == NULL)
-+ || (r->e == NULL && e == NULL))
-+ return 0;
-+
-+ if (n != NULL) {
-+ BN_free(r->n);
-+ r->n = n;
-+ }
-+ if (e != NULL) {
-+ BN_free(r->e);
-+ r->e = e;
-+ }
-+ if (d != NULL) {
-+ BN_free(r->d);
-+ r->d = d;
-+ }
-+
-+ return 1;
-+}
-+
-+int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
-+{
-+ /* If the fields p and q in r are NULL, the corresponding input
-+ * parameters MUST be non-NULL.
-+ */
-+ if ((r->p == NULL && p == NULL)
-+ || (r->q == NULL && q == NULL))
-+ return 0;
-+
-+ if (p != NULL) {
-+ BN_free(r->p);
-+ r->p = p;
-+ }
-+ if (q != NULL) {
-+ BN_free(r->q);
-+ r->q = q;
-+ }
-+
-+ return 1;
-+}
-+
-+int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-+{
-+ /* If the fields dmp1, dmq1 and iqmp in r are NULL, the corresponding input
-+ * parameters MUST be non-NULL.
-+ */
-+ if ((r->dmp1 == NULL && dmp1 == NULL)
-+ || (r->dmq1 == NULL && dmq1 == NULL)
-+ || (r->iqmp == NULL && iqmp == NULL))
-+ return 0;
-+
-+ if (dmp1 != NULL) {
-+ BN_free(r->dmp1);
-+ r->dmp1 = dmp1;
-+ }
-+ if (dmq1 != NULL) {
-+ BN_free(r->dmq1);
-+ r->dmq1 = dmq1;
-+ }
-+ if (iqmp != NULL) {
-+ BN_free(r->iqmp);
-+ r->iqmp = iqmp;
-+ }
-+
-+ return 1;
-+}
-+
-+void RSA_get0_key(const RSA *r,
-+ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ if (n != NULL)
-+ *n = r->n;
-+ if (e != NULL)
-+ *e = r->e;
-+ if (d != NULL)
-+ *d = r->d;
-+}
-+
-+void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
-+{
-+ if (p != NULL)
-+ *p = r->p;
-+ if (q != NULL)
-+ *q = r->q;
-+}
-+
-+void RSA_get0_crt_params(const RSA *r,
-+ const BIGNUM **dmp1, const BIGNUM **dmq1,
-+ const BIGNUM **iqmp)
-+{
-+ if (dmp1 != NULL)
-+ *dmp1 = r->dmp1;
-+ if (dmq1 != NULL)
-+ *dmq1 = r->dmq1;
-+ if (iqmp != NULL)
-+ *iqmp = r->iqmp;
-+}
-+
-+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ /* If the fields p and g in d are NULL, the corresponding input
-+ * parameters MUST be non-NULL. q may remain NULL.
-+ */
-+ if ((dh->p == NULL && p == NULL)
-+ || (dh->g == NULL && g == NULL))
-+ return 0;
-+
-+ if (p != NULL) {
-+ BN_free(dh->p);
-+ dh->p = p;
-+ }
-+ if (q != NULL) {
-+ BN_free(dh->q);
-+ dh->q = q;
-+ }
-+ if (g != NULL) {
-+ BN_free(dh->g);
-+ dh->g = g;
-+ }
-+
-+ if (q != NULL) {
-+ dh->length = BN_num_bits(q);
-+ }
-+
-+ return 1;
-+}
-+
-+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if (pub_key != NULL)
-+ *pub_key = dh->pub_key;
-+ if (priv_key != NULL)
-+ *priv_key = dh->priv_key;
-+}
-+
-+int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ /* If the field pub_key in dh is NULL, the corresponding input
-+ * parameters MUST be non-NULL. The priv_key field may
-+ * be left NULL.
-+ */
-+ if (dh->pub_key == NULL && pub_key == NULL)
-+ return 0;
-+
-+ if (pub_key != NULL) {
-+ BN_free(dh->pub_key);
-+ dh->pub_key = pub_key;
-+ }
-+ if (priv_key != NULL) {
-+ BN_free(dh->priv_key);
-+ dh->priv_key = priv_key;
-+ }
-+
-+ return 1;
-+}
-+
-+int DH_set_length(DH *dh, long length)
-+{
-+ dh->length = length;
-+ return 1;
-+}
-+
-+HMAC_CTX *HMAC_CTX_new(void)
-+{
-+ return OPENSSL_zalloc(sizeof(HMAC_CTX));
-+}
-+
-+void HMAC_CTX_free(HMAC_CTX *ctx)
-+{
-+ HMAC_CTX_cleanup(ctx);
-+ OPENSSL_free(ctx);
-+}
-+
-+RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
-+{
-+ if (pkey->type != EVP_PKEY_RSA) {
-+ return NULL;
-+ }
-+ return pkey->pkey.rsa;
-+}
-+
-+
-+#endif /* OPENSSL_VERSION_NUMBER */
-diff --git a/src/racoon/openssl_compat.h b/src/racoon/openssl_compat.h
-new file mode 100644
-index 0000000..9e152c2
---- /dev/null
-+++ b/src/racoon/openssl_compat.h
-@@ -0,0 +1,45 @@
-+#ifndef OPENSSL_COMPAT_H
-+#define OPENSSL_COMPAT_H
-+
-+#include <openssl/opensslv.h>
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#include <openssl/rsa.h>
-+#include <openssl/dh.h>
-+#include <openssl/evp.h>
-+#include <openssl/hmac.h>
-+
-+int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
-+int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
-+int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp);
-+void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d);
-+void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q);
-+void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp);
-+
-+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
-+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key);
-+int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);
-+int DH_set_length(DH *dh, long length);
-+
-+HMAC_CTX *HMAC_CTX_new(void);
-+void HMAC_CTX_free(HMAC_CTX* ctx);
-+
-+RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
-+
-+#define ASN1_STRING_length(s) s->length
-+#define ASN1_STRING_get0_data(s) s->data
-+
-+#define X509_get_subject_name(x) x->cert_info->subject
-+#define X509_get_issuer_name(x) x->cert_info->issuer
-+#define X509_NAME_ENTRY_get_data(n) n->value
-+#define X509_NAME_ENTRY_get_object(n) n->object
-+#define X509_STORE_CTX_get_current_cert(ctx) ctx->current_cert
-+#define X509_STORE_CTX_get_error(ctx) ctx->error
-+#define X509_STORE_CTX_get_error_depth(ctx) ctx->error_depth
-+
-+#define OPENSSL_VERSION SSLEAY_VERSION
-+#define OpenSSL_version SSLeay_version
-+
-+#endif /* OPENSSL_VERSION_NUMBER */
-+
-+#endif /* OPENSSL_COMPAT_H */
-diff --git a/src/racoon/plainrsa-gen.c b/src/racoon/plainrsa-gen.c
-index cad1861..b949b08 100644
---- a/src/racoon/plainrsa-gen.c
-+++ b/src/racoon/plainrsa-gen.c
-@@ -60,6 +60,7 @@
- #include "vmbuf.h"
- #include "plog.h"
- #include "crypto_openssl.h"
-+#include "openssl_compat.h"
-
- #include "package_version.h"
-
-@@ -90,12 +91,14 @@ mix_b64_pubkey(const RSA *key)
- char *binbuf;
- long binlen, ret;
- vchar_t *res;
--
-- binlen = 1 + BN_num_bytes(key->e) + BN_num_bytes(key->n);
-+ const BIGNUM *e, *n;
-+
-+ RSA_get0_key(key, &n, &e, NULL);
-+ binlen = 1 + BN_num_bytes(e) + BN_num_bytes(n);
- binbuf = malloc(binlen);
- memset(binbuf, 0, binlen);
-- binbuf[0] = BN_bn2bin(key->e, (unsigned char *) &binbuf[1]);
-- ret = BN_bn2bin(key->n, (unsigned char *) (&binbuf[binbuf[0] + 1]));
-+ binbuf[0] = BN_bn2bin(e, (unsigned char *) &binbuf[1]);
-+ ret = BN_bn2bin(n, (unsigned char *) (&binbuf[binbuf[0] + 1]));
- if (1 + binbuf[0] + ret != binlen) {
- plog(LLV_ERROR, LOCATION, NULL,
- "Pubkey generation failed. This is really strange...\n");
-@@ -131,16 +134,20 @@ print_rsa_key(FILE *fp, const RSA *key)
-
- fprintf(fp, "# : PUB 0s%s\n", pubkey64->v);
- fprintf(fp, ": RSA\t{\n");
-- fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(key->n));
-+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
-+ RSA_get0_key(key, &n, &e, &d);
-+ RSA_get0_factors(key, &p, &q);
-+ RSA_get0_crt_params(key, &dmp1, &dmq1, &iqmp);
-+ fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(n));
- fprintf(fp, "\t# pubkey=0s%s\n", pubkey64->v);
-- fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(key->n)));
-- fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(key->e)));
-- fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(key->d)));
-- fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(key->p)));
-- fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(key->q)));
-- fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(key->dmp1)));
-- fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(key->dmq1)));
-- fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(key->iqmp)));
-+ fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(n)));
-+ fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(e)));
-+ fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(d)));
-+ fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(p)));
-+ fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(q)));
-+ fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(dmp1)));
-+ fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(dmq1)));
-+ fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(iqmp)));
- fprintf(fp, " }\n");
-
- vfree(pubkey64);
-@@ -203,11 +210,13 @@ int
- gen_rsa_key(FILE *fp, size_t bits, unsigned long exp)
- {
- int ret;
-- RSA *key;
-+ RSA *key = RSA_new();
-+ BIGNUM *e = BN_new();
-
-- key = RSA_generate_key(bits, exp, NULL, NULL);
-- if (!key) {
-+ BN_set_word(e, exp);
-+ if (! RSA_generate_key_ex(key, bits, e, NULL)) {
- fprintf(stderr, "RSA_generate_key(): %s\n", eay_strerror());
-+ RSA_free(key);
- return -1;
- }
-
-diff --git a/src/racoon/prsa_par.y b/src/racoon/prsa_par.y
-index 1987e4d..27ce4c6 100644
---- a/src/racoon/prsa_par.y
-+++ b/src/racoon/prsa_par.y
-@@ -68,6 +68,7 @@
- #include "isakmp_var.h"
- #include "handler.h"
- #include "crypto_openssl.h"
-+#include "openssl_compat.h"
- #include "sockmisc.h"
- #include "rsalist.h"
-
-@@ -85,7 +86,18 @@ char *prsa_cur_fname = NULL;
- struct genlist *prsa_cur_list = NULL;
- enum rsa_key_type prsa_cur_type = RSA_TYPE_ANY;
-
--static RSA *rsa_cur;
-+struct my_rsa_st {
-+ BIGNUM *n;
-+ BIGNUM *e;
-+ BIGNUM *d;
-+ BIGNUM *p;
-+ BIGNUM *q;
-+ BIGNUM *dmp1;
-+ BIGNUM *dmq1;
-+ BIGNUM *iqmp;
-+};
-+
-+static struct my_rsa_st *rsa_cur;
-
- void
- prsaerror(const char *s, ...)
-@@ -201,8 +213,12 @@ rsa_statement:
- rsa_cur->iqmp = NULL;
- }
- }
-- $$ = rsa_cur;
-- rsa_cur = RSA_new();
-+ RSA * rsa_tmp = RSA_new();
-+ RSA_set0_key(rsa_tmp, rsa_cur->n, rsa_cur->e, rsa_cur->d);
-+ RSA_set0_factors(rsa_tmp, rsa_cur->p, rsa_cur->q);
-+ RSA_set0_crt_params(rsa_tmp, rsa_cur->dmp1, rsa_cur->dmq1, rsa_cur->iqmp);
-+ $$ = rsa_tmp;
-+ memset(rsa_cur, 0, sizeof(struct my_rsa_st));
- }
- | TAG_PUB BASE64
- {
-@@ -351,10 +367,12 @@ prsa_parse_file(struct genlist *list, char *fname, enum rsa_key_type type)
- prsa_cur_fname = fname;
- prsa_cur_list = list;
- prsa_cur_type = type;
-- rsa_cur = RSA_new();
-+ rsa_cur = malloc(sizeof(struct my_rsa_st));
-+ memset(rsa_cur, 0, sizeof(struct my_rsa_st));
- ret = prsaparse();
- if (rsa_cur) {
-- RSA_free(rsa_cur);
-+ memset(rsa_cur, 0, sizeof(struct my_rsa_st));
-+ free(rsa_cur);
- rsa_cur = NULL;
- }
- fclose (fp);
-diff --git a/src/racoon/rsalist.c b/src/racoon/rsalist.c
-index f152c82..96e8363 100644
---- a/src/racoon/rsalist.c
-+++ b/src/racoon/rsalist.c
-@@ -52,6 +52,7 @@
- #include "genlist.h"
- #include "remoteconf.h"
- #include "crypto_openssl.h"
-+#include "openssl_compat.h"
-
- #ifndef LIST_FIRST
- #define LIST_FIRST(head) ((head)->lh_first)
-@@ -98,7 +99,9 @@ rsa_key_dup(struct rsa_key *key)
- return NULL;
-
- if (key->rsa) {
-- new->rsa = key->rsa->d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa);
-+ const BIGNUM *d;
-+ RSA_get0_key(key->rsa, NULL, NULL, &d);
-+ new->rsa = (d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa));
- if (new->rsa == NULL)
- goto dup_error;
- }
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch
deleted file mode 100644
index d5602c03d..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 738a9857be9c92ad2f70be88ccee238e3154a936 Mon Sep 17 00:00:00 2001
-From: Joe MacDonald <joe.macdonald@windriver.com>
-Date: Wed, 2 Oct 2013 14:20:37 -0400
-Subject: [PATCH] racoon/pfkey: avoid potential null-pointer dereference
-
-Building with -Werror=maybe-uninitialized revealed that 'remote' from
-pk_recvmigrate() could be used with uninitialized data in
-migrate_sp_ike_addresses(). Ensure it is always at a minimum assigned
-NULL.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
----
- src/racoon/pfkey.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c
-index d00b166..e0dc1db 100644
---- a/src/racoon/pfkey.c
-+++ b/src/racoon/pfkey.c
-@@ -3352,7 +3352,7 @@ pk_recvmigrate(mhp)
- struct sockaddr *old_saddr, *new_saddr;
- struct sockaddr *old_daddr, *new_daddr;
- struct sockaddr *old_local, *old_remote;
-- struct sockaddr *local, *remote;
-+ struct sockaddr *local, *remote = NULL;
- struct sadb_x_kmaddress *kmaddr;
- struct sadb_x_policy *xpl;
- struct sadb_x_ipsecrequest *xisr_list;
---
-1.7.9.5
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch
deleted file mode 100644
index 13e9d73fc..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-Don-t-link-against-libfl.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From e48b9097dce7bc2bfbb9e9c542124d3b5cebab39 Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul@paulbarker.me.uk>
-Date: Wed, 5 Mar 2014 13:39:14 +0000
-Subject: [PATCH] Don't link against libfl
-
-We can remove all references to yywrap by adding "%option noyywrap" statements
-to each flex source file that doesn't override yywrap. After this, we no longer
-need to link against libfl and so no longer get errors about undefined
-references to yylex.
-
-Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
-Upstream-status: Submitted 2014-03-11
- see http://sourceforge.net/p/ipsec-tools/mailman/ipsec-tools-devel/thread/CANyK_8ewmxGA3vBVJW6s1APXPmxPR%2BDFWZ61EL8pCt288aKQ6w%40mail.gmail.com/#msg32088797
----
- src/libipsec/Makefile.am | 1 -
- src/racoon/Makefile.am | 2 +-
- src/racoon/cftoken.l | 2 ++
- src/setkey/Makefile.am | 1 -
- src/setkey/token.l | 2 ++
- 5 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/libipsec/Makefile.am b/src/libipsec/Makefile.am
-index 6a4e3b3..df1e106 100644
---- a/src/libipsec/Makefile.am
-+++ b/src/libipsec/Makefile.am
-@@ -26,7 +26,6 @@ libipsec_la_SOURCES = \
- # version is current:revision:age.
- # See: http://www.gnu.org/manual/libtool-1.4.2/html_chapter/libtool_6.html#SEC32
- libipsec_la_LDFLAGS = -version-info 0:1:0
--libipsec_la_LIBADD = $(LEXLIB)
-
- noinst_HEADERS = ipsec_strerror.h
-
-diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am
-index dbaded9..0662957 100644
---- a/src/racoon/Makefile.am
-+++ b/src/racoon/Makefile.am
-@@ -38,7 +38,7 @@ racoon_SOURCES = \
- cftoken.l cfparse.y prsa_tok.l prsa_par.y
- EXTRA_racoon_SOURCES = isakmp_xauth.c isakmp_cfg.c isakmp_unity.c throttle.c \
- isakmp_frag.c nattraversal.c security.c $(MISSING_ALGOS)
--racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(LEXLIB) \
-+racoon_LDADD = $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) \
- $(SECCTX_OBJS) vmbuf.o sockmisc.o misc.o ../libipsec/libipsec.la
- racoon_DEPENDENCIES = \
- $(CRYPTOBJS) $(HYBRID_OBJS) $(NATT_OBJS) $(FRAG_OBJS) $(SECCTX_OBJS) \
-diff --git a/src/racoon/cftoken.l b/src/racoon/cftoken.l
-index 490242c..1701922 100644
---- a/src/racoon/cftoken.l
-+++ b/src/racoon/cftoken.l
-@@ -106,6 +106,8 @@ static int incstackp = 0;
- static int yy_first_time = 1;
- %}
-
-+%option noyywrap
-+
- /* common seciton */
- nl \n
- ws [ \t]+
-diff --git a/src/setkey/Makefile.am b/src/setkey/Makefile.am
-index 746c1f1..389e6cf 100644
---- a/src/setkey/Makefile.am
-+++ b/src/setkey/Makefile.am
-@@ -13,7 +13,6 @@ setkey_SOURCES = \
-
- setkey_LDFLAGS = ../libipsec/libipsec.la
- setkey_DEPENDENCIES = ../libipsec/libipsec.la
--setkey_LDADD = $(LEXLIB)
-
- noinst_HEADERS = vchar.h extern.h
- man8_MANS = setkey.8
-diff --git a/src/setkey/token.l b/src/setkey/token.l
-index ad3d843..eb23b76 100644
---- a/src/setkey/token.l
-+++ b/src/setkey/token.l
-@@ -88,6 +88,8 @@
- #endif
- %}
-
-+%option noyywrap
-+
- /* common section */
- nl \n
- ws [ \t]+
---
-1.9.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch
deleted file mode 100644
index e9dd84aaa..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0002-cfparse-clear-memory-equal-to-size-of-array.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a5c59f6a1479947d33dba5191724cc5fc88a614b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Apr 2017 10:39:57 -0700
-Subject: [PATCH 2/2] cfparse: clear memory equal to size of array
-
-Fixes compiler error
-cfparse.y: In function 'set_isakmp_proposal':
-cfparse.y:2567:3: error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/racoon/cfparse.y | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/racoon/cfparse.y b/src/racoon/cfparse.y
-index 0d9bd67..5d9c67b 100644
---- a/src/racoon/cfparse.y
-+++ b/src/racoon/cfparse.y
-@@ -2564,7 +2564,7 @@ set_isakmp_proposal(rmconf)
- plog(LLV_DEBUG2, LOCATION, NULL,
- "encklen=%d\n", s->encklen);
-
-- memset(types, 0, ARRAYLEN(types));
-+ memset(types, 0, sizeof(types));
- types[algclass_isakmp_enc] = s->algclass[algclass_isakmp_enc];
- types[algclass_isakmp_hash] = s->algclass[algclass_isakmp_hash];
- types[algclass_isakmp_dh] = s->algclass[algclass_isakmp_dh];
---
-2.12.2
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch
deleted file mode 100644
index 8d270a62b..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: ipsec-tools-0.8.1/configure.ac
-===================================================================
---- ipsec-tools-0.8.1.orig/configure.ac 2013-01-08 12:43:29.000000000 +0000
-+++ ipsec-tools-0.8.1/configure.ac 2014-07-18 07:51:30.045555880 +0000
-@@ -6,7 +6,7 @@
- AC_CONFIG_SRCDIR([configure.ac])
- AC_CONFIG_HEADERS(config.h)
-
--AM_INIT_AUTOMAKE(dist-bzip2)
-+AM_INIT_AUTOMAKE([foreign dist-bzip2])
-
- AC_ENABLE_SHARED(no)
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch
deleted file mode 100644
index 7e033af5e..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-[PATCH] fix CVE-2015-4047
-
-Upstream-Status: Backport
-
-CVE: CVE-2015-4047
-
-http://www.openwall.com/lists/oss-security/2015/05/20/1
-
-racoon/gssapi.c in IPsec-Tools 0.8.2 allows remote attackers to cause
-a denial of service (NULL pointer dereference and IKE daemon crash) via
-a series of crafted UDP requests.
-
-https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-4047
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- src/racoon/gssapi.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/racoon/gssapi.c b/src/racoon/gssapi.c
-index e64b201..1ad3b42 100644
---- a/src/racoon/gssapi.c
-+++ b/src/racoon/gssapi.c
-@@ -192,6 +192,11 @@ gssapi_init(struct ph1handle *iph1)
- gss_name_t princ, canon_princ;
- OM_uint32 maj_stat, min_stat;
-
-+ if (iph1->rmconf == NULL) {
-+ plog(LLV_ERROR, LOCATION, NULL, "no remote config\n");
-+ return -1;
-+ }
-+
- gps = racoon_calloc(1, sizeof (struct gssapi_ph1_state));
- if (gps == NULL) {
- plog(LLV_ERROR, LOCATION, NULL, "racoon_calloc failed\n");
---
-1.9.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch
deleted file mode 100644
index fec4804c0..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-Upstream-Status: Backport [https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b]
-
-CVE: CVE-2016-10396
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-Description: Fix remotely exploitable DoS. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10396
-Source: vendor; https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51682
-Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867986
-
-Index: pkg-ipsec-tools/src/racoon/isakmp_frag.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/isakmp_frag.c
-+++ pkg-ipsec-tools/src/racoon/isakmp_frag.c
-@@ -1,4 +1,4 @@
--/* $NetBSD: isakmp_frag.c,v 1.5 2009/04/22 11:24:20 tteras Exp $ */
-+/* $NetBSD: isakmp_frag.c,v 1.5.36.1 2017/04/21 16:50:42 bouyer Exp $ */
-
- /* Id: isakmp_frag.c,v 1.4 2004/11/13 17:31:36 manubsd Exp */
-
-@@ -173,6 +173,43 @@ vendorid_frag_cap(gen)
- return ntohl(hp[MD5_DIGEST_LENGTH / sizeof(*hp)]);
- }
-
-+static int
-+isakmp_frag_insert(struct ph1handle *iph1, struct isakmp_frag_item *item)
-+{
-+ struct isakmp_frag_item *pitem = NULL;
-+ struct isakmp_frag_item *citem = iph1->frag_chain;
-+
-+ /* no frag yet, just insert at beginning of list */
-+ if (iph1->frag_chain == NULL) {
-+ iph1->frag_chain = item;
-+ return 0;
-+ }
-+
-+ do {
-+ /* duplicate fragment number, abort (CVE-2016-10396) */
-+ if (citem->frag_num == item->frag_num)
-+ return -1;
-+
-+ /* need to insert before current item */
-+ if (citem->frag_num > item->frag_num) {
-+ if (pitem != NULL)
-+ pitem->frag_next = item;
-+ else
-+ /* insert at the beginning of the list */
-+ iph1->frag_chain = item;
-+ item->frag_next = citem;
-+ return 0;
-+ }
-+
-+ pitem = citem;
-+ citem = citem->frag_next;
-+ } while (citem != NULL);
-+
-+ /* we reached the end of the list, insert */
-+ pitem->frag_next = item;
-+ return 0;
-+}
-+
- int
- isakmp_frag_extract(iph1, msg)
- struct ph1handle *iph1;
-@@ -224,39 +261,43 @@ isakmp_frag_extract(iph1, msg)
- item->frag_next = NULL;
- item->frag_packet = buf;
-
-- /* Look for the last frag while inserting the new item in the chain */
-- if (item->frag_last)
-- last_frag = item->frag_num;
-+ /* Check for the last frag before inserting the new item in the chain */
-+ if (item->frag_last) {
-+ /* if we have the last fragment, indices must match */
-+ if (iph1->frag_last_index != 0 &&
-+ item->frag_last != iph1->frag_last_index) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "Repeated last fragment index mismatch\n");
-+ racoon_free(item);
-+ vfree(buf);
-+ return -1;
-+ }
-
-- if (iph1->frag_chain == NULL) {
-- iph1->frag_chain = item;
-- } else {
-- struct isakmp_frag_item *current;
-+ last_frag = iph1->frag_last_index = item->frag_num;
-+ }
-
-- current = iph1->frag_chain;
-- while (current->frag_next) {
-- if (current->frag_last)
-- last_frag = item->frag_num;
-- current = current->frag_next;
-- }
-- current->frag_next = item;
-+ /* insert fragment into chain */
-+ if (isakmp_frag_insert(iph1, item) == -1) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "Repeated fragment index mismatch\n");
-+ racoon_free(item);
-+ vfree(buf);
-+ return -1;
- }
-
-- /* If we saw the last frag, check if the chain is complete */
-+ /* If we saw the last frag, check if the chain is complete
-+ * we have a sorted list now, so just walk through */
- if (last_frag != 0) {
-+ item = iph1->frag_chain;
- for (i = 1; i <= last_frag; i++) {
-- item = iph1->frag_chain;
-- do {
-- if (item->frag_num == i)
-- break;
-- item = item->frag_next;
-- } while (item != NULL);
--
-+ if (item->frag_num != i)
-+ break;
-+ item = item->frag_next;
- if (item == NULL) /* Not found */
- break;
- }
-
-- if (item != NULL) /* It is complete */
-+ if (i > last_frag) /* It is complete */
- return 1;
- }
-
-@@ -291,15 +332,9 @@ isakmp_frag_reassembly(iph1)
- }
- data = buf->v;
-
-+ item = iph1->frag_chain;
- for (i = 1; i <= frag_count; i++) {
-- item = iph1->frag_chain;
-- do {
-- if (item->frag_num == i)
-- break;
-- item = item->frag_next;
-- } while (item != NULL);
--
-- if (item == NULL) {
-+ if (item->frag_num != i) {
- plog(LLV_ERROR, LOCATION, NULL,
- "Missing fragment #%d\n", i);
- vfree(buf);
-@@ -308,6 +343,7 @@ isakmp_frag_reassembly(iph1)
- }
- memcpy(data, item->frag_packet->v, item->frag_packet->l);
- data += item->frag_packet->l;
-+ item = item->frag_next;
- }
-
- out:
-Index: pkg-ipsec-tools/src/racoon/isakmp_inf.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/isakmp_inf.c
-+++ pkg-ipsec-tools/src/racoon/isakmp_inf.c
-@@ -720,6 +720,7 @@ isakmp_info_send_nx(isakmp, remote, loca
- #endif
- #ifdef ENABLE_FRAG
- iph1->frag = 0;
-+ iph1->frag_last_index = 0;
- iph1->frag_chain = NULL;
- #endif
-
-Index: pkg-ipsec-tools/src/racoon/isakmp.c
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/isakmp.c
-+++ pkg-ipsec-tools/src/racoon/isakmp.c
-@@ -1072,6 +1072,7 @@ isakmp_ph1begin_i(rmconf, remote, local)
- iph1->frag = 1;
- else
- iph1->frag = 0;
-+ iph1->frag_last_index = 0;
- iph1->frag_chain = NULL;
- #endif
- iph1->approval = NULL;
-@@ -1176,6 +1177,7 @@ isakmp_ph1begin_r(msg, remote, local, et
- #endif
- #ifdef ENABLE_FRAG
- iph1->frag = 0;
-+ iph1->frag_last_index = 0;
- iph1->frag_chain = NULL;
- #endif
- iph1->approval = NULL;
-Index: pkg-ipsec-tools/src/racoon/handler.h
-===================================================================
---- pkg-ipsec-tools.orig/src/racoon/handler.h
-+++ pkg-ipsec-tools/src/racoon/handler.h
-@@ -1,4 +1,4 @@
--/* $NetBSD: handler.h,v 1.25 2010/11/17 10:40:41 tteras Exp $ */
-+/* $NetBSD: handler.h,v 1.26 2017/01/24 19:23:56 christos Exp $ */
-
- /* Id: handler.h,v 1.19 2006/02/25 08:25:12 manubsd Exp */
-
-@@ -141,6 +141,7 @@ struct ph1handle {
- #endif
- #ifdef ENABLE_FRAG
- int frag; /* IKE phase 1 fragmentation */
-+ int frag_last_index;
- struct isakmp_frag_item *frag_chain; /* Received fragments */
- #endif
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch
deleted file mode 100644
index 36efc4917..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-squahes below warning
- warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
-
-Seen with glibc 2.20
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h
-===================================================================
---- ipsec-tools-0.8.2.orig/src/include-glibc/glibc-bugs.h 2006-09-09 09:22:08.000000000 -0700
-+++ ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h 2014-09-03 22:27:22.551563888 -0700
-@@ -4,7 +4,11 @@
- #define __GLIBC_BUGS_H__ 1
-
- #define _XOPEN_SOURCE 500
-+/* Legacy feature macro.*/
- #define _BSD_SOURCE
-+/* New feature macro that provides everything _BSD_SOURCE and
-+ * _SVID_SOURCE provided and possibly more. */
-+#define _DEFAULT_SOURCE
-
- #include <features.h>
- #include <sys/types.h>
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch
deleted file mode 100644
index e82db087c..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-racoon: Resend UPDATE message when received EINTR message
-
-Upstream-Status: Pending
-
-While kernel is processing the UPDATE message which is sent from racoon,
-it maybe interrupted by system signal and if this case happens,
-kernel responds with an EINTR message to racoon and kernel fails to
-establish the corresponding SA.
-Fix this problem by resend the UPDATE message when EINTR(Interrupted
-system call) error happens.
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
---- a/src/libipsec/libpfkey.h
-+++ b/src/libipsec/libpfkey.h
-@@ -92,6 +92,12 @@
- u_int16_t ctxstrlen; /* length of security context string */
- };
-
-+struct update_msg_info {
-+ struct sadb_msg *update_msg;
-+ int so;
-+ int len;
-+};
-+
- /* The options built into libipsec */
- extern int libipsec_opt;
- #define LIBIPSEC_OPT_NATT 0x01
---- a/src/libipsec/pfkey.c
-+++ b/src/libipsec/pfkey.c
-@@ -1219,7 +1219,8 @@
- }
- #endif
-
--
-+struct update_msg_info update_msg_send = {NULL, 0, 0};
-+
- /* sending SADB_ADD or SADB_UPDATE message to the kernel */
- static int
- pfkey_send_x1(struct pfkey_send_sa_args *sa_parms)
-@@ -1483,10 +1484,24 @@
-
- /* send message */
- len = pfkey_send(sa_parms->so, newmsg, len);
-- free(newmsg);
-
-- if (len < 0)
-- return -1;
-+ if (newmsg->sadb_msg_type == SADB_UPDATE) {
-+ if (update_msg_send.update_msg)
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = newmsg;
-+ update_msg_send.so = sa_parms->so;
-+ update_msg_send.len = len;
-+
-+ if (len < 0) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ return -1;
-+ }
-+ } else {
-+ free(newmsg);
-+ if (len < 0)
-+ return -1;
-+ }
-
- __ipsec_errcode = EIPSEC_NO_ERROR;
- return len;
---- a/src/racoon/session.c
-+++ b/src/racoon/session.c
-@@ -100,6 +100,8 @@
-
- #include "sainfo.h"
-
-+extern struct update_msg_info update_msg_send;
-+
- struct fd_monitor {
- int (*callback)(void *ctx, int fd);
- void *ctx;
-@@ -348,6 +350,11 @@
- close_sockets();
- backupsa_clean();
-
-+ if (update_msg_send.update_msg) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ }
-+
- plog(LLV_INFO, LOCATION, NULL, "racoon process %d shutdown\n", getpid());
-
- exit(0);
---- a/src/racoon/pfkey.c
-+++ b/src/racoon/pfkey.c
-@@ -103,10 +103,12 @@
- #include "crypto_openssl.h"
- #include "grabmyaddr.h"
-+#include "../libipsec/libpfkey.h"
-
- #if defined(SADB_X_EALG_RIJNDAELCBC) && !defined(SADB_X_EALG_AESCBC)
- #define SADB_X_EALG_AESCBC SADB_X_EALG_RIJNDAELCBC
- #endif
-
-+extern struct update_msg_info update_msg_send;
- /* prototype */
- static u_int ipsecdoi2pfkey_aalg __P((u_int));
- static u_int ipsecdoi2pfkey_ealg __P((u_int));
-@@ -253,6 +255,13 @@
- s_pfkey_type(msg->sadb_msg_type),
- strerror(msg->sadb_msg_errno));
-
-+ if (msg->sadb_msg_errno == EINTR &&
-+ update_msg_send.update_msg) {
-+ plog(LLV_DEBUG, LOCATION, NULL,
-+ "pfkey update resend\n");
-+ send(update_msg_send.so, (void *)update_msg_send.update_msg, (socklen_t)update_msg_send.len, 0);
-+ }
-+
- goto end;
- }
-
-@@ -498,6 +507,11 @@
- {
- flushsp();
-
-+ if (update_msg_send.update_msg) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ }
-+
- if (pfkey_send_spddump(lcconf->sock_pfkey) < 0) {
- plog(LLV_ERROR, LOCATION, NULL,
- "libipsec sending spddump failed: %s\n",
-@@ -1295,6 +1309,8 @@
- return 0;
- }
-
-+int update_received = 0;
-+
- static int
- pk_recvupdate(mhp)
- caddr_t *mhp;
-@@ -1307,6 +1323,13 @@
- int incomplete = 0;
- struct saproto *pr;
-
-+ update_received = 1;
-+
-+ if (update_msg_send.update_msg) {
-+ free(update_msg_send.update_msg);
-+ update_msg_send.update_msg = NULL;
-+ }
-+
- /* ignore this message because of local test mode. */
- if (f_local)
- return 0;
-@@ -4163,3 +4186,8 @@
-
- return buf;
- }
-+
-+int receive_from_isakmp()
-+{
-+ return pfkey_handler(NULL, lcconf->sock_pfkey);
-+}
---- a/src/racoon/pfkey.h
-+++ b/src/racoon/pfkey.h
-@@ -71,5 +71,6 @@
- extern u_int32_t pk_getseq __P((void));
- extern const char *sadbsecas2str
- __P((struct sockaddr *, struct sockaddr *, int, u_int32_t, int));
-+extern int receive_from_isakmp __P((void));
-
- #endif /* _PFKEY_H */
---- a/src/racoon/isakmp_quick.c
-+++ b/src/racoon/isakmp_quick.c
-@@ -774,6 +774,8 @@
- return error;
- }
-
-+extern int update_received;
-+
- /*
- * send to responder
- * HDR*, HASH(3)
-@@ -892,6 +894,11 @@
- }
- plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
-
-+ while (!update_received)
-+ receive_from_isakmp();
-+
-+ update_received = 0;
-+
- /* Do ADD for responder */
- if (pk_sendadd(iph2) < 0) {
- plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
-@@ -1035,6 +1042,11 @@
- }
- plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
-
-+ while (!update_received)
-+ receive_from_isakmp();
-+
-+ update_received = 0;
-+
- /* Do ADD for responder */
- if (pk_sendadd(iph2) < 0) {
- plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
-@@ -1989,6 +2001,11 @@
- }
- plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n");
-
-+ while (!update_received)
-+ receive_from_isakmp();
-+
-+ update_received = 0;
-+
- /* Do ADD for responder */
- if (pk_sendadd(iph2) < 0) {
- plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n");
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch
deleted file mode 100644
index e272bc20f..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Subject: [PATCH] ipsec-tools: racoon: check several invalid ivm
-
-Upstream-Status: Pending
-
-Add checking for invalid ivm, or it will crash racoon.
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
----
- isakmp_cfg.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c
---- a/src/racoon/isakmp_cfg.c
-+++ b/src/racoon/isakmp_cfg.c
-@@ -171,6 +171,11 @@ isakmp_cfg_r(iph1, msg)
- iph1->mode_cfg->last_msgid != packet->msgid )
- iph1->mode_cfg->ivm =
- isakmp_cfg_newiv(iph1, packet->msgid);
-+ if(iph1->mode_cfg->ivm == NULL) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "failed to create new IV\n");
-+ return;
-+ }
- ivm = iph1->mode_cfg->ivm;
-
- dmsg = oakley_do_decrypt(iph1, msg, ivm->iv, ivm->ive);
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch
deleted file mode 100644
index de1bdb407..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Subject: [PATCH] ipsec-tools: racoon: check several invalid pointers
-
-Upstream-Status: Pending
-
-Add checking for invalid pointers, or it will crash racoon.
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
----
- ipsec_doi.c | 5 +++--
- isakmp_cfg.c | 7 +++++++
- isakmp_quick.c | 6 ++++--
- 3 files changed, 14 insertions(+), 4 deletions(-)
-
-diff -urpN a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c
---- a/src/racoon/ipsec_doi.c
-+++ b/src/racoon/ipsec_doi.c
-@@ -3374,8 +3374,9 @@ ipsecdoi_chkcmpids( idt, ids, exact )
-
- /* handle wildcard IDs */
-
-- if (idt == NULL || ids == NULL)
-- {
-+ if (idt == NULL || ids == NULL ||
-+ idt->v == NULL || idt->l == 0 ||
-+ ids->v == NULL || ids->l == 0) {
- if( !exact )
- {
- plog(LLV_DEBUG, LOCATION, NULL,
-diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c
---- a/src/racoon/isakmp_cfg.c
-+++ b/src/racoon/isakmp_cfg.c
-@@ -1138,6 +1138,13 @@ isakmp_cfg_newiv(iph1, msgid)
- return NULL;
- }
-
-+ if (iph1->ivm == NULL || iph1->ivm->iv == NULL ||
-+ iph1->ivm->iv->v == NULL || iph1->ivm->iv->l == 0) {
-+ plog(LLV_ERROR, LOCATION, NULL,
-+ "isakmp_cfg_newiv called with invalid IV management\n");
-+ return NULL;
-+ }
-+
- if (ics->ivm != NULL)
- oakley_delivm(ics->ivm);
-
-diff -urpN a/src/racoon/isakmp_quick.c b/src/racoon/isakmp_quick.c
---- a/src/racoon/isakmp_quick.c
-+++ b/src/racoon/isakmp_quick.c
-@@ -2243,8 +2243,10 @@ get_proposal_r(iph2)
- int error = ISAKMP_INTERNAL_ERROR;
-
- /* check the existence of ID payload */
-- if ((iph2->id_p != NULL && iph2->id == NULL)
-- || (iph2->id_p == NULL && iph2->id != NULL)) {
-+ if ((iph2->id_p != NULL &&
-+ (iph2->id == NULL || iph2->id->v == NULL || iph2->id->l == 0)) ||
-+ (iph2->id != NULL &&
-+ (iph2->id_p == NULL || iph2->id_p->v == NULL || iph2->id_p->l == 0))) {
- plog(LLV_ERROR, LOCATION, NULL,
- "Both IDs wasn't found in payload.\n");
- return ISAKMP_NTYPE_INVALID_ID_INFORMATION;
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf
deleted file mode 100644
index 6b507508b..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# Defaults for racoon service
-# sourced by racoon.service
-# installed at /etc/default/racoon by the maintainer scripts
-#
-# This is a POSIX shell fragment
-#
-# Arguments to pass to racoon
-RACOON_ARGS=""
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample
deleted file mode 100644
index 2948a4a35..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# NOTE: This file will not be used if you use racoon-tool(8) to manage your
-# IPsec connections. racoon-tool will process racoon-tool.conf(5) and
-# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead
-# of this file.
-#
-# Simple racoon.conf
-#
-#
-# Please look in /usr/share/doc/racoon/examples for
-# examples that come with the source.
-#
-# Please read racoon.conf(5) for details, and alsoread setkey(8).
-#
-#
-# Also read the Linux IPSEC Howto up at
-# http://www.ipsec-howto.org/t1.html
-#
-log notify;
-path pre_shared_key "/etc/racoon/psk.txt";
-path certificate "/etc/racoon/certs";
-
-#remote 172.31.1.1 {
-# exchange_mode main,aggressive;
-# proposal {
-# encryption_algorithm 3des;
-# hash_algorithm sha1;
-# authentication_method pre_shared_key;
-# dh_group modp1024;
-# }
-# generate_policy off;
-#}
-#
-#sainfo address 192.168.203.10[any] any address 192.168.22.0/24[any] any {
-# pfs_group modp768;
-# encryption_algorithm 3des;
-# authentication_algorithm hmac_md5;
-# compression_algorithm deflate;
-#}
-
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service
deleted file mode 100644
index a10e77027..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Racoon IKEv1 key management daemon for IPSEC
-After=syslog.target network.target
-
-[Service]
-Type=forking
-EnvironmentFile=-@SYSCONFDIR@/default/racoon
-ExecStart=@SBINDIR@/racoon $RACOON_ARGS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
deleted file mode 100644
index a6d473b59..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb
+++ /dev/null
@@ -1,98 +0,0 @@
-DESCRIPTION = "IPsec-Tools is a port of KAME's IPsec utilities to the \
-Linux-2.6 IPsec implementation."
-HOMEPAGE = "http://ipsec-tools.sourceforge.net/"
-SECTION = "net"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://src/libipsec/pfkey.c;beginline=6;endline=31;md5=bc9b7ff40beff19fe6bc6aef26bd2b24"
-
-DEPENDS = "virtual/kernel openssl readline flex-native bison-native"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI = "http://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV}.tar.bz2 \
- file://0002-Don-t-link-against-libfl.patch \
- file://configure.patch \
- file://0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch \
- file://racoon-check-invalid-pointers.patch \
- file://racoon-check-invalid-ivm.patch \
- file://glibc-2.20.patch \
- file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \
- file://racoon.conf.sample \
- file://racoon.conf \
- file://racoon.service \
- file://fix-CVE-2015-4047.patch \
- file://0001-Fix-build-with-clang.patch \
- file://0001-Fix-header-issues-found-with-musl-libc.patch \
- file://0002-cfparse-clear-memory-equal-to-size-of-array.patch \
- file://fix-CVE-2016-10396.patch \
- file://0001-Disable-gcc8-specific-warnings.patch \
- file://0001-ipsec-tools-add-openssl-1.1-support.patch \
- "
-SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41"
-SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d"
-
-inherit autotools systemd
-
-# Options:
-# --enable-adminport enable admin port
-# --enable-rc5 enable RC5 encryption (patented)
-# --enable-idea enable IDEA encryption (patented)
-# --enable-gssapi enable GSS-API authentication
-# --enable-hybrid enable hybrid, both mode-cfg and xauth support
-# --enable-frag enable IKE fragmentation payload support
-# --enable-stats enable statistics logging function
-# --enable-dpd enable dead peer detection
-# --enable-samode-unspec enable to use unspecified a mode of SA
-# --disable-ipv6 disable ipv6 support
-# --enable-natt enable NAT-Traversal (yes/no/kernel)
-# --enable-natt-versions=list list of supported NAT-T versions delimited by coma.
-# --with-kernel-headers=/lib/modules/<uname>/build/include
-# where your Linux Kernel headers are installed
-# --with-readline support readline input (yes by default)
-# --with-flex use directiory (default: no)
-# --with-flexlib=<LIB> specify flex library.
-# --with-openssl=DIR specify OpenSSL directory
-# --with-libradius=DIR specify libradius path (like/usr/pkg)
-# --with-libpam=DIR specify libpam path (like/usr/pkg)
-#
-# Note: if you give it the actual kernel headers it won't build, it actually
-# needs to point at the linux-libc-headers version of the kernel headers.
-#
-EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \
- --with-readline \
- --with-openssl=${STAGING_LIBDIR}/.. \
- --without-libradius \
- --disable-security-context \
- --enable-shared \
- --enable-dpd \
- --enable-natt=yes \
- --sysconfdir=${sysconfdir}/racoon \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}"
-
-# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527
-CFLAGS += "-fno-strict-aliasing"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,"
-PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux,"
-
-SYSTEMD_SERVICE_${PN} = "racoon.service"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/racoon
- install -m 0644 ${WORKDIR}/racoon.conf.sample ${D}${sysconfdir}/racoon/racoon.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/racoon.service ${D}${systemd_unitdir}/system
-
- sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/racoon.service
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/racoon.service
-
- install -d ${D}${sysconfdir}/default/
- install -m 0644 ${WORKDIR}/racoon.conf ${D}${sysconfdir}/default/racoon
- fi
-}
-
-FILES_${PN} += "${sysconfdir}/racoon/racoon.conf \
- ${sysconfdir}/default/racoon"
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
index 3c7e5455e..f3608c6ab 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
@@ -5,6 +5,8 @@ LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
DEPENDS += "libtdb libtalloc libtevent popt"
RDEPENDS_pyldb += "python samba"
+RCONFLICTS_${PN} = "samba"
+RCONFLICTS_pyldb = "samba-python"
SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
file://do-not-import-target-module-while-cross-compile.patch \
diff --git a/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb b/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb
index 9d3275e2d..2bc7d9787 100644
--- a/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.87.bb
+++ b/meta-openembedded/meta-networking/recipes-support/mtr/mtr_0.92.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
PV .= "+git${SRCPV}"
-SRCREV = "e6d0a7e93129e8023654ebf58dfa8135d1b1af56"
+SRCREV = "6cddfc6e8f0e20af4af218b545f83d43b3f9a387"
SRC_URI = "git://github.com/traviscross/mtr"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb
index 356023681..a6da18ea7 100644
--- a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.17.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.19.bb
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "glib-2.0"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "98b74c655ed94a66686c5ba19480d98e"
-SRC_URI[sha256sum] = "d95c6bb1a3ab33b953af99b73fb4833e123bd25433513b32d57dbeb1a0a0d189"
+SRC_URI[md5sum] = "162da84302abb5b9be06143c7943a642"
+SRC_URI[sha256sum] = "b4466412f13e057659f25d35e1e8e181afd62c7179bff22a6add81445ecb8690"
inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
deleted file mode 100644
index d4e02be45..000000000
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/do-not-install-pyc-and-pyo.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Do not install pyc and pyo for python module
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- swig/python/Makefile.am | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/swig/python/Makefile.am b/swig/python/Makefile.am
-index da95a81..97a62bf 100644
---- a/swig/python/Makefile.am
-+++ b/swig/python/Makefile.am
-@@ -33,8 +33,6 @@ CLEANFILES = OpenIPMI_wrap.c OpenIPMI.py OpenIPMI.pyo OpenIPMI.pyc
- install-exec-local: _OpenIPMI.la OpenIPMI.py OpenIPMI.pyc OpenIPMI.pyo
- $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR)
- $(INSTALL_DATA) OpenIPMI.py "$(DESTDIR)$(PYTHON_INSTALL_DIR)"
-- $(INSTALL_DATA) OpenIPMI.pyc "$(DESTDIR)$(PYTHON_INSTALL_DIR)"
-- $(INSTALL_DATA) OpenIPMI.pyo "$(DESTDIR)$(PYTHON_INSTALL_DIR)"
- if test "x$(PYTHON_GUI_DIR)" = "xopenipmigui"; then \
- $(INSTALL) -d $(DESTDIR)$(bindir); \
- $(INSTALL_SCRIPT) $(srcdir)/openipmigui.py "$(DESTDIR)$(bindir)/openipmigui";\
---
-1.9.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
index 449142fcf..243488424 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/fix-symlink-install-error-in-cmdlang.patch
@@ -1,18 +1,23 @@
-Author: Aws Ismail <aws.ismail@windriver.com>
-Date: Thu Jun 7 16:00:13 2012 -0400
+From 7854c60c92243adb14ea89e16fc226d2e47dd4f9 Mon Sep 17 00:00:00 2001
+From: Aws Ismail <aws.ismail@windriver.com>
+Date: Thu, 7 Jun 2012 16:00:13 -0400
+Subject: [PATCH] Fix symlink install error in cmdlang
- This patch fixes the error during the install stage when
- creating a symbolic link for opeipmish in openipmi/cmdlang
-
- Upstream-Status: Pending
-
- Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+This patch fixes the error during the install stage when
+creating a symbolic link for opeipmish in openipmi/cmdlang
-Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
-===================================================================
---- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am
-+++ OpenIPMI-2.0.24/cmdlang/Makefile.am
-@@ -35,6 +35,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.l
+Upstream-Status: Pending
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+---
+ cmdlang/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
+index 0ca3827..d9a941f 100644
+--- a/cmdlang/Makefile.am
++++ b/cmdlang/Makefile.am
+@@ -35,6 +35,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.la \
# compatability.
install-data-local:
rm -f $(DESTDIR)$(bindir)/ipmish
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
index 082511a67..61b39995a 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/include_sys_types.patch
@@ -1,12 +1,25 @@
+From 4f41e090e33a00117a27f0c77b6338fb8b495f37 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Jun 2017 21:58:32 -0700
+Subject: [PATCH] openipmi: Fix build with musl
+
include sys/types.h for u_int32_t
ui.c:340:5: error: unknown type name 'u_int32_t'; did you mean 'uint32_t'?
u_int32_t addr;
^~~~~~~~~
-Index: OpenIPMI-2.0.24/ui/ui.c
-===================================================================
---- OpenIPMI-2.0.24.orig/ui/ui.c
-+++ OpenIPMI-2.0.24/ui/ui.c
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ui/ui.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ui/ui.c b/ui/ui.c
+index 529ff22..066d118 100644
+--- a/ui/ui.c
++++ b/ui/ui.c
@@ -42,6 +42,7 @@
#include <fcntl.h>
#include <time.h>
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
index 51a398ba5..c4559c97b 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi-init-fix-the-arguments.patch
@@ -1,3 +1,6 @@
+From 6542ebe7a0d37dee8e9afb856feb8f6c3d334632 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 29 Dec 2014 18:16:04 +0800
Subject: [PATCH] ipmi-init: fix the arguments
The functions success/failure/warning defined in /etc/init.d/functions
@@ -12,7 +15,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ipmi.init b/ipmi.init
-index 2ebcd94..d8161c5 100644
+index ea10b11..aac9f83 100644
--- a/ipmi.init
+++ b/ipmi.init
@@ -45,17 +45,17 @@ elif [ -r /etc/init.d/functions ]; then
@@ -36,6 +39,4 @@ index 2ebcd94..d8161c5 100644
echo
;;
*)
---
-1.9.1
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch
new file mode 100644
index 000000000..e208de8b2
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch
@@ -0,0 +1,31 @@
+From bebfb3c24582ec4e45d79c5b52135197bf7373da Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Fri, 14 Jun 2019 14:17:34 +0800
+Subject: [PATCH] ipmi_serial_bmc_emu.c: include readline.h from readline
+
+The libedit had been removed and swithed to readline.
+We need to include readline.h from readline rather than editline.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ sample/ipmi_serial_bmc_emu.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sample/ipmi_serial_bmc_emu.c b/sample/ipmi_serial_bmc_emu.c
+index e0ae019..1b8bb9a 100644
+--- a/sample/ipmi_serial_bmc_emu.c
++++ b/sample/ipmi_serial_bmc_emu.c
+@@ -42,7 +42,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <sys/select.h>
+-#include <editline/readline.h>
++#include <readline/readline.h>
+
+ #define _GNU_SOURCE
+ #include <getopt.h>
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
index 1fa68f9ba..858adc50a 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-no-openipmigui-man.patch
@@ -1,16 +1,19 @@
-Author: Aws Ismail <aws.ismail@windriver.com>
-Date: Thu Jun 7 12:28:34 2012 -0400
+From a6ffa3939a3ab2ad6a8d277cd8292b7dad6469c6 Mon Sep 17 00:00:00 2001
+From: Aws Ismail <aws.ismail@windriver.com>
+Date: Thu, 7 Jun 2012 12:28:34 -0400
+Subject: [PATCH] Do not build openipmigui man page
- This patch was carried over from WRL4.3 (openipmi v2.0.16)
-
- It was updated for openipmi v2.0.19
-
- Disable making openipmigui man page since we don't need it
-
- Upstream-Status: Pending
-
- Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
- Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+This patch was carried over from WRL4.3 (openipmi v2.0.16)
+It was updated for openipmi v2.0.19
+Disable making openipmigui man page since we don't need it
+
+Upstream-Status: Pending
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ man/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/Makefile.am b/man/Makefile.am
index 632f55b..5ce79f5 100644
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
index 83485a9e6..ce37d5eb2 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmi-remove-host-path-from-la_LDFLAGS.patch
@@ -1,4 +1,4 @@
-From aa0dc0783a6ff5fb56c914b640836223e3c192bb Mon Sep 17 00:00:00 2001
+From 6395659ca6d64b20bf78bb640c2cc523d6c1d9c2 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Mon, 29 Dec 2014 18:16:04 +0800
Subject: [PATCH] remove host path from la_LDFLAGS
@@ -7,17 +7,15 @@ Upstream-Status: Inappropriate [ cross compile specific ]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
- cmdlang/Makefile.am | 2 +-
- glib/Makefile.am | 4 ++--
- tcl/Makefile.am | 2 +-
- unix/Makefile.am | 4 ++--
- 4 files changed, 6 insertions(+), 6 deletions(-)
+ cmdlang/Makefile.am | 3 +--
+ unix/Makefile.am | 6 ++----
+ 2 files changed, 3 insertions(+), 6 deletions(-)
-Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
-===================================================================
---- OpenIPMI-2.0.24.orig/cmdlang/Makefile.am
-+++ OpenIPMI-2.0.24/cmdlang/Makefile.am
-@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.
+diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am
+index d9a941f..21b9531 100644
+--- a/cmdlang/Makefile.am
++++ b/cmdlang/Makefile.am
+@@ -15,8 +15,7 @@ libOpenIPMIcmdlang_la_SOURCES = cmdlang.c cmd_domain.c cmd_entity.c cmd_mc.c \
libOpenIPMIcmdlang_la_LIBADD = -lm \
$(top_builddir)/utils/libOpenIPMIutils.la \
$(top_builddir)/lib/libOpenIPMI.la
@@ -27,11 +25,11 @@ Index: OpenIPMI-2.0.24/cmdlang/Makefile.am
bin_PROGRAMS = openipmish
-Index: OpenIPMI-2.0.24/unix/Makefile.am
-===================================================================
---- OpenIPMI-2.0.24.orig/unix/Makefile.am
-+++ OpenIPMI-2.0.24/unix/Makefile.am
-@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la li
+diff --git a/unix/Makefile.am b/unix/Makefile.am
+index 5128839..bd0f897 100644
+--- a/unix/Makefile.am
++++ b/unix/Makefile.am
+@@ -10,14 +10,12 @@ lib_LTLIBRARIES = libOpenIPMIposix.la libOpenIPMIpthread.la
libOpenIPMIpthread_la_SOURCES = posix_thread_os_hnd.c selector.c
libOpenIPMIpthread_la_LIBADD = -lpthread $(GDBM_LIB) \
$(top_builddir)/utils/libOpenIPMIutils.la $(RT_LIB)
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch b/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch
deleted file mode 100644
index 389407590..000000000
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-openipmi load swig/python/.libs/_OpenIPMI.so to create .pyc and .pyo files.
-It fails when multilib is enable:
-
-| ImportError: .../lib32-openipmi/2.0.25-r0/OpenIPMI-2.0.25/swig/python/.libs/_OpenIPMI.so: wrong ELF class: ELFCLASS32
-
-Don't compile and install .pyc and .pyo files to fix the failure.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-diff --git a/swig/python/openipmigui/Makefile.am b/swig/python/openipmigui/Makefile.am
-index 570e7b9..88258bf 100644
---- a/swig/python/openipmigui/Makefile.am
-+++ b/swig/python/openipmigui/Makefile.am
-@@ -34,9 +34,9 @@ localcopy:
- fi \
- done
-
--all-local: localcopy $(PYC_FILES) $(PYO_FILES)
-+all-local: localcopy
-
--install-exec-local: $(EXTRA_DIST) $(PYC_FILES) $(PYO_FILES)
-+install-exec-local: $(EXTRA_DIST)
- $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui
- $(INSTALL_DATA) $^ $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui
-
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb
index f0426ce36..51cc25689 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb
@@ -13,6 +13,7 @@ DEPENDS = " \
popt \
python \
swig-native \
+ readline \
"
LICENSE = "GPLv2 & LGPLv2.1 & BSD"
@@ -27,16 +28,16 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \
file://openipmi-no-openipmigui-man.patch \
file://openipmi-remove-host-path-from-la_LDFLAGS.patch \
file://ipmi-init-fix-the-arguments.patch \
- file://do-not-install-pyc-and-pyo.patch \
file://include_sys_types.patch \
- file://openipmigui-not-compile-pyc-pyo.patch \
+ file://ipmi_serial_bmc_emu.c-include-readline.h-from-readli.patch \
file://openipmi-helper \
file://ipmi.service \
"
S = "${WORKDIR}/OpenIPMI-${PV}"
-SRC_URI[md5sum] = "1461ac4d78fc516646fd0a6e605a8b05"
-SRC_URI[sha256sum] = "f0f1a0ec732409930b7a31a6daa6cf39b585f52059b62a5f092b7ece21aa75a5"
+
+SRC_URI[md5sum] = "d525ceaa07df5440674e7e68a6772fe7"
+SRC_URI[sha256sum] = "f3b1fafaaec2e2bac32fec5a86941ad8b8cb64543470bd6d819d7b166713d20b"
inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd cpan-base
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
index 30d0a7675..be9dba32f 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
@@ -13,9 +13,9 @@ architectures."
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=b37311cb5604f3e5cc2fb0fd23527e95"
-PV = "0.12.13+git${SRCPV}"
+PV = "0.14.0+git${SRCPV}"
-SRCREV = "87441524f4e7b79658e42bd8f1f6c3e3c8649aa5"
+SRCREV = "f72ece993aeaf23f77e2845562b20e5563e52ba0"
SRC_URI = " \
git://anongit.freedesktop.org/spice/spice-protocol \
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
index 505b7c890..e63cbe3b7 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
@@ -14,21 +14,19 @@ Upstream-Status: Pending
server/red-client.c | 6 +++---
2 files changed, 6 insertions(+), 5 deletions(-)
-diff --git a/server/red-channel.c b/server/red-channel.c
-index 1b38f04d..11dc667b 100644
--- a/server/red-channel.c
+++ b/server/red-channel.c
-@@ -192,7 +192,7 @@ red_channel_constructed(GObject *object)
+@@ -204,7 +204,7 @@ red_channel_constructed(GObject *object)
{
RedChannel *self = RED_CHANNEL(object);
-- red_channel_debug(self, "thread_id 0x%lx", self->priv->thread_id);
-+ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id);
+- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", self->priv->thread_id);
++ red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
-@@ -475,7 +475,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc)
- red_channel_warning(channel, "channel->thread_id (0x%lx) != pthread_self (0x%lx)."
+@@ -479,7 +479,8 @@ void red_channel_remove_client(RedChanne
+ "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
"If one of the threads is != io-thread && != vcpu-thread, "
"this might be a BUG",
- channel->priv->thread_id, pthread_self());
@@ -37,12 +35,10 @@ index 1b38f04d..11dc667b 100644
}
spice_return_if_fail(channel);
link = g_list_find(channel->priv->clients, rcc);
-diff --git a/server/red-client.c b/server/red-client.c
-index ddfc5400..76986640 100644
--- a/server/red-client.c
+++ b/server/red-client.c
-@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *client)
- spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)."
+@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *clien
+ "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
"If one of the threads is != io-thread && != vcpu-thread,"
" this might be a BUG",
- client->thread_id, pthread_self());
@@ -50,8 +46,8 @@ index ddfc5400..76986640 100644
}
FOREACH_CHANNEL_CLIENT(client, rcc) {
if (red_channel_client_is_connected(rcc)) {
-@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *client)
- spice_warning("client->thread_id (0x%lx) != pthread_self (0x%lx)."
+@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *clien
+ "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
"If one of the threads is != io-thread && != vcpu-thread,"
" this might be a BUG",
- client->thread_id,
@@ -61,6 +57,3 @@ index ddfc5400..76986640 100644
}
red_client_set_disconnecting(client);
FOREACH_CHANNEL_CLIENT(client, rcc) {
---
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
new file mode 100644
index 000000000..d04bee95f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
@@ -0,0 +1,96 @@
+From a2af005b5d4a62839e56f42a43df793356e78f58 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Tue, 4 Jun 2019 03:58:17 -0400
+Subject: [PATCH] Fix compile errors on Linux 32bit system
+
+There are folowing compile errors on Linux 32bit system:
+
+red-channel.c:207:73: error: format '%x' expects argument of type
+'unsigned int', but argument 7 has type 'long unsigned int' [-Werror=format=]
+|207| red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x",
+ ~~~~~~~~~~~~~~~~~~~~~^
+ self->priv->thread_id);
+ ~~~~~~~~~~~~~~~~~~~~~^
+
+On 32bit system, #define G_GSIZE_MODIFIER "". But the type of
+'self->priv->thread_id' is 'unsigned long int' which should match '%lx'
+not '%x'.
+
+So we should recovery the <0x%" G_GSIZE_MODIFIER "x"> to <0x%lx">.
+And others files modification are similar to G_GSIZE_MODIFIER.
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+Upstream-Status: Submitted [https://lists.freedesktop.org/archives/spice-devel/2019-June/049285.html]
+
+ server/red-channel.c | 6 +++---
+ server/red-client.c | 8 ++++----
+ server/red-replay-qxl.c | 2 +-
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/server/red-channel.c b/server/red-channel.c
+index f81142d..6a03ec2 100644
+--- a/server/red-channel.c
++++ b/server/red-channel.c
+@@ -202,7 +202,7 @@ red_channel_constructed(GObject *object)
+ {
+ RedChannel *self = RED_CHANNEL(object);
+
+- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
++ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id);
+
+ RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
+
+@@ -473,8 +473,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc)
+
+ if (!pthread_equal(pthread_self(), channel->priv->thread_id)) {
+ red_channel_warning(channel,
+- "channel->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
+- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
++ "channel->thread_id (0x%lx) != "
++ "pthread_self (0x%lx)."
+ "If one of the threads is != io-thread && != vcpu-thread, "
+ "this might be a BUG",
+ (unsigned long)channel->priv->thread_id,
+diff --git a/server/red-client.c b/server/red-client.c
+index 2b859cb..ff4da2a 100644
+--- a/server/red-client.c
++++ b/server/red-client.c
+@@ -174,8 +174,8 @@ void red_client_migrate(RedClient *client)
+ RedChannel *channel;
+
+ if (!pthread_equal(pthread_self(), client->thread_id)) {
+- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
+- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
++ spice_warning("client->thread_id (0x%lx) != "
++ "pthread_self (0x%lx)."
+ "If one of the threads is != io-thread && != vcpu-thread,"
+ " this might be a BUG",
+ (unsigned long)client->thread_id, (unsigned long)pthread_self());
+@@ -193,8 +193,8 @@ void red_client_destroy(RedClient *client)
+ RedChannelClient *rcc;
+
+ if (!pthread_equal(pthread_self(), client->thread_id)) {
+- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
+- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
++ spice_warning("client->thread_id (0x%lx) != "
++ "pthread_self (0x%lx)."
+ "If one of the threads is != io-thread && != vcpu-thread,"
+ " this might be a BUG",
+ (unsigned long)client->thread_id,
+diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
+index 6d34818..0deb406 100644
+--- a/server/red-replay-qxl.c
++++ b/server/red-replay-qxl.c
+@@ -264,7 +264,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
+ exit(1);
+ }
+ if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
+- spice_error("inflate error %d (disc: %" G_GSSIZE_FORMAT ")",
++ spice_error("inflate error %d (disc: %li)",
+ ret, *size - strm.total_out);
+ if (ret == Z_DATA_ERROR) {
+ /* last operation may be wrong. since we do the recording
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
deleted file mode 100644
index 1f9d5fdd7..000000000
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-spice-fix-compile-fail-problem.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7023732c65b4dc509c46a54fb7715da275b5597f Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 13 Sep 2018 12:39:44 +0800
-Subject: [PATCH] spice: fix compile fail problem
-
-compile error:
-format '%d' expects argument of type 'int', but argument 6 has
-type 'long unsigned int' [-Werror=format=]
-
-spice compile failed on 32bit system, since upstream commit
-9541cd2fe(in V0.14.1) change %ld to %PRIdPTR, %PRIdPTR is %d, but argument
-strm.total_out is uLong.
-
-Upstream-Status: Submitted[https://github.com/freedesktop/spice/pull/1]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- server/red-replay-qxl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
-index 1fce76c..bd33b58 100644
---- a/server/red-replay-qxl.c
-+++ b/server/red-replay-qxl.c
-@@ -266,7 +266,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
- exit(1);
- }
- if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
-- spice_error("inflate error %d (disc: %" PRIdPTR ")", ret, *size - strm.total_out);
-+ spice_error("inflate error %d (disc: %ld)", ret, *size - strm.total_out);
- if (ret == Z_DATA_ERROR) {
- /* last operation may be wrong. since we do the recording
- * in red_worker, when there is a shutdown from the vcpu/io thread
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
index 1ad46c2c3..552f81df0 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -13,10 +13,10 @@ architectures."
LICENSE = "BSD & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-PV = "0.14.1+git${SRCPV}"
+PV = "0.14.2+git${SRCPV}"
-SRCREV_spice = "eaa07ef15cfc3bf57a69da2576af66f028787774"
-SRCREV_spice-common = "6b93b3fce8909b836ef1d1434d191900d8aa00be"
+SRCREV_spice = "7cbd70b931db76c69c89c2d9d5d704f67381a81b"
+SRCREV_spice-common = "4fc4c2db36c7f07b906e9a326a9d3dc0ae6a2671"
SRCREV_FORMAT = "spice_spice-common"
@@ -24,7 +24,7 @@ SRC_URI = " \
git://anongit.freedesktop.org/spice/spice;name=spice \
git://anongit.freedesktop.org/spice/spice-common;destsuffix=git/subprojects/spice-common;name=spice-common \
file://0001-Convert-pthread_t-to-be-numeric.patch \
- file://0001-spice-fix-compile-fail-problem.patch \
+ file://0001-Fix-compile-errors-on-Linux-32bit-system.patch \
"
S = "${WORKDIR}/git"
@@ -37,6 +37,8 @@ DEPENDS_append_class-nativesdk = "nativesdk-openssl"
export PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python"
export PYTHONPATH="${PKG_CONFIG_SYSROOT_DIR}${libdir}/python2.7/site-packages"
+CFLAGS_append = " -Wno-error=address-of-packed-member"
+
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG ?= "sasl"
@@ -54,4 +56,4 @@ COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
BBCLASSEXTEND = "native nativesdk"
-EXTRA_OECONF_toolchain-clang += "--disable-werror"
+EXTRA_OECONF_append_toolchain-clang = " --disable-werror"
diff --git a/meta-openembedded/meta-oe/classes/gitver.bbclass b/meta-openembedded/meta-oe/classes/gitver.bbclass
index 07f44c34b..cab850c7a 100644
--- a/meta-openembedded/meta-oe/classes/gitver.bbclass
+++ b/meta-openembedded/meta-oe/classes/gitver.bbclass
@@ -48,7 +48,7 @@ def get_git_hash(d):
srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
gitdir = os.path.abspath(os.path.join(srcdir, ".git"))
try:
- rev = gitrev_run("git rev-list HEAD -1")
+ rev = gitrev_run("git rev-list HEAD -1", gitdir)
return rev[:7]
except Exception as exc:
bb.fatal(str(exc))
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 507ac50ec..31f2f17fc 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -51,12 +51,6 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
phoronix-test-suite->php \
"
-# Depends on ndctl (through nvdimm PACKAGECONFIG) which depends on MACHINE_ARCH kernel
-# and making libblockdev MACHINE_ARCH is not an option as python3-blivet, udisks2, gvfs
-# would be MACHINE_ARCH as well
-SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
- libblockdev->ndctl \
-"
# ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
terminus-font->fontconfig \
diff --git a/meta-openembedded/meta-oe/licenses/safec b/meta-openembedded/meta-oe/licenses/safec
new file mode 100644
index 000000000..2bf1e6374
--- /dev/null
+++ b/meta-openembedded/meta-oe/licenses/safec
@@ -0,0 +1,26 @@
+Safe C Library
+
+Copyright (C) 2012, 2013 Cisco Systems
+Copyright (C) 2017 Reini Urban
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/meta-openembedded/meta-oe/licenses/ttf-mplus b/meta-openembedded/meta-oe/licenses/ttf-mplus
new file mode 100644
index 000000000..c9cdca3fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/licenses/ttf-mplus
@@ -0,0 +1,16 @@
+M+ FONTS Copyright (C) 2002-2009 M+ FONTS PROJECT
+
+-
+
+LICENSE_E
+
+
+
+
+These fonts are free softwares.
+Unlimited permission is granted to use, copy, and distribute it, with
+or without modification, either commercially and noncommercially.
+THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
+
+
+http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
index 6189da39f..b21212a43 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
@@ -18,21 +18,35 @@ SRC_URI = "git://github.com/ssvb/cpuburn-arm.git \
S = "${WORKDIR}/git"
do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
- ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7
- ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8
- ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9
- ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53
- ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait
+
+ # If the arch is set to ARM 64-bit - we only produce and ship burn-a53 version.
+ # In case of ARM 32-bit - we would build all variants, since burn-a53 supports both
+ # 32 and 64-bit builds
+ if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53
+ else
+ ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53
+ ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait
+ fi
}
do_install() {
install -d ${D}${bindir}
- for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do
- install -m 0755 $f ${D}${bindir}/$f
- done
+
+ if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then
+ install -m 0755 burn-a53 ${D}${bindir}
+ else
+ for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do
+ install -m 0755 $f ${D}${bindir}/$f
+ done
+ fi
}
COMPATIBLE_MACHINE ?= "(^$)"
COMPATIBLE_MACHINE_armv7a = "(.*)"
COMPATIBLE_MACHINE_armv7ve = "(.*)"
+COMPATIBLE_MACHINE_aarch64 = "(.*)"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb
index 4c7b05752..873384496 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb
@@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SECTION = "console/tests"
SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "a3d9e81f5abc1921d3aaf710ac4f4046"
-SRC_URI[sha256sum] = "acb9dfcf4a3452aaf82cce59ccc04fa4cf51a43617a6cca9d1f9c5c670a5655d"
+SRC_URI[md5sum] = "08fc81d25a1c24c7b091ac78ef145da6"
+SRC_URI[sha256sum] = "d6feeeafb6d636667480b6fbfd2a6537e3b354b2c7c72305784d14d38ab4bcd0"
S = "${WORKDIR}/phoronix-test-suite"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
index 706a55e11..741142c50 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
@@ -2,8 +2,8 @@ SUMMARY = "Small collection of benchmarks for storage I/O"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
-SRCREV = "262227ec9de4be1ab41d9918d32ceb773089f1dd"
-PV = "3.2+git${SRCPV}"
+SRCREV = "8d22ab8a4cc1484622c47ac9c5944fb9a61a5c0f"
+PV = "3.4"
SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
new file mode 100644
index 000000000..f5e7da359
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
@@ -0,0 +1,28 @@
+Fix compile on sytems using libc++ instead of libstdc++
+
+libc++ does not really implement __gnu_cxx namespace and it
+compiles fine without this namespace, therefore detect libc++
+and if it is used them exclude this namespace
+
+See https://github.com/stressapptest/stressapptest/issues/47
+
+Fixes
+
+./sattypes.h:33:17: error: expected namespace name
+using namespace __gnu_cxx; //NOLINT
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- stressapptest-1.0.9.orig/src/sattypes.h
++++ stressapptest-1.0.9/src/sattypes.h
+@@ -30,7 +30,9 @@
+ #include "stressapptest_config_android.h" // NOLINT
+ #else
+ #include "stressapptest_config.h" // NOLINT
++#ifndef _LIBCPP_VERSION
+ using namespace __gnu_cxx; //NOLINT
++#endif // _LIBCPP_VERSION
+ #endif // __ANDROID__
+ using namespace std;
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
new file mode 100644
index 000000000..8c251aeb9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
@@ -0,0 +1,72 @@
+sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally
+implemented, therefore check for them being available, if not there
+then read the sysfs directly to get the value
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/sat.cc
++++ b/src/sat.cc
+@@ -1482,15 +1482,47 @@ int Sat::CpuCount() {
+ return sysconf(_SC_NPROCESSORS_CONF);
+ }
+
++int Sat::ReadInt(const char *filename, int *value) {
++ char line[64];
++ int fd = open(filename, O_RDONLY), err = -1;
++
++ if (fd < 0)
++ return -1;
++ if (read(fd, line, sizeof(line)) > 0) {
++ *value = atoi(line);
++ err = 0;
++ }
++
++ close(fd);
++ return err;
++}
++
+ // Return the worst case (largest) cache line size of the various levels of
+ // cache actually prsent in the machine.
+ int Sat::CacheLineSize() {
+- int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
+- int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
++ int max_linesize, linesize;
++#ifdef _SC_LEVEL1_DCACHE_LINESIZE
++ max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize);
++#endif
++#ifdef _SC_LEVEL2_DCACHE_LINESIZE
++ linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize);
++#endif
+ if (linesize > max_linesize) max_linesize = linesize;
+- linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE);
++#ifdef _SC_LEVEL3_DCACHE_LINESIZE
++ linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize);
++#endif
+ if (linesize > max_linesize) max_linesize = linesize;
+- linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE);
++#ifdef _SC_LEVEL4_DCACHE_LINESIZE
++ linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE);
++#else
++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize);
++#endif
+ if (linesize > max_linesize) max_linesize = linesize;
+ return max_linesize;
+ }
+--- a/src/sat.h
++++ b/src/sat.h
+@@ -136,7 +136,8 @@ class Sat {
+ int CpuCount();
+ // Return the worst-case (largest) cache line size of the system.
+ int CacheLineSize();
+-
++ // Read int values from kernel file system e.g. sysfs
++ int ReadInt(const char *filename, int *value);
+ // Collect error counts from threads.
+ int64 GetTotalErrorCount();
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
new file mode 100644
index 000000000..a2966e99d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Stressful Application Test"
+DESCRIPTION = "Stressful Application Test (or stressapptest, its unix name) \
+ is a memory interface test. It tries to maximize randomized traffic to memory \
+ from processor and I/O, with the intent of creating a realistic high load \
+ situation in order to test the existing hardware devices in a computer. \
+"
+HOMEPAGE = "https://github.com/stressapptest/stressapptest"
+SECTION = "benchmark"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58"
+
+SRCREV = "fb72e5e5f0879231f38e0e826a98a6ca2d1ca38e"
+
+SRC_URI = "git://github.com/stressapptest/stressapptest \
+ file://libcplusplus-compat.patch \
+ file://read_sysfs_for_cachesize.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
deleted file mode 100644
index 251e50c90..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0001-efivar-fix-for-cross-compile.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a9115d9e6f0f62d6bb735ce3698858d1f89f8d73 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Fri, 25 Sep 2015 18:14:31 +0800
-Subject: [PATCH] efivar: fix for cross compile
-
-It builds and calls elf file makeguids to generate a header file which
-doesn't work for cross compile. Fix it.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Upstream-Status: Pending
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 0c16597..dcc7fc8 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -40,8 +40,8 @@ abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS))
- ./guid-symbols.c : include/efivar/efivar-guids.h
- ./guids.bin : include/efivar/efivar-guids.h
- ./names.bin : include/efivar/efivar-guids.h
--include/efivar/efivar-guids.h : makeguids guids.txt
-- ./makeguids guids.txt guids.bin names.bin \
-+include/efivar/efivar-guids.h : guids.txt
-+ makeguids guids.txt guids.bin names.bin \
- guid-symbols.c include/efivar/efivar-guids.h
-
- makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
deleted file mode 100644
index 96d0c6b3b..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/0004-fix-unknow-option-for-gold-linker.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From b3d35e7dd27a755df5acbe050837885914dbb28b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 10 May 2016 11:34:50 -0400
-Subject: [PATCH] fix unknow option for gold linker
-
-- Revert the following patch, since oe-core work with gcc 5
-...
-commit 3055a3797f16693dfdd855fa68bc57fd900dc408
-Author: Peter Jones <pjones@redhat.com>
-Date: Mon Feb 15 14:15:40 2016 -0500
-
- Make gcc.specs work with gcc 6 / binutils 2.26
-
- Apparently binutils 2.26 gets real picky about "ld -PIC" vs "ld -fPIC".
-
- Signed-off-by: Peter Jones <pjones@redhat.com>
-...
-
-- Remove unknown option '--add-needed'
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc.specs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/gcc.specs
-===================================================================
---- git.orig/gcc.specs
-+++ git/gcc.specs
-@@ -14,4 +14,4 @@
- + %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
-
- *link:
--+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
-++ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch
deleted file mode 100644
index 043b07a65..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar/allow-multi-definitions-for-native.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c10368b397483a2fc7b493c099d8416d902f8cd8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 31 Jul 2018 14:18:35 +0800
-Subject: [PATCH] allow multi definitions for native
-
-Upstream-Status: Pending
-
-It fails to create .so file when build efivar-native:
-
-| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
-| lib.o:lib.c:(.text+0xa0): first defined here
-
-Add link option '-z muldefs' to fix it.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Make.rules | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Make.rules b/Make.rules
-index 042585b..257ba45 100644
---- a/Make.rules
-+++ b/Make.rules
-@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
- $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
- -Wl,-soname,$@.1 \
- -Wl,--version-script=$(MAP) \
-+ -Wl,-z,muldefs \
- -o $@ $^ $(LDLIBS)
- ln -vfs $@ $@.1
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb b/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb
deleted file mode 100644
index 4b458dedd..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/efivar/efivar_37.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Tools to manipulate UEFI variables"
-DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
-HOMEPAGE = "https://github.com/rhinstaller/efivar"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
-
-DEPENDS = "popt"
-DEPENDS_append_class-target = " efivar-native"
-
-inherit pkgconfig
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10"
-SRC_URI = "git://github.com/rhinstaller/efivar.git \
- file://allow-multi-definitions-for-native.patch \
- "
-SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \
- "
-
-S = "${WORKDIR}/git"
-
-do_compile_prepend() {
- sed -i -e s:-Werror::g ${S}/gcc.specs
-}
-
-do_compile_class-native() {
- oe_runmake -C src makeguids CC_FOR_BUILD="${BUILD_CC}"
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_class-native() {
- install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
-}
-
-BBCLASSEXTEND = "native"
-
-RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
index abf6e752a..337fb11dd 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch
@@ -1,8 +1,8 @@
-From c4428260e7685ebaf5c26c6ecaae5a56849853e8 Mon Sep 17 00:00:00 2001
+From 05a4d54e2adc4caed507baca529089ec01f48340 Mon Sep 17 00:00:00 2001
From: Li Zhou <li.zhou@windriver.com>
Date: Tue, 6 Sep 2016 14:04:29 +0800
-Subject: [PATCH] lmsensors: sensors-detect: print a special message when there
- isn't enough cpu info
+Subject: [PATCH 1/2] lmsensors: sensors-detect: print a special message when
+ there isn't enough cpu info
When running sensors-detect, if there isn't enough information in
/proc/cpuinfo for this arch (e.g. ppc64), "Use of uninitialized value
@@ -18,10 +18,10 @@ Signed-off-by: Li Zhou <li.zhou@windriver.com>
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
-index 3c2b44f..5f62405 100755
+index 0b3b0ff2..68594cd7 100755
--- a/prog/detect/sensors-detect
+++ b/prog/detect/sensors-detect
-@@ -2864,7 +2864,12 @@ sub initialize_cpu_list
+@@ -3119,7 +3119,12 @@ sub initialize_cpu_list
sub print_cpu_info
{
my $cpu = $cpu[0];
@@ -36,5 +36,5 @@ index 3c2b44f..5f62405 100755
# @i2c_adapters is a list of references to hashes, one hash per I2C/SMBus
--
-1.9.1
+2.21.0
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
deleted file mode 100644
index fb3878dc3..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Jul 2017 15:05:50 -0700
-Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc
-
-musl provides it too.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- prog/dump/isadump.c | 6 ------
- prog/dump/isaset.c | 6 ------
- prog/dump/superio.c | 5 -----
- prog/dump/util.c | 5 -----
- 4 files changed, 22 deletions(-)
-
-diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c
-index e0e6f00..8794537 100644
---- a/prog/dump/isadump.c
-+++ b/prog/dump/isadump.c
-@@ -36,13 +36,7 @@
- #include "util.h"
- #include "superio.h"
-
--
--/* To keep glibc2 happy */
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- #ifdef __powerpc__
- unsigned long isa_io_base = 0; /* XXX for now */
-diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c
-index e743755..85a4f64 100644
---- a/prog/dump/isaset.c
-+++ b/prog/dump/isaset.c
-@@ -32,13 +32,7 @@
- #include <string.h>
- #include "util.h"
-
--
--/* To keep glibc2 happy */
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- #ifdef __powerpc__
- unsigned long isa_io_base = 0; /* XXX for now */
-diff --git a/prog/dump/superio.c b/prog/dump/superio.c
-index 64ef27b..906fe55 100644
---- a/prog/dump/superio.c
-+++ b/prog/dump/superio.c
-@@ -20,12 +20,7 @@
- */
-
- #include <stdlib.h>
--
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- #include "superio.h"
-
-diff --git a/prog/dump/util.c b/prog/dump/util.c
-index 874c1b9..197fa64 100644
---- a/prog/dump/util.c
-+++ b/prog/dump/util.c
-@@ -11,12 +11,7 @@
- #include <stdio.h>
- #include "util.h"
-
--/* To keep glibc2 happy */
--#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0
- #include <sys/io.h>
--#else
--#include <asm/io.h>
--#endif
-
- /* Return 1 if we should continue, 0 if we should abort */
- int user_ack(int def)
---
-2.13.3
-
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
index 2d5709f3f..68f51f5a6 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
@@ -1,8 +1,8 @@
-From dd9b40c54f160a44f1d78e5946d4cd00a8852802 Mon Sep 17 00:00:00 2001
+From 26742544bc9f136093b6be78259f4a891870aa3c Mon Sep 17 00:00:00 2001
From: Dengke Du <dengke.du@windriver.com>
Date: Wed, 21 Sep 2016 03:17:32 -0400
-Subject: [PATCH] lm-sensors: fix sensors-detect can't read the cpu information
- on fsl-t4xxx
+Subject: [PATCH 2/2] lm-sensors: fix sensors-detect can't read the cpu
+ information on fsl-t4xxx
This is because two reasons:
@@ -28,10 +28,10 @@ Signed-off-by: Dengke Du <dengke.du@windriver.com>
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
-index 5f62405..ae4def1 100755
+index 68594cd7..efe2c1af 100755
--- a/prog/detect/sensors-detect
+++ b/prog/detect/sensors-detect
-@@ -2833,6 +2833,7 @@ sub kernel_version_at_least
+@@ -3088,6 +3088,7 @@ sub kernel_version_at_least
# model name and stepping, directly taken from /proc/cpuinfo.
use vars qw(@cpu);
@@ -39,7 +39,7 @@ index 5f62405..ae4def1 100755
sub initialize_cpu_list
{
local $_;
-@@ -2848,7 +2849,7 @@ sub initialize_cpu_list
+@@ -3103,7 +3104,7 @@ sub initialize_cpu_list
};
next;
}
@@ -48,7 +48,7 @@ index 5f62405..ae4def1 100755
my $k = $1;
my $v = $2;
$v =~ s/\s+/ /g; # Merge multiple spaces
-@@ -2861,12 +2862,20 @@ sub initialize_cpu_list
+@@ -3116,12 +3117,20 @@ sub initialize_cpu_list
push @cpu, $entry if scalar keys(%{$entry}); # Last entry
}
@@ -70,5 +70,5 @@ index 5f62405..ae4def1 100755
print "# Processor: There isn't enough cpu info for this arch!!!\n";
}
--
-2.8.1
+2.21.0
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
index 4dbef73b9..c8e4565c1 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
@@ -1,29 +1,23 @@
-SUMMARY = "lm_sensors"
-DESCRIPTION = "Hardware health monitoring applications"
-HOMEPAGE = "http://www.lm-sensors.org/"
+SUMMARY = "Hardware health monitoring applications"
+HOMEPAGE = "https://hwmon.wiki.kernel.org/"
LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool"
+DEPENDS = " \
+ bison-native \
+ flex-native \
+ rrdtool \
+ virtual/libiconv \
+"
-SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \
+SRC_URI = "git://github.com/lm-sensors/lm-sensors.git;protocol=https \
file://fancontrol.init \
file://sensord.init \
file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \
- file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \
- file://0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch \
+ file://0002-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch \
"
-SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb"
-SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e"
-
-# It is using '-' but not '.' as delimiter for the version in the releases page,
-# which causes the version comparison unmatched.
-#UPSTREAM_CHECK_URI = "https://github.com/groeck/lm-sensors/releases"
-
-RECIPE_UPSTREAM_VERSION = "3.4.0"
-RECIPE_UPSTREAM_DATE = "Jun 25, 2015"
-CHECK_DATE = "May 28, 2018"
+SRCREV = "e8afbda10fba571c816abddcb5c8180afc435bba"
inherit update-rc.d systemd
@@ -39,7 +33,7 @@ SYSTEMD_PACKAGES = "${PN}-sensord"
SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service"
SYSTEMD_AUTO_ENABLE = "disable"
-S = "${WORKDIR}/lm-sensors-3-4-0"
+S = "${WORKDIR}/git"
EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \
MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \
@@ -61,20 +55,17 @@ do_install() {
install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
# Install directory
- install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${INIT_D_DIR}
# Install fancontrol init script
- install -m 0755 ${WORKDIR}/fancontrol.init \
- ${D}${sysconfdir}/init.d/fancontrol
+ install -m 0755 ${WORKDIR}/fancontrol.init ${D}${INIT_D_DIR}/fancontrol
# Install sensord init script
- install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord
+ install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord
# Insall sensord service script
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system
- fi
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/prog/init/*.service ${D}${systemd_system_unitdir}
}
RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
@@ -117,13 +108,13 @@ FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
RDEPENDS_${PN}-sensors = "${PN}-libsensors"
# sensord logging daemon
-FILES_${PN}-sensord = "${sbindir}/sensord ${sysconfdir}/init.d/sensord ${systemd_unitdir}/system/sensord.service"
+FILES_${PN}-sensord = "${sbindir}/sensord ${INIT_D_DIR}/sensord ${systemd_system_unitdir}/sensord.service"
FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool"
RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord"
# fancontrol script files
-FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/init.d/fancontrol"
+FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${INIT_D_DIR}/fancontrol"
FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
RDEPENDS_${PN}-fancontrol = "bash"
RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch
deleted file mode 100644
index 5fbafbb5d..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b8862e6af1c6d022b8c182098e7deddb874ece19 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Dec 2018 23:10:44 -0800
-Subject: [PATCH] Do not pass null string to %s printf formatted string
-
-Here the string is already decided to be NULL and passing
-a null pointer to %s will not work
-
-Fixes
-error: '%s' directive argument is null
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/67]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/plugins/mtk/mm-broadband-modem-mtk.c b/plugins/mtk/mm-broadband-modem-mtk.c
-index 475a63ac..541de4a5 100644
---- a/plugins/mtk/mm-broadband-modem-mtk.c
-+++ b/plugins/mtk/mm-broadband-modem-mtk.c
-@@ -191,7 +191,7 @@ get_supported_modes_ready (MMBaseModem *self,
-
- response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
- if (!response) {
-- mm_dbg ("Fail to get response %s", response);
-+ mm_dbg ("Fail to get response");
- g_task_return_error (task, error);
- g_object_unref (task);
- return;
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb
index f9b302a3d..8254a85fc 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb
@@ -13,11 +13,9 @@ DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native libxslt-native"
SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
file://0001-Do-not-set-Wno-unused-but-set-variable.patch \
- file://0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch \
"
-
-SRC_URI[md5sum] = "a49c9f73e46c7b89e5efedda250d22c0"
-SRC_URI[sha256sum] = "96f2a5f0ed15532b4c4c185b756fdc0326e7c2027cea26a1264f91e098260f80"
+SRC_URI[md5sum] = "92d25176d0cc9d588ca29700b33c7d98"
+SRC_URI[sha256sum] = "fd0f39996025dac96995daea8a58ec7dd571582f7563a8ae0d5f65b571b76ee2"
S = "${WORKDIR}/ModemManager-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch
new file mode 100644
index 000000000..b8ed87aa0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc/0001-usbbus-Include-stdint.h-for-uintX_t.patch
@@ -0,0 +1,24 @@
+From cb2a3991545ba9e885704226ed3e831bd5e4cb27 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 May 2019 22:10:05 -0700
+Subject: [PATCH] usbbus: Include stdint.h for uintX_t
+
+stdint.h is needed for uintX_t typedefs which are
+used to replace u_intX_t in libusb API headers in the cmake files
+
+Upstream-Status: Submitted [https://github.com/nfc-tools/libnfc/pull/544]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libnfc/buses/usbbus.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/libnfc/buses/usbbus.h
++++ b/libnfc/buses/usbbus.h
+@@ -35,6 +35,7 @@
+
+ #ifndef _WIN32
+ // Under POSIX system, we use libusb (>= 0.1.12)
++#include <stdint.h>
+ #include <usb.h>
+ #define USB_TIMEDOUT ETIMEDOUT
+ #define _usb_strerror( X ) strerror(-X)
diff --git a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb
index d00733bf5..7efd3443d 100644
--- a/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/libnfc/libnfc_git.bb
@@ -9,6 +9,9 @@ inherit autotools pkgconfig
S = "${WORKDIR}/git"
SRCREV = "c42e2502d4627d3ea62f83c32677b100bb3cebdc"
-SRC_URI = "git://github.com/nfc-tools/libnfc.git"
+SRC_URI = "git://github.com/nfc-tools/libnfc.git \
+ file://0001-usbbus-Include-stdint.h-for-uintX_t.patch \
+ "
+CFLAGS_append_libc-musl = " -D_GNU_SOURCE"
DEPENDS = "libusb"
diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
index 61e53029b..2f299b1ba 100644
--- a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
+++ b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
@@ -13,15 +13,12 @@ inherit autotools-brokensep pkgconfig bash-completion systemd
SRCREV = "cb2d678dd6d286dd96d31548c32449a8b883ae32"
SRC_URI = "git://github.com/pmem/ndctl.git"
-DEPENDS = "virtual/kernel kmod udev json-c"
+DEPENDS = "kmod udev json-c"
S = "${WORKDIR}/git"
EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs"
-# Depends on MACHINE_ARCH kernel
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 5fcf9899b..e34cce4eb 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -220,7 +220,8 @@ RDEPENDS_packagegroup-meta-oe-shells ="\
NE10 = ""
NE10_aarch64 = "ne10"
-NE10_arm7 = "ne10"
+NE10_armv7a = "ne10"
+NE10_armv7ve = "ne10"
RDEPENDS_packagegroup-meta-oe-support ="\
anthy asio atop augeas avro-c bdwgc frame grail \
@@ -241,7 +242,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\
pngcheck poco poppler poppler-data portaudio-v19 pps-tools \
pv pxaregs raptor2 rdfind read-edid rsnapshot s3c24xx-gpio s3c64xx-gpio \
sjf2410-linux-native satyr sdparm pty-forward-native serial-forward \
- sg3-utils sharutils smem spitools srecord ssiapi start-stop-daemon stm32flash \
+ sg3-utils sharutils smem spitools srecord ssiapi stm32flash \
syslog-ng system-config-keyboard tbb thin-provisioning-tools tokyocabinet \
tree uhubctl unixodbc uriparser usb-modeswitch \
usb-modeswitch-data usbpath uthash utouch-evemu utouch-frame \
diff --git a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb
new file mode 100644
index 000000000..d55d081f3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Safe C Library"
+
+LICENSE = "safec"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
+SECTION = "lib"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "62e6b2df55084316d027165d286e46beb40513dc"
+SRC_URI = "git://github.com/rurban/safeclib.git"
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64).*-linux'
+
+RDEPENDS_${PN} = "perl"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
index cf1d22242..51cecf5d2 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
@@ -9,7 +9,12 @@ SECTION = "console"
LICENSE = "GPL-2.0-with-OpenSSL-exception"
LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
-DEPENDS = "util-linux libdevmapper popt libgcrypt json-c"
+DEPENDS = " \
+ json-c \
+ libdevmapper \
+ popt \
+ util-linux \
+"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
SRC_URI[md5sum] = "41d8b985ef69242852b93e95d53e8e28"
@@ -19,9 +24,45 @@ inherit autotools gettext pkgconfig
# Use openssl because libgcrypt drops root privileges
# if libgcrypt is linked with libcap support
-PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG ??= " \
+ keyring \
+ cryptsetup \
+ veritysetup \
+ cryptsetup-reencrypt \
+ integritysetup \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+ udev \
+ kernel_crypto \
+ internal-argon2 \
+ blkid \
+ luks-adjust-xts-keysize \
+ openssl \
+"
+
+PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring"
+PACKAGECONFIG[fips] = "--enable-fips,--disable-fips"
+PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality"
+PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc"
+PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup"
+PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup"
+PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt"
+PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto"
+# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't
+# recognized.
+PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2"
+PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2"
+PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2"
+PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
+PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random"
+PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize"
PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
+PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss"
+PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
+PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
RRECOMMENDS_${PN} = "kernel-module-aes-generic \
kernel-module-dm-crypt \
@@ -32,6 +73,12 @@ RRECOMMENDS_${PN} = "kernel-module-aes-generic \
"
EXTRA_OECONF = "--enable-static"
+# Building without largefile is not supported by upstream
+EXTRA_OECONF += "--enable-largefile"
+# Requires a static popt library
+EXTRA_OECONF += "--disable-static-cryptsetup"
+# There's no recipe for libargon2 yet
+EXTRA_OECONF += "--disable-libargon2"
FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb
index e1a038dfa..e1a038dfa 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.13.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.16.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index fca74d448..9a398b308 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -2,9 +2,9 @@ SUMMARY = "A robust, scalable, and reliable SQL server"
HOMEPAGE = "http://mariadb.org"
SECTION = "libs"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311"
-SRC_URI = "https://downloads.mariadb.org/interstitial/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://downloads.mariadb.com/MariaDB/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \
file://my.cnf \
file://mysqld.service \
file://install_db.service \
@@ -19,8 +19,8 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BPN}-${PV}/source/${BPN}
file://clang_version_header_conflict.patch \
file://fix-arm-atomic.patch \
"
-SRC_URI[md5sum] = "603ce42e35b9a688f2cca05275acb5cb"
-SRC_URI[sha256sum] = "b2aa857ef5b84f85a7ea60a1eac7b34c0ca5151c71a0d44ce2d7fb028d71459a"
+SRC_URI[md5sum] = "11220d0b94c5c24caa2e1e9eaba38e31"
+SRC_URI[sha256sum] = "39e9723eaf620afd99b0925b2c2a5a50a89110ba50040adf14cce7cf89e5e21b"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb
index de24c920f..de24c920f 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.13.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.3.16.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
new file mode 100644
index 000000000..32b7f4284
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
@@ -0,0 +1,39 @@
+From 3c13315447fa175da6c9ebe59a039e611cdb5bd1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 4 Jun 2019 13:45:30 +0800
+Subject: [PATCH] Improve reproducibility,
+
+Remove build patch from binaries which pg_config do
+not record var-CC, var-CFLAGS, and configure
+
+$ /usr/bin/pg_config --cc
+not recorded
+
+$ /usr/bin/pg_config --configure
+not recorded
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/common/Makefile | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/common/Makefile b/src/common/Makefile
+index 1fc2c66..5e6c457 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -27,10 +27,6 @@ include $(top_builddir)/src/Makefile.global
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
+-override CPPFLAGS += -DVAL_CONFIGURE="\"$(configure_args)\""
+-override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 6e2023143..0fe5d58e1 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -280,7 +280,9 @@ FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \
${datadir}/${BPN}/timezonesets \
"
RDEPENDS_${PN} += "${PN}-timezone"
-FILES_${PN}-server-dev = "${includedir}/${BPN}/server"
+FILES_${PN}-server-dev = "${includedir}/${BPN}/server \
+ ${libdir}/${BPN}/pgxs \
+"
FILES_libecpg = "${libdir}/libecpg*${SOLIBS}"
FILES_libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb
index ff9306c1a..a18eca320 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78"
SRC_URI += "\
file://not-check-libperl.patch \
file://0001-Add-support-for-RISC-V.patch \
+ file://0001-Improve-reproducibility.patch \
"
SRC_URI[md5sum] = "c2a729b754b8de86a969c86ec25db076"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch
new file mode 100644
index 000000000..9682f8ad4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-CMake-has-stock-FindZLIB-in-upper-case.patch
@@ -0,0 +1,29 @@
+From 38146a5d803a1fb9b10f011aa857872b6f20cd02 Mon Sep 17 00:00:00 2001
+From: Tongliang Liao <xkszltl@gmail.com>
+Date: Mon, 29 Apr 2019 03:51:51 -0700
+Subject: [PATCH] CMake has stock FindZLIB in upper case. More details in
+ https://cmake.org/cmake/help/v3.14/module/FindZLIB.html
+
+
+Upstream-Status: Backport https://github.com/facebook/rocksdb/pull/5261
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 40cdd26bb..355686566 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,7 +92,7 @@ else()
+ endif()
+
+ if(WITH_ZLIB)
+- find_package(zlib REQUIRED)
++ find_package(ZLIB REQUIRED)
+ add_definitions(-DZLIB)
+ if(ZLIB_INCLUDE_DIRS)
+ # CMake 3
+--
+2.11.0
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch
new file mode 100644
index 000000000..ba9834dfe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-fix-Issue-5303.patch
@@ -0,0 +1,80 @@
+From 512aaf3d833973f6146c6f1235b590901876175e Mon Sep 17 00:00:00 2001
+From: biocodz <biocodz@protonmail.com>
+Date: Fri, 7 Jun 2019 09:49:37 -0400
+Subject: [PATCH] fix Issue 5303
+
+Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/5426]
+
+---
+ db/internal_stats.h | 21 +++++++++++++++++++++
+ db/version_edit.h | 8 ++++++++
+ utilities/persistent_cache/persistent_cache_util.h | 2 +-
+ 3 files changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/db/internal_stats.h b/db/internal_stats.h
+index 6fa8727a4..09447644d 100644
+--- a/db/internal_stats.h
++++ b/db/internal_stats.h
+@@ -236,6 +236,27 @@ class InternalStats {
+ }
+ }
+
++ CompactionStats & operator=(const CompactionStats& c) {
++ count = c.count;
++ micros = c.micros;
++ cpu_micros = c.cpu_micros;
++ bytes_read_non_output_levels = c.bytes_read_non_output_levels;
++ bytes_read_output_level = c.bytes_read_output_level;
++ bytes_written = c.bytes_written;
++ bytes_moved = c.bytes_moved;
++ num_input_files_in_non_output_levels =
++ c.num_input_files_in_non_output_levels;
++ num_input_files_in_output_level = c.num_input_files_in_output_level;
++ num_output_files = c.num_output_files;
++ num_input_records = c.num_input_records;
++ num_dropped_records = c.num_dropped_records;
++ int num_of_reasons = static_cast<int>(CompactionReason::kNumOfReasons);
++ for (int i = 0; i < num_of_reasons; i++) {
++ counts[i] = c.counts[i];
++ }
++ return *this;
++ }
++
+ void Clear() {
+ this->micros = 0;
+ this->cpu_micros = 0;
+diff --git a/db/version_edit.h b/db/version_edit.h
+index 229531792..5c50ef552 100644
+--- a/db/version_edit.h
++++ b/db/version_edit.h
+@@ -52,6 +52,14 @@ struct FileDescriptor {
+ smallest_seqno(_smallest_seqno),
+ largest_seqno(_largest_seqno) {}
+
++ FileDescriptor(const FileDescriptor& fd) {
++ table_reader = fd.table_reader;
++ packed_number_and_path_id = fd.packed_number_and_path_id;
++ file_size = fd.file_size;
++ smallest_seqno = fd.smallest_seqno;
++ largest_seqno = fd.largest_seqno;
++ }
++
+ FileDescriptor& operator=(const FileDescriptor& fd) {
+ table_reader = fd.table_reader;
+ packed_number_and_path_id = fd.packed_number_and_path_id;
+diff --git a/utilities/persistent_cache/persistent_cache_util.h b/utilities/persistent_cache/persistent_cache_util.h
+index 214bb5875..254c038f9 100644
+--- a/utilities/persistent_cache/persistent_cache_util.h
++++ b/utilities/persistent_cache/persistent_cache_util.h
+@@ -48,7 +48,7 @@ class BoundedQueue {
+ T t = std::move(q_.front());
+ size_ -= t.Size();
+ q_.pop_front();
+- return std::move(t);
++ return t;
+ }
+
+ size_t Size() const {
+--
+2.11.0
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
index 8d846197a..9fd5ee15b 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
@@ -6,24 +6,28 @@ LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
-SRCREV = "641fae60f63619ed5d0c9d9e4c4ea5a0ffa3e253"
-SRCBRANCH = "5.18.fb"
-PV = "5.18.3"
+SRCREV = "628a7fd74b5611657106c57f724f1682b114684c"
+SRCBRANCH = "6.0.fb"
+PV = "6.0.2"
SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
+ file://0001-CMake-has-stock-FindZLIB-in-upper-case.patch \
file://0001-Disable-Wshadow-and-do-not-mark-default-copy-constru.patch \
file://0001-utilities-Fix-build-failure-with-Werror-maybe-uninit.patch \
+ file://0001-fix-Issue-5303.patch \
"
S = "${WORKDIR}/git"
inherit cmake
-PACKAGECONFIG ??= "bzip2 zlib lz4"
+PACKAGECONFIG ??= "bzip2 zlib lz4 gflags"
PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON -DBZIP2_LIBRARIES:STRING=bz2,-DWITH_BZ2=OFF,bzip2"
PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON -DLZ4_LIBRARIES:STRING=lz4,-DWITH_LZ4=OFF,lz4"
-PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON -DZLIB_LIBRARIES:STRING=z,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON -DZLIB_LIBRARY:STRING=z,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd"
PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
+PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags"
# Tools and tests currently don't compile on armv5 so we disable them
EXTRA_OECMAKE = "\
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
index beca353e6..26cf30edd 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf/android-gadget-setup
@@ -9,6 +9,15 @@
# model=$(getprop ro.product.model Android)
# serial=$(getprop ro.serialno 0123456789ABCDEF)
+#below are now needed in order to use FunctionFS for ADB, tested to work with 3.4+ kernels
+if grep -q functionfs /proc/filesystems; then
+ mkdir -p /dev/usb-ffs/adb
+ mount -t functionfs adb /dev/usb-ffs/adb
+ #android-gadget-setup doesn't provide below 2 and without them it won't work, so we provide them here.
+ echo adb > /sys/class/android_usb/android0/f_ffs/aliases
+ echo ffs > /sys/class/android_usb/android0/functions
+fi
+
manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)"
model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)"
# get the device serial number from /proc/cmdline directly(since we have no getprop on
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch
new file mode 100644
index 000000000..c80d9f19f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch
@@ -0,0 +1,59 @@
+From bee22f143ffa0457aefcf31053f76416e6d242e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 May 2019 23:24:26 -0700
+Subject: [PATCH] esirisc_flash: Rename PAGE_SIZE to FLASH_PAGE_SIZE
+
+PAGE_SIZE is defined in system includes on some systems, this would
+avoid the unintended conflict
+
+Fixes
+| src/flash/nor/esirisc_flash.c:95:9: error: 'PAGE_SIZE' macro redefined [-Werror,-Wmacro-redefined]
+| #define PAGE_SIZE 4096
+| ^
+| /mnt/a/yoe/build/tmp/work/core2-64-yoe-linux-musl/openocd/0.10+gitrAUTOINC+7ee618692f-r0/recipe-sysroot/usr/inclu
+de/limits.h:89:9: note: previous definition is here
+| #define PAGE_SIZE PAGESIZE
+
+Upstream-Status: Submitted [http://openocd.zylin.com/#/c/5180/2]
+Change-Id: I195b303fc88a7c848ca4e55fd6ba893796df55cc
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/flash/nor/esirisc_flash.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/flash/nor/esirisc_flash.c b/src/flash/nor/esirisc_flash.c
+index 4e33b942..3bed0658 100644
+--- a/src/flash/nor/esirisc_flash.c
++++ b/src/flash/nor/esirisc_flash.c
+@@ -92,7 +92,7 @@
+ #endif
+
+ #define CONTROL_TIMEOUT 5000 /* 5s */
+-#define PAGE_SIZE 4096
++#define FLASH_PAGE_SIZE 4096
+ #define PB_MAX 32
+
+ #define NUM_NS_PER_S 1000000000ULL
+@@ -264,7 +264,7 @@ static int esirisc_flash_erase(struct flash_bank *bank, int first, int last)
+ (void)esirisc_flash_disable_protect(bank);
+
+ for (int page = first; page < last; ++page) {
+- uint32_t address = page * PAGE_SIZE;
++ uint32_t address = page * FLASH_PAGE_SIZE;
+
+ target_write_u32(target, esirisc_info->cfg + ADDRESS, address);
+
+@@ -464,8 +464,8 @@ static int esirisc_flash_probe(struct flash_bank *bank)
+ if (target->state != TARGET_HALTED)
+ return ERROR_TARGET_NOT_HALTED;
+
+- bank->num_sectors = bank->size / PAGE_SIZE;
+- bank->sectors = alloc_block_array(0, PAGE_SIZE, bank->num_sectors);
++ bank->num_sectors = bank->size / FLASH_PAGE_SIZE;
++ bank->sectors = alloc_block_array(0, FLASH_PAGE_SIZE, bank->num_sectors);
+
+ retval = esirisc_flash_init(bank);
+ if (retval != ERROR_OK) {
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
index 9a8a09a91..b50c3acf4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -9,6 +9,7 @@ SRC_URI = " \
git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl \
git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \
git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \
+ file://0001-esirisc_flash-Rename-PAGE_SIZE-to-FLASH_PAGE_SIZE.patch \
"
SRCREV_FORMAT = "openocd"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf b/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
index 77cdd82a7..ef79a0cc9 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
@@ -1,6 +1,6 @@
# Taken from http://wiki.apache.org/httpd/PHP-FPM
-LoadModule proxy_module lib/apache2/modules/mod_proxy.so
-LoadModule proxy_fcgi_module lib/apache2/modules/mod_proxy_fcgi.so
+LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
+LoadModule proxy_fcgi_module /usr/lib/apache2/modules/mod_proxy_fcgi.so
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/apache2/htdocs/
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch
new file mode 100644
index 000000000..21057439c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch
@@ -0,0 +1,34 @@
+php-ptest: xfail two tests
+
+If and when these tests are modified to expect the correct output, they will
+succeed and generate warnings in the test summary. This patch can then be removed.
+
+Note that we add a closing '?>' to one test so that it can be executed directly by php.
+
+Upstream-Status: Pending
+
+Signed-off-By: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/tests/basic/bug71273.phpt
++++ b/tests/basic/bug71273.phpt
+@@ -16,6 +16,8 @@ Bug #71273 A wrong ext directory setup i
+ var_dump(preg_match(",.+a[\\/].+[\\/]w.php_kartoffelbrei.dll.+,s", $out));
+ ?>
+ ==DONE==
++--XFAIL--
++Output is int(0), not int(1)
+ --EXPECT--
+ int(1)
+ ==DONE==
+--- a/tests/run-test/bug75042-3.phpt
++++ b/tests/run-test/bug75042-3.phpt
+@@ -8,5 +8,8 @@ display_errors=1
+ nonexistentsharedmodule
+ --FILE--
+ <?php
++?>
++--XFAIL--
++No warning message printed.
+ --EXPECTF--
+ PHP Warning: PHP Startup: Unable to load dynamic library '%snonexistentsharedmodule.%s' %A
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb
index 1a5c9760d..b1cac1c07 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb
@@ -11,10 +11,11 @@ SRC_URI_append_class-target = " \
file://pear-makefile.patch \
file://phar-makefile.patch \
file://0001-opcache-config.m4-enable-opcache.patch \
+ file://xfail_two_bug_tests.patch \
"
-SRC_URI[md5sum] = "efb58aea95a66738d871f83ec55fec6f"
-SRC_URI[sha256sum] = "2e2c3d8212c83649e443b61efffbd03df4b9edd0f9c7a679081fe4cb2da12b78"
+SRC_URI[md5sum] = "bde9a912fb311182cd460dad1abbc247"
+SRC_URI[sha256sum] = "1e5ac8700154835c0910e3a814517da9b87bb4a82cc7011fea1a82096b6f6f77"
PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch
new file mode 100644
index 000000000..35914952d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch
@@ -0,0 +1,55 @@
+From 7456d1621223d425b8a3fd74e435a79c046169fb Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 10 Apr 2019 20:47:48 -0400
+Subject: [PATCH] t/generated-code2/cxx-generate-packed-data.cc: Fix build
+ failure on newer protobuf
+
+ Upstream-Status: Backport [https://github.com/protobuf-c/protobuf-c/pull/369]
+
+google::protobuf::Message::Reflection has been removed in newer versions
+of protobuf. The replacement is google::protobuf::Reflection.
+
+protobuf in commit 779f61c6a3ce02a119e28e802f229e61b69b9046 ("Integrate
+recent changes from google3.", from August 2008) changed the following
+in message.h:
+
+ @@ -336,7 +337,8 @@ class LIBPROTOBUF_EXPORT Message {
+
+ // Introspection ---------------------------------------------------
+
+ - class Reflection; // Defined below.
+ + // Typedef for backwards-compatibility.
+ + typedef google::protobuf::Reflection Reflection;
+
+The "typedef for backwards-compatibility" apparently lasted ten years
+until protobuf commit 6bbe197e9c1b6fc38cbdc45e3bf83fa7ced792a3
+("Down-integrate from google3.", from August 2018) which finally removed
+the typedef:
+
+ @@ -327,8 +344,6 @@ class LIBPROTOBUF_EXPORT Message : public MessageLite {
+
+ // Introspection ---------------------------------------------------
+
+ - // Typedef for backwards-compatibility.
+ - typedef google::protobuf::Reflection Reflection;
+
+This commit updates the only use of this typedef (in the test suite) to
+directly refer to the replacement, google::protobuf::Reflection. This
+fixes the build failure in the test suite.
+---
+ t/generated-code2/cxx-generate-packed-data.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/generated-code2/cxx-generate-packed-data.cc b/t/generated-code2/cxx-generate-packed-data.cc
+index 4fd3e25..0865d2e 100644
+--- a/t/generated-code2/cxx-generate-packed-data.cc
++++ b/t/generated-code2/cxx-generate-packed-data.cc
+@@ -998,7 +998,7 @@ static void dump_test_packed_repeated_enum (void)
+ static void dump_test_unknown_fields (void)
+ {
+ EmptyMess mess;
+- const google::protobuf::Message::Reflection *reflection = mess.GetReflection();
++ const google::protobuf::Reflection *reflection = mess.GetReflection();
+ google::protobuf::UnknownFieldSet *fs = reflection->MutableUnknownFields(&mess);
+
+ #if GOOGLE_PROTOBUF_VERSION >= 2001000
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
index 7ef030092..1d1782306 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
@@ -15,7 +15,9 @@ DEPENDS = "protobuf-native protobuf"
PV .= "+git${SRCPV}"
SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff"
-SRC_URI = "git://github.com/protobuf-c/protobuf-c.git"
+SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
+ file://protobuf3-compatibility.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch
new file mode 100644
index 000000000..a160e5e97
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch
@@ -0,0 +1,52 @@
+From ea6e776e50971c89ad2293046b6ae2a6a9753c56 Mon Sep 17 00:00:00 2001
+From: Adam Cozzette <acozzette@google.com>
+Date: Thu, 6 Jun 2019 10:29:58 -0700
+Subject: [PATCH] Added stubs/map_util.h to list of installed headers
+
+This should fix issue #6186. I also had to remove a couple unnecessary
+const keywords in map_util.h because the no_warning_test was showing
+errors about those.
+
+Upstream-Status: Submitted [https://github.com/protocolbuffers/protobuf/pull/6223]
+---
+ src/Makefile.am | 1 +
+ src/google/protobuf/stubs/map_util.h | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index be18ba76..1689e221 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -72,6 +72,7 @@ nobase_include_HEADERS = \
+ google/protobuf/stubs/hash.h \
+ google/protobuf/stubs/logging.h \
+ google/protobuf/stubs/macros.h \
++ google/protobuf/stubs/map_util.h \
+ google/protobuf/stubs/mutex.h \
+ google/protobuf/stubs/once.h \
+ google/protobuf/stubs/platform_macros.h \
+diff --git a/src/google/protobuf/stubs/map_util.h b/src/google/protobuf/stubs/map_util.h
+index 2313e1f5..b04d9d46 100644
+--- a/src/google/protobuf/stubs/map_util.h
++++ b/src/google/protobuf/stubs/map_util.h
+@@ -620,7 +620,7 @@ bool UpdateReturnCopy(Collection* const collection,
+ // twice. Unlike UpdateReturnCopy this also does not come with the issue of an
+ // undefined previous* in case new data was inserted.
+ template <class Collection>
+-typename Collection::value_type::second_type* const
++typename Collection::value_type::second_type*
+ InsertOrReturnExisting(Collection* const collection,
+ const typename Collection::value_type& vt) {
+ std::pair<typename Collection::iterator, bool> ret = collection->insert(vt);
+@@ -633,7 +633,7 @@ InsertOrReturnExisting(Collection* const collection,
+
+ // Same as above, except for explicit key and data.
+ template <class Collection>
+-typename Collection::value_type::second_type* const
++typename Collection::value_type::second_type*
+ InsertOrReturnExisting(
+ Collection* const collection,
+ const typename Collection::value_type::first_type& key,
+--
+2.11.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb
index cf72d9ca7..476d1e309 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.6.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb
@@ -10,13 +10,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
DEPENDS = "zlib"
DEPENDS_append_class-target = " protobuf-native"
-PV .= "+git${SRCPV}"
+SRCREV = "09745575a923640154bcf307fba8aedff47f240a"
-SRCREV = "48cb18e5c419ddd23d9badcfe4e9df7bde1979b2"
-
-SRC_URI = "git://github.com/google/protobuf.git;branch=3.6.x \
+SRC_URI = "git://github.com/google/protobuf.git;branch=3.8.x \
file://run-ptest \
file://0001-protobuf-fix-configure-error.patch \
+ file://0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb
new file mode 100644
index 000000000..d00d1e2a0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-jsmin_2.2.2.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "JavaScript minifier."
+HOMEPAGE = "https://github.com/tikitu/jsmin/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3a3301ce2ad647e172f4a1016c67324d"
+
+inherit setuptools pypi
+SRC_URI[md5sum] = "00e7a3179a4591aab2ee707b3214e2fd"
+SRC_URI[sha256sum] = "b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb
index 348a0398f..c26b3838e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb
@@ -4,6 +4,7 @@ SECTION = "devel/python"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection distutils-base upstream-version-is-even
DEPENDS += "python glib-2.0"
@@ -13,16 +14,19 @@ SRC_URI = " \
http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
"
-SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90"
-SRC_URI[sha256sum] = "3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0"
+SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d"
+SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-BBCLASSEXTEND = "native"
+UNKNOWN_CONFIGURE_WHITELIST = "introspection"
+
+PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo"
+PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , "
-EXTRA_OECONF = "--disable-cairo"
-RDEPENDS_${PN} += "python-setuptools"
+BBCLASSEXTEND = "native"
+RDEPENDS_${PN} = "python-setuptools"
RDEPENDS_${PN}_class-native = ""
do_install_append() {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
new file mode 100644
index 000000000..1019c09d0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
@@ -0,0 +1,12 @@
+SUMMARY = "A TOML-0.4.0 parser/writer for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/pytoml/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cfff423699bdaef24331933ac4f56078"
+
+SRC_URI[md5sum] = "a11d8a4859b53f6ebe2f782314428911"
+SRC_URI[sha256sum] = "ca2d0cb127c938b8b76a9a0d0f855cf930c1d50cc3a0af6d3595b566519a1013"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb
new file mode 100644
index 000000000..88fa95317
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pytoml.inc
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb
new file mode 100644
index 000000000..af26e83d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-six_1.12.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require recipes-devtools/python/python-six.inc
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb
new file mode 100644
index 000000000..901fdc763
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-which_1.1.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "which.py -- a portable GNU which replacement"
+HOMEPAGE = "http://code.google.com/p/which/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=030b09798681482b9ad12ac47be496ea"
+
+inherit setuptools pypi python-dir
+
+SRCREV = "425bdeeb2d87c36e2313dc4b8d69ff2bb5a02ee9"
+PYPI_SRC_URI = "git://github.com/trentm/which"
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ rmdir -p --ignore-fail-on-non-empty ${D}${STAGING_BINDIR_NATIVE}
+ rmdir -p --ignore-fail-on-non-empty ${D}${datadir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
new file mode 100644
index 000000000..5b68f1966
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
@@ -0,0 +1,20 @@
+Some ARM cpus does not report the cache size or say it is -1
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866306
+
+Upstream-status: Pending
+
+Index: haveged-1.9.2/src/havegetune.c
+===================================================================
+--- haveged-1.9.2.orig/src/havegetune.c
++++ haveged-1.9.2/src/havegetune.c
+@@ -795,6 +795,9 @@ static int vfs_configInfoCache(
+ ctype = vfs_configFile(pAnchor, path, vfs_configType);
+ strcpy(path+plen, "size");
+ size = vfs_configFile(pAnchor, path, vfs_configInt);
++ if (size == -1) {
++ size = ctype == 'I' ? GENERIC_ICACHE : GENERIC_DCACHE;
++ }
+ cfg_cacheAdd(pAnchor, SRC_VFS_INDEX, pArgs[1], level, ctype, size);
+ }
+ }
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
index 32aab59f1..d0e1a29dd 100644
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRCREV = "faa40ff345af194d3253f5fb030403e3c9831c36"
SRC_URI = "git://github.com/jirka-h/haveged.git \
file://haveged-init.d-Makefile.am-add-missing-dependency.patch \
+ file://fix-cpu-cache-size-detection.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb
index 5f4155ea5..4f5b248c4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.10.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb
@@ -8,8 +8,8 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0981a01935982aa7e850a96e0c3057b0"
-SRC_URI[sha256sum] = "2be808383d8337846fe77ce49c7ad3336fb6857505494d85c0ac03f22c5bd1e7"
+SRC_URI[md5sum] = "c2a2e4e23eeb719ed31a755684697cf9"
+SRC_URI[sha256sum] = "ddfb7b9b4571551165b0fd824a340e58814c8c2b4af64c818579d4bc695a417d"
UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch
index 3bbd10a17..056f74a52 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-To-fix-build-error-on-arm32BE.patch
@@ -7,13 +7,13 @@ error: #error Target architecture was not detected as supported by Double-Conver
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
- mfbt/double-conversion/utils.h | 2 +-
+ mfbt/double-conversion/double-conversion/utils.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
+diff --git a/mfbt/double-conversion/double-conversion/utils.h b/mfbt/double-conversion/double-conversion/utils.h
index 4f37218..93575cb 100644
---- a/mfbt/double-conversion/utils.h
-+++ b/mfbt/double-conversion/utils.h
+--- a/mfbt/double-conversion/double-conversion/utils.h
++++ b/mfbt/double-conversion/double-conversion/utils.h
@@ -53,7 +53,7 @@
// disabled.)
// On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
index ba317bc0c..a3c1b69e2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-do-not-create-python-environment.patch
@@ -14,11 +14,9 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
js/src/old-configure | 4 ++--
3 files changed, 11 insertions(+), 21 deletions(-)
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 2123beb..6fe6591 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
-@@ -179,24 +179,6 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
+@@ -250,24 +250,6 @@ def virtualenv_python(env_python, build_
else:
python = sys.executable
@@ -42,9 +40,7 @@ index 2123beb..6fe6591 100644
-
return python
- set_config('PYTHON', virtualenv_python)
-diff --git a/configure.py b/configure.py
-index f7392d0..45323a5 100644
+
--- a/configure.py
+++ b/configure.py
@@ -12,7 +12,15 @@ import textwrap
@@ -62,22 +58,11 @@ index f7392d0..45323a5 100644
+ sys.path.insert(0, os.path.join(sub_dir, module_dir))
+
from mozbuild.configure import ConfigureSandbox
- from mozbuild.util import (
- indented_repr,
-diff --git a/js/src/old-configure b/js/src/old-configure
-index ee4527b..75b00e1 100644
+ from mozbuild.makeutil import Makefile
+ from mozbuild.pythonutil import iter_modules_in_path
--- a/js/src/old-configure
+++ b/js/src/old-configure
-@@ -10512,7 +10512,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then
- ;;
- esac
-
-- eval $dumpenv $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
-+ eval $dumpenv PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args
-
- done
-
-@@ -10931,7 +10931,7 @@ if test "$JS_STANDALONE"; then
+@@ -9974,7 +9974,7 @@ if test "$JS_STANDALONE"; then
if test "$no_recursion" != yes; then
trap '' EXIT
@@ -86,6 +71,3 @@ index ee4527b..75b00e1 100644
exit 1
fi
fi
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
index bc1af3c70..b882d76ec 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
@@ -1,6 +1,6 @@
-From 5ad700c92224193bfc789f7d53af38fc6f8b8904 Mon Sep 17 00:00:00 2001
+From f2f8be496c8e34b4d909b688a95c6f8565201081 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 19 Jul 2018 17:31:35 +0800
+Date: Wed, 19 Jun 2019 14:30:44 +0800
Subject: [PATCH] fix compiling failure on mips64-n32 bsp
- Tweak mips64-n32 with mips32
@@ -16,6 +16,7 @@ Subject: [PATCH] fix compiling failure on mips64-n32 bsp
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
---
build/moz.configure/init.configure | 5 ++++-
js/src/jit/mips-shared/Architecture-mips-shared.h | 4 +++-
@@ -23,10 +24,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 6fe6591..a77b46c 100644
+index 648ac2d..d0bcaf8 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
-@@ -357,7 +357,10 @@ def split_triplet(triplet):
+@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown=False):
canonical_cpu = 'mips32'
endianness = 'little' if 'el' in cpu else 'big'
elif cpu in ('mips64', 'mips64el'):
@@ -39,41 +40,41 @@ index 6fe6591..a77b46c 100644
elif cpu.startswith('aarch64'):
canonical_cpu = 'aarch64'
diff --git a/js/src/jit/mips-shared/Architecture-mips-shared.h b/js/src/jit/mips-shared/Architecture-mips-shared.h
-index 7afe305..c6e29dc 100644
+index e95ffd4..caf83f7 100644
--- a/js/src/jit/mips-shared/Architecture-mips-shared.h
+++ b/js/src/jit/mips-shared/Architecture-mips-shared.h
-@@ -24,6 +24,8 @@
- #define USES_O32_ABI
- #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || defined(JS_SIMULATOR_MIPS64)
+@@ -28,6 +28,8 @@
+ #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || \
+ defined(JS_SIMULATOR_MIPS64)
#define USES_N64_ABI
+#elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABIN32))
+#define USES_N32_ABI
#else
#error "Unsupported ABI"
#endif
-@@ -91,7 +93,7 @@ class Registers
- ta1 = t5,
- ta2 = t6,
- ta3 = t7,
+@@ -94,7 +96,7 @@ class Registers {
+ ta1 = t5,
+ ta2 = t6,
+ ta3 = t7,
-#elif defined(USES_N64_ABI)
+#elif defined(USES_N64_ABI) || defined(USES_N32_ABI)
- a4 = r8,
- a5 = r9,
- a6 = r10,
+ a4 = r8,
+ a5 = r9,
+ a6 = r10,
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index dfc7cf8..27f83ab 100644
+index 1067b6a..e0f0405 100644
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -83,8 +83,8 @@ CPU_preprocessor_checks = OrderedDict((
+@@ -90,8 +90,8 @@ CPU_preprocessor_checks = OrderedDict((
('hppa', '__hppa__'),
('sparc64', '__sparc__ && __arch64__'),
('sparc', '__sparc__'),
- ('mips64', '__mips64'),
('mips32', '__mips__'),
+ ('mips64', '__mips64'),
+ ('sh4', '__sh__'),
))
- assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)
--
2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch
new file mode 100644
index 000000000..f4c6e2768
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js-Fix-build-with-musl.patch
@@ -0,0 +1,31 @@
+From 0c9e8f586ba52a9aef5ed298e8315b2598b8fb72 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 25 May 2019 16:54:45 -0700
+Subject: [PATCH] js: Fix build with musl
+
+The MIPS specific header <sgidefs.h> is not provided by musl
+linux kernel headers provide <asm/sgidefs.h> which has same definitions
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ js/src/jsmath.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp
+index a28968be..8facaa81 100644
+--- a/js/src/jsmath.cpp
++++ b/js/src/jsmath.cpp
+@@ -71,7 +71,7 @@
+ #elif defined(__s390__)
+ #define GETRANDOM_NR 349
+ #elif defined(__mips__)
+-#include <sgidefs.h>
++#include <asm/sgidefs.h>
+ #if _MIPS_SIM == _MIPS_SIM_ABI32
+ #define GETRANDOM_NR 4353
+ #elif _MIPS_SIM == _MIPS_SIM_ABI64
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
index c111ea5ea..e3f1883a9 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
@@ -15,13 +15,13 @@ Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Rebase to 52.8.1
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- js/src/js.pc.in | 2 +-
+ js/src/build/js.pc.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/js/src/js.pc.in b/js/src/js.pc.in
+diff --git a/js/src/build/js.pc.in b/js/src/build/js.pc.in
index 2eae393..c2dea62 100644
---- a/js/src/js.pc.in
-+++ b/js/src/js.pc.in
+--- a/js/src/build/js.pc.in
++++ b/js/src/build/js.pc.in
@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
Version: @MOZILLA_VERSION@
@PKGCONF_REQUIRES_PRIVATE@
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch
new file mode 100644
index 000000000..2e810c87f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0001-riscv-Disable-atomic-operations.patch
@@ -0,0 +1,38 @@
+From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 27 May 2019 21:10:34 -0700
+Subject: [PATCH] riscv: Disable atomic operations
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ js/src/jit/AtomicOperations.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/js/src/jit/AtomicOperations.h
++++ b/js/src/jit/AtomicOperations.h
+@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfree
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
+ #elif defined(__s390__) || defined(__s390x__)
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
++#elif defined(__riscv)
++#include "jit/none/AtomicOperations-feeling-lucky.h"
+ #else
+ #error "No AtomicOperations support provided for this platform"
+ #endif
+--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
++++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+@@ -80,6 +80,14 @@
+ #define GNUC_COMPATIBLE
+ #endif
+
++#ifdef __riscv
++#define GNUC_COMPATIBLE
++#ifdef __riscv_xlen == 64
++#define HAS_64BIT_ATOMICS
++#define HAS_64BIT_LOCKFREE
++#endif
++#endif
++
+ // The default implementation tactic for gcc/clang is to use the newer
+ // __atomic intrinsics added for use in C++11 <atomic>. Where that
+ // isn't available, we use GCC's older __sync functions instead.
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
index 38e4698f2..d1da10972 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0005-fix-do_compile-failed-on-mips.patch
@@ -20,19 +20,14 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
config/config.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/config/config.mk b/config/config.mk
-index 4e3fd1a..d847ffa 100644
--- a/config/config.mk
+++ b/config/config.mk
-@@ -523,7 +523,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
+@@ -423,7 +423,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
ifdef SYMBOL_ORDER
EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
endif
-EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
+EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
- # $(call CHECK_SYMBOLS,lib,PREFIX,dep_name,test)
- # Checks that the given `lib` doesn't contain dependency on symbols with a
---
-2.7.4
-
+ # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
+ # this file
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
index 32a977ce2..770d5e0aa 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0006-support-musl.patch
@@ -7,8 +7,6 @@ Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- memory/jemalloc/src/src/pages.c | 1 -
- memory/mozjemalloc/jemalloc.c | 7 +++----
mozglue/misc/TimeStamp_darwin.cpp | 1 -
mozglue/misc/TimeStamp_posix.cpp | 1 -
nsprpub/pr/src/misc/prsystem.c | 1 -
@@ -18,62 +16,9 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
python/psutil/psutil/arch/osx/process_info.c | 1 -
9 files changed, 3 insertions(+), 12 deletions(-)
-diff --git a/memory/jemalloc/src/src/pages.c b/memory/jemalloc/src/src/pages.c
-index 647952a..7b964c8 100644
---- a/memory/jemalloc/src/src/pages.c
-+++ b/memory/jemalloc/src/src/pages.c
-@@ -2,7 +2,6 @@
- #include "jemalloc/internal/jemalloc_internal.h"
-
- #ifdef JEMALLOC_SYSCTL_VM_OVERCOMMIT
--#include <sys/sysctl.h>
- #endif
-
- /******************************************************************************/
-diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
-index 5d4d83a..c618de9 100644
---- a/memory/mozjemalloc/jemalloc.c
-+++ b/memory/mozjemalloc/jemalloc.c
-@@ -332,7 +332,6 @@ __FBSDID("$FreeBSD: head/lib/libc/stdlib/malloc.c 180599 2008-07-18 19:35:44Z ja
- #include <sys/time.h>
- #include <sys/types.h>
- #if !defined(MOZ_MEMORY_SOLARIS) && !defined(MOZ_MEMORY_ANDROID)
--#include <sys/sysctl.h>
- #endif
- #include <sys/uio.h>
- #ifndef MOZ_MEMORY
-@@ -674,7 +673,7 @@ static bool malloc_initialized = false;
- #elif defined(MOZ_MEMORY_DARWIN)
- static malloc_mutex_t init_lock = {OS_SPINLOCK_INIT};
- #elif defined(MOZ_MEMORY_LINUX) && !defined(MOZ_MEMORY_ANDROID)
--static malloc_mutex_t init_lock = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
-+static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
- #elif defined(MOZ_MEMORY)
- static malloc_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
- #else
-@@ -1644,7 +1643,7 @@ malloc_mutex_init(malloc_mutex_t *mutex)
- pthread_mutexattr_t attr;
- if (pthread_mutexattr_init(&attr) != 0)
- return (true);
-- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
- if (pthread_mutex_init(mutex, &attr) != 0) {
- pthread_mutexattr_destroy(&attr);
- return (true);
-@@ -1709,7 +1708,7 @@ malloc_spin_init(malloc_spinlock_t *lock)
- pthread_mutexattr_t attr;
- if (pthread_mutexattr_init(&attr) != 0)
- return (true);
-- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
- if (pthread_mutex_init(lock, &attr) != 0) {
- pthread_mutexattr_destroy(&attr);
- return (true);
-diff --git a/mozglue/misc/TimeStamp_darwin.cpp b/mozglue/misc/TimeStamp_darwin.cpp
-index f30bc98..3998c9c 100644
--- a/mozglue/misc/TimeStamp_darwin.cpp
+++ b/mozglue/misc/TimeStamp_darwin.cpp
-@@ -18,7 +18,6 @@
+@@ -19,7 +19,6 @@
#include <mach/mach_time.h>
#include <sys/time.h>
@@ -81,20 +26,16 @@ index f30bc98..3998c9c 100644
#include <time.h>
#include <unistd.h>
-diff --git a/mozglue/misc/TimeStamp_posix.cpp b/mozglue/misc/TimeStamp_posix.cpp
-index 05dedde..d9e30f2 100644
--- a/mozglue/misc/TimeStamp_posix.cpp
+++ b/mozglue/misc/TimeStamp_posix.cpp
@@ -21,7 +21,6 @@
- #if defined(__DragonFly__) || defined(__FreeBSD__) \
- || defined(__NetBSD__) || defined(__OpenBSD__)
+ #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
+ defined(__OpenBSD__)
#include <sys/param.h>
-#include <sys/sysctl.h>
#endif
#if defined(__DragonFly__) || defined(__FreeBSD__)
-diff --git a/nsprpub/pr/src/misc/prsystem.c b/nsprpub/pr/src/misc/prsystem.c
-index eba85fb..54b57bb 100644
--- a/nsprpub/pr/src/misc/prsystem.c
+++ b/nsprpub/pr/src/misc/prsystem.c
@@ -27,7 +27,6 @@
@@ -105,22 +46,18 @@ index eba85fb..54b57bb 100644
#endif
#if defined(DARWIN)
-diff --git a/python/psutil/psutil/_psutil_bsd.c b/python/psutil/psutil/_psutil_bsd.c
-index 7b6e561..0a91262 100644
---- a/python/psutil/psutil/_psutil_bsd.c
-+++ b/python/psutil/psutil/_psutil_bsd.c
-@@ -16,7 +16,6 @@
- #include <fcntl.h>
+--- a/third_party/python/psutil/psutil/_psutil_bsd.c
++++ b/third_party/python/psutil/psutil/_psutil_bsd.c
+@@ -29,7 +29,6 @@
#include <paths.h>
#include <sys/types.h>
--#include <sys/sysctl.h>
#include <sys/param.h>
+-#include <sys/sysctl.h>
#include <sys/user.h>
#include <sys/proc.h>
-diff --git a/python/psutil/psutil/_psutil_osx.c b/python/psutil/psutil/_psutil_osx.c
-index 3ebf8ff..b3910ba 100644
---- a/python/psutil/psutil/_psutil_osx.c
-+++ b/python/psutil/psutil/_psutil_osx.c
+ #include <sys/file.h>
+--- a/third_party/python/psutil/psutil/_psutil_osx.c
++++ b/third_party/python/psutil/psutil/_psutil_osx.c
@@ -13,7 +13,6 @@
#include <stdlib.h>
#include <stdio.h>
@@ -129,22 +66,8 @@ index 3ebf8ff..b3910ba 100644
#include <sys/vmmeter.h>
#include <libproc.h>
#include <sys/proc_info.h>
-diff --git a/python/psutil/psutil/arch/bsd/process_info.c b/python/psutil/psutil/arch/bsd/process_info.c
-index 4d73924..46f288d 100644
---- a/python/psutil/psutil/arch/bsd/process_info.c
-+++ b/python/psutil/psutil/arch/bsd/process_info.c
-@@ -15,7 +15,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <sys/types.h>
--#include <sys/sysctl.h>
- #include <sys/param.h>
- #include <sys/user.h>
- #include <sys/proc.h>
-diff --git a/python/psutil/psutil/arch/osx/process_info.c b/python/psutil/psutil/arch/osx/process_info.c
-index b6dd5bb..62a838f 100644
---- a/python/psutil/psutil/arch/osx/process_info.c
-+++ b/python/psutil/psutil/arch/osx/process_info.c
+--- a/third_party/python/psutil/psutil/arch/osx/process_info.c
++++ b/third_party/python/psutil/psutil/arch/osx/process_info.c
@@ -16,7 +16,6 @@
#include <stdlib.h>
#include <stdio.h>
@@ -153,6 +76,23 @@ index b6dd5bb..62a838f 100644
#include <libproc.h>
#include "process_info.h"
---
-2.7.4
-
+--- a/memory/build/Mutex.h
++++ b/memory/build/Mutex.h
+@@ -42,7 +42,7 @@ struct Mutex {
+ if (pthread_mutexattr_init(&attr) != 0) {
+ return false;
+ }
+- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
++ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
+ if (pthread_mutex_init(&mMutex, &attr) != 0) {
+ pthread_mutexattr_destroy(&attr);
+ return false;
+@@ -102,7 +102,7 @@ typedef Mutex StaticMutex;
+
+ #if defined(XP_DARWIN)
+ #define STATIC_MUTEX_INIT OS_SPINLOCK_INIT
+-#elif defined(XP_LINUX) && !defined(ANDROID)
++#elif defined(XP_LINUX) && !defined(ANDROID) && defined(__GLIBC__)
+ #define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ #else
+ #define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
index 9194e346a..3ac25f6ae 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/0010-fix-cross-compilation-on-i586-targets.patch
@@ -17,12 +17,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
js/src/old-configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/js/src/old-configure b/js/src/old-configure
-index 8a8ef52..d7afcff 100644
--- a/js/src/old-configure
+++ b/js/src/old-configure
-@@ -3964,7 +3964,7 @@ IMPORT_LIB_SUFFIX=
- DIRENT_INO=d_ino
+@@ -3833,7 +3833,7 @@ AS='$(CC)'
+ AS_DASH_C_FLAG='-c'
MOZ_USER_DIR=".mozilla"
-MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
@@ -30,6 +28,3 @@ index 8a8ef52..d7afcff 100644
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
index 6c87ff2a4..56b18ba8c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
@@ -1,28 +1,40 @@
-Patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
+patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/js/public/TypeDecls.h
+++ b/js/public/TypeDecls.h
-@@ -21,22 +21,23 @@
+@@ -21,31 +21,32 @@
#include <stdint.h>
#include "js-config.h"
+#include "jstypes.h"
- struct JSContext;
+ typedef uint8_t jsbytecode;
+
+-class JSAtom;
+-struct JSCompartment;
+-struct JSContext;
-class JSFunction;
-+class JS_PUBLIC_API(JSFunction);
- class JSObject;
+-class JSObject;
+-struct JSRuntime;
-class JSScript;
-class JSString;
-class JSAddonId;
-+class JS_PUBLIC_API(JSScript);
-+class JS_PUBLIC_API(JSString);
-+class JS_PUBLIC_API(JSAddonId);
+-struct JSFreeOp;
++class JS_PUBLIC_API JSAtom;
++struct JS_PUBLIC_API JSCompartment;
++struct JS_PUBLIC_API JSContext;
++class JS_PUBLIC_API JSFunction;
++class JS_PUBLIC_API JSObject;
++struct JS_PUBLIC_API JSRuntime;
++class JS_PUBLIC_API JSScript;
++class JS_PUBLIC_API JSString;
++class JS_PUBLIC_API JSAddonId;
++struct JS_PUBLIC_API JSFreeOp;
-struct jsid;
-+struct JS_PUBLIC_API(jsid);
++struct JS_PUBLIC_API jsid;
namespace JS {
@@ -30,8 +42,14 @@ Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
-class Symbol;
-class Value;
-+class JS_PUBLIC_API(Symbol);
-+class JS_PUBLIC_API(Value);
- template <typename T> class Handle;
- template <typename T> class MutableHandle;
- template <typename T> class Rooted;
+-class Realm;
+-struct Runtime;
+-struct Zone;
++class JS_PUBLIC_API Symbol;
++class JS_PUBLIC_API Value;
++class JS_PUBLIC_API Realm;
++struct JS_PUBLIC_API Runtime;
++struct JS_PUBLIC_API Zone;
+
+ template <typename T>
+ class Handle;
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch
index 4354a9dee..0a4148561 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/add-riscv-support.patch
@@ -4,8 +4,6 @@ Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1318905
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
-diff --git a/build/autoconf/config.guess b/build/autoconf/config.guess
-index d5d667d..1277a86 100755
--- a/build/autoconf/config.guess
+++ b/build/autoconf/config.guess
@@ -1029,6 +1029,9 @@ EOF
@@ -18,39 +16,21 @@ index d5d667d..1277a86 100755
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 6fe6591..56e6730 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
-@@ -362,6 +362,9 @@ def split_triplet(triplet):
- elif cpu.startswith('aarch64'):
- canonical_cpu = 'aarch64'
+@@ -658,6 +658,9 @@ def split_triplet(triplet, allow_unknown
+ elif cpu == 'sh4':
+ canonical_cpu = 'sh4'
endianness = 'little'
+ elif cpu in ('riscv32', 'riscv64'):
+ canonical_cpu = cpu
+ endianness = 'little'
- else:
- die('Unknown CPU type: %s' % cpu)
-
-diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
-index 15dd4bf..4f37218 100644
---- a/mfbt/double-conversion/utils.h
-+++ b/mfbt/double-conversion/utils.h
-@@ -60,7 +60,8 @@
- defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
- defined(__SH4__) || defined(__alpha__) || \
- defined(_MIPS_ARCH_MIPS32R2) || \
-- defined(__AARCH64EL__) || defined(__aarch64__)
-+ defined(__AARCH64EL__) || defined(__aarch64__) || \
-+ defined(__riscv)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
- #if defined(_WIN32)
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index dfc7cf8..4f8d666 100644
+ elif allow_unknown:
+ canonical_cpu = cpu
+ endianness = 'unknown'
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -48,6 +48,8 @@ CPU_bitness = {
+@@ -50,6 +50,8 @@ CPU_bitness = {
'mips64': 64,
'ppc': 32,
'ppc64': 64,
@@ -58,8 +38,8 @@ index dfc7cf8..4f8d666 100644
+ 'riscv64': 64,
's390': 32,
's390x': 64,
- 'sparc': 32,
-@@ -79,6 +81,8 @@ CPU_preprocessor_checks = OrderedDict((
+ 'sh4': 32,
+@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict((
('s390', '__s390__'),
('ppc64', '__powerpc64__'),
('ppc', '__powerpc__'),
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch
deleted file mode 100644
index 5487cdbe6..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/disable-mozglue-in-stand-alone-builds.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 2fb531ac753500314336ccd508cb2d53f5e768e5 Mon Sep 17 00:00:00 2001
-From: Till Schneidereit <till@tillschneidereit.net>
-Date: Thu, 1 Oct 2015 12:59:09 +0200
-Subject: Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all platforms
-
-Otherwise, build fails not being able to find HashBytes.
-
-Patch ported forward to mozjs52 by Philip Chimento
-<philip.chimento@gmail.com>.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
-
-Upstream-Status: Backport
-
-Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
----
- js/src/old-configure | 20 ++++++++++++--------
- mozglue/build/moz.build | 2 +-
- 2 files changed, 13 insertions(+), 9 deletions(-)
-
-diff --git a/js/src/old-configure b/js/src/old-configure
-index d7afcff..8a6f142 100644
---- a/js/src/old-configure
-+++ b/js/src/old-configure
-@@ -8546,21 +8546,25 @@ if test -z "$MOZ_ENABLE_WARNINGS_AS_ERRORS"; then
- fi
-
-
--case "${OS_TARGET}" in
--Android|WINNT|Darwin)
-+if test "$JS_STANDALONE"; then
- MOZ_GLUE_IN_PROGRAM=
-- ;;
--*)
-- MOZ_GLUE_IN_PROGRAM=1
-- cat >> confdefs.pytmp <<\EOF
-+else
-+ case "${OS_TARGET}" in
-+ Android|WINNT|Darwin)
-+ MOZ_GLUE_IN_PROGRAM=
-+ ;;
-+ *)
-+ MOZ_GLUE_IN_PROGRAM=1
-+ cat >> confdefs.pytmp <<\EOF
- (''' MOZ_GLUE_IN_PROGRAM ''', ' 1 ')
- EOF
- cat >> confdefs.h <<\EOF
- #define MOZ_GLUE_IN_PROGRAM 1
- EOF
-
-- ;;
--esac
-+ ;;
-+ esac
-+fi
-
- if test "$MOZ_MEMORY"; then
- if test "x$MOZ_DEBUG" = "x1"; then
-diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
-index d289747..e3be5a2 100644
---- a/mozglue/build/moz.build
-+++ b/mozglue/build/moz.build
-@@ -6,7 +6,7 @@
-
- # Build mozglue as a shared lib on Windows, OSX and Android.
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
--if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
-+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch
index 29c6a7b69..e257fc6f6 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/format-overflow.patch
@@ -11,11 +11,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
- DEFINES['FFI_BUILDING'] = True
-
- if CONFIG['GNU_CXX']:
-- CXXFLAGS += ['-Wno-shadow', '-Werror=format']
-+ CXXFLAGS += ['-Wno-shadow']
+ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
+ # Also disable strict-aliasing for GCC compiler, that is enabled by default
+ # starting with version 7.1, see Bug 1363009
+- CXXFLAGS += ['-Wno-shadow', '-Werror=format', '-fno-strict-aliasing']
++ CXXFLAGS += ['-Wno-shadow', '-fno-strict-aliasing']
# Suppress warnings in third-party code.
- if CONFIG['CLANG_CXX']:
+ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb
index 5e67eeea7..70bdbc168 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb
@@ -1,9 +1,9 @@
SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf"
-SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.9.1.orig.tar.xz \
+SRC_URI = "https://dev.gentoo.org/~axs/distfiles/mozjs-60.5.2.tar.bz2 \
file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
file://0010-fix-cross-compilation-on-i586-targets.patch \
file://0001-do-not-create-python-environment.patch \
@@ -11,29 +11,31 @@ SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.9.1.o
file://0003-workaround-autoconf-2.13-detection-failed.patch \
file://0004-do-not-use-autoconf-2.13-to-refresh-old.configure.patch \
file://0005-fix-do_compile-failed-on-mips.patch \
- file://disable-mozglue-in-stand-alone-builds.patch \
file://add-riscv-support.patch \
file://0001-mozjs-fix-coredump-caused-by-getenv.patch \
file://format-overflow.patch \
- file://JS_PUBLIC_API.patch \
file://0001-To-fix-build-error-on-arm32BE.patch \
+ file://JS_PUBLIC_API.patch \
+ file://0001-riscv-Disable-atomic-operations.patch \
"
SRC_URI_append_libc-musl = " \
file://0006-support-musl.patch \
+ file://0001-js-Fix-build-with-musl.patch \
"
SRC_URI_append_mipsarchn32 = " \
file://0001-fix-compiling-failure-on-mips64-n32-bsp.patch \
"
-
-SRC_URI[md5sum] = "c9473c625ee0a9edaaac8b742ff24c5f"
-SRC_URI[sha256sum] = "f9324a6724233ab15f10381fe13e635e89d725ef1e78025a0a7d36c58a84a0f9"
+SRC_URI[md5sum] = "023ed014e9e93d01620d121bc06a3589"
+SRC_URI[sha256sum] = "f51039c997415fd0f13f8e01966b4a8ff80cbf90deb8b14c18827104a369cc0d"
inherit autotools pkgconfig perlnative pythonnative
inherit distro_features_check
CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
-DEPENDS += "nspr zlib"
+DEPENDS += "nspr zlib python-six-native python-pytoml-native \
+ python-jsmin-native python-futures-native \
+ python-which-native"
# Disable null pointer optimization in gcc >= 6
# https://bugzilla.redhat.com/show_bug.cgi?id=1328045
@@ -47,10 +49,15 @@ EXTRA_OECONF = " \
--prefix=${prefix} \
--libdir=${libdir} \
--disable-tests --disable-strip --disable-optimize \
+ --disable-jemalloc \
--with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
"
+EXTRA_OECONF_append_mipsarch = " --disable-ion"
+EXTRA_OECONF_append_riscv64 = " --disable-ion"
+EXTRA_OECONF_append_riscv32 = " --disable-ion"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11"
@@ -105,7 +112,7 @@ do_install_prepend() {
PACKAGES =+ "lib${BPN}"
FILES_lib${BPN} += "${libdir}/lib*.so"
-FILES_${PN}-dev += "${bindir}/js52-config"
+FILES_${PN}-dev += "${bindir}/js60-config"
# Fails to build with thumb-1 (qemuarm)
#| {standard input}: Assembler messages:
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch
deleted file mode 100644
index 3b0ef5e5a..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0001-make-netgroup-support-configurable.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 7d5e205aa58a10e7b1ccc2fa75b443508a5c3e18 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Jan 2016 04:31:59 +0000
-Subject: [PATCH] make netgroup support configurable
-
-Disable using innetgr and *netigrent function if not available
-
-These functions are not available on all libc implementations e.g. musl
-doesnt have them.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
-Rebase to 0.115
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 2 +-
- src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++-
- src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8b3e1b1..1c392df 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
- [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
- AC_SUBST(EXPAT_LIBS)
-
--AC_CHECK_FUNCS(clearenv fdatasync)
-+AC_CHECK_FUNCS(clearenv fdatasync getnetgrent innetgr)
-
- if test "x$GCC" = "xyes"; then
- LDFLAGS="-Wl,--as-needed $LDFLAGS"
-diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
-index cb6fdab..de3f752 100644
---- a/src/polkitbackend/polkitbackendinteractiveauthority.c
-+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
-@@ -2224,7 +2224,7 @@ get_users_in_group (PolkitIdentity *group,
- out:
- return ret;
- }
--
-+#if defined HAVE_GETNETGRENT
- static GList *
- get_users_in_net_group (PolkitIdentity *group,
- gboolean include_root)
-@@ -2285,6 +2285,8 @@ get_users_in_net_group (PolkitIdentity *group,
- return ret;
- }
-
-+#endif
-+
- /* ---------------------------------------------------------------------------------------------------- */
-
- static void
-@@ -2369,10 +2371,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent,
- {
- user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE));
- }
-+#if defined HAVE_GETNETGRENT
- else if (POLKIT_IS_UNIX_NETGROUP (identity))
- {
- user_identities = g_list_concat (user_identities, get_users_in_net_group (identity, FALSE));
- }
-+#endif
- else
- {
- g_warning ("Unsupported identity");
-diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
-index 517f3c6..6042dd2 100644
---- a/src/polkitbackend/polkitbackendjsauthority.cpp
-+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
- user = JS_EncodeString (cx, args[0].toString());
- netgroup = JS_EncodeString (cx, args[1].toString());
-
-+#if defined HAVE_INNETGR
- if (innetgr (netgroup,
- NULL, /* host */
- user,
-@@ -1509,6 +1510,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
- {
- is_in_netgroup = true;
- }
-+#endif
-
- JS_free (cx, netgroup);
- JS_free (cx, user);
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
new file mode 100644
index 000000000..fd7251369
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
@@ -0,0 +1,232 @@
+From 21aa2747e8f0048759aab184b07dd6389666d5e6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 May 2019 13:18:55 -0700
+Subject: [PATCH] make netgroup support optional
+
+On at least Linux/musl and Linux/uclibc, netgroup
+support is not available. PolKit fails to compile on these systems
+for that reason.
+
+This change makes netgroup support conditional on the presence of the
+setnetgrent(3) function which is required for the support to work. If
+that function is not available on the system, an error will be returned
+to the administrator if unix-netgroup: is specified in configuration.
+
+Fixes bug 50145.
+
+Closes polkit/polkit#14.
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ src/polkit/polkitidentity.c | 16 ++++++++++++++++
+ src/polkit/polkitunixnetgroup.c | 3 +++
+ .../polkitbackendinteractiveauthority.c | 14 ++++++++------
+ src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
+ test/polkit/polkitidentitytest.c | 9 ++++++++-
+ test/polkit/polkitunixnetgrouptest.c | 3 +++
+ .../test-polkitbackendjsauthority.c | 2 ++
+ 8 files changed, 43 insertions(+), 8 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP
+ [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
+ AC_SUBST(EXPAT_LIBS)
+
+-AC_CHECK_FUNCS(clearenv fdatasync)
++AC_CHECK_FUNCS(clearenv fdatasync setnetgrent)
+
+ if test "x$GCC" = "xyes"; then
+ LDFLAGS="-Wl,--as-needed $LDFLAGS"
+--- a/src/polkit/polkitidentity.c
++++ b/src/polkit/polkitidentity.c
+@@ -182,7 +182,15 @@ polkit_identity_from_string (const gcha
+ }
+ else if (g_str_has_prefix (str, "unix-netgroup:"))
+ {
++#ifndef HAVE_SETNETGRENT
++ g_set_error (error,
++ POLKIT_ERROR,
++ POLKIT_ERROR_FAILED,
++ "Netgroups are not available on this machine ('%s')",
++ str);
++#else
+ identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1);
++#endif
+ }
+
+ if (identity == NULL && (error != NULL && *error == NULL))
+@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria
+ GVariant *v;
+ const char *name;
+
++#ifndef HAVE_SETNETGRENT
++ g_set_error (error,
++ POLKIT_ERROR,
++ POLKIT_ERROR_FAILED,
++ "Netgroups are not available on this machine");
++ goto out;
++#else
+ v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
+ if (v == NULL)
+ {
+@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria
+ name = g_variant_get_string (v, NULL);
+ ret = polkit_unix_netgroup_new (name);
+ g_variant_unref (v);
++#endif
+ }
+ else
+ {
+--- a/src/polkit/polkitunixnetgroup.c
++++ b/src/polkit/polkitunixnetgroup.c
+@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni
+ PolkitIdentity *
+ polkit_unix_netgroup_new (const gchar *name)
+ {
++#ifndef HAVE_SETNETGRENT
++ g_assert_not_reached();
++#endif
+ g_return_val_if_fail (name != NULL, NULL);
+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
+ "name", name,
+--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
+@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity
+ GList *ret;
+
+ ret = NULL;
++#ifdef HAVE_SETNETGRENT
+ name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group));
+
+-#ifdef HAVE_SETNETGRENT_RETURN
++# ifdef HAVE_SETNETGRENT_RETURN
+ if (setnetgrent (name) == 0)
+ {
+ g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno));
+ goto out;
+ }
+-#else
++# else
+ setnetgrent (name);
+-#endif
++# endif /* HAVE_SETNETGRENT_RETURN */
+
+ for (;;)
+ {
+-#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
++# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
+ const char *hostname, *username, *domainname;
+-#else
++# else
+ char *hostname, *username, *domainname;
+-#endif
++# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */
+ PolkitIdentity *user;
+ GError *error = NULL;
+
+@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity
+
+ out:
+ endnetgrent ();
++#endif /* HAVE_SETNETGRENT */
+ return ret;
+ }
+
+--- a/src/polkitbackend/polkitbackendjsauthority.cpp
++++ b/src/polkitbackend/polkitbackendjsauthority.cpp
+@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext
+
+ JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
+
++#ifdef HAVE_SETNETGRENT
+ JS::RootedString usrstr (authority->priv->cx);
+ usrstr = args[0].toString();
+ user = JS_EncodeStringToUTF8 (cx, usrstr);
+@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext
+
+ JS_free (cx, netgroup);
+ JS_free (cx, user);
++#endif
+
+ ret = true;
+
+--- a/test/polkit/polkitidentitytest.c
++++ b/test/polkit/polkitidentitytest.c
+@@ -19,6 +19,7 @@
+ * Author: Nikki VonHollen <vonhollen@google.com>
+ */
+
++#include "config.h"
+ #include "glib.h"
+ #include <polkit/polkit.h>
+ #include <polkit/polkitprivate.h>
+@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes
+ {"unix-group:root", "unix-group:jane", FALSE},
+ {"unix-group:jane", "unix-group:jane", TRUE},
+
++#ifdef HAVE_SETNETGRENT
+ {"unix-netgroup:foo", "unix-netgroup:foo", TRUE},
+ {"unix-netgroup:foo", "unix-netgroup:bar", FALSE},
++#endif
+
+ {"unix-user:root", "unix-group:root", FALSE},
++#ifdef HAVE_SETNETGRENT
+ {"unix-user:jane", "unix-netgroup:foo", FALSE},
++#endif
+
+ {NULL},
+ };
+@@ -181,11 +186,13 @@ main (int argc, char *argv[])
+ g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
+ g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
+
++#ifdef HAVE_SETNETGRENT
+ g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string);
++ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
++#endif
+
+ g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant);
+ g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant);
+- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
+
+ add_comparison_tests ();
+
+--- a/test/polkit/polkitunixnetgrouptest.c
++++ b/test/polkit/polkitunixnetgrouptest.c
+@@ -19,6 +19,7 @@
+ * Author: Nikki VonHollen <vonhollen@google.com>
+ */
+
++#include "config.h"
+ #include "glib.h"
+ #include <polkit/polkit.h>
+ #include <string.h>
+@@ -69,7 +70,9 @@ int
+ main (int argc, char *argv[])
+ {
+ g_test_init (&argc, &argv, NULL);
++#ifdef HAVE_SETNETGRENT
+ g_test_add_func ("/PolkitUnixNetgroup/new", test_new);
+ g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name);
++#endif
+ return g_test_run ();
+ }
+--- a/test/polkitbackend/test-polkitbackendjsauthority.c
++++ b/test/polkitbackend/test-polkitbackendjsauthority.c
+@@ -137,12 +137,14 @@ test_get_admin_identities (void)
+ "unix-group:users"
+ }
+ },
++#ifdef HAVE_SETNETGRENT
+ {
+ "net.company.action3",
+ {
+ "unix-netgroup:foo"
+ }
+ },
++#endif
+ };
+ guint n;
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
index 13c4b0259..8754383ef 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.115.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
@@ -23,11 +23,11 @@ PACKAGECONFIG[consolekit] = ",,,consolekit"
PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
- file://0001-make-netgroup-support-configurable.patch \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
-"
-SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082"
-SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131"
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0003-make-netgroup-support-optional.patch \
+ "
+SRC_URI[md5sum] = "4b37258583393e83069a0e2e89c0162a"
+SRC_URI[sha256sum] = "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1"
EXTRA_OECONF = "--with-os-type=moblin \
--disable-man-pages \
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch
deleted file mode 100644
index 701ab2c5b..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 35aae13a34728e14150706b2a4b1a57fabe00e98 Mon Sep 17 00:00:00 2001
-From: Tobias Oetiker <tobi@oetiker.ch>
-Date: Mon, 4 Feb 2019 16:25:06 +0100
-Subject: [PATCH 1/3] add missing etc/rrdcached-default-lsb.in to tarball -
- fixes #956
-
-Add missing etc/rrdcached-default-lsb.in to tarball - fixes #956
-
-Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/35aae13a34728e14150706b2a4b1a57fabe00e98]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- Makefile.am | 2 +-
- Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 5a15db6c..6bec092e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -20,7 +20,7 @@ EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \
- rrdtool.spec favicon.ico bootstrap \
- libtool \
- m4/snprintf.m4 \
-- etc/rrdcached-default-redhat etc/rrdcached-init-redhat \
-+ etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \
- win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \
- win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \
- win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \
-diff --git a/Makefile.in b/Makefile.in
-index 607193c1..c9b1939f 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -432,7 +432,7 @@ EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \
- rrdtool.spec favicon.ico bootstrap \
- libtool \
- m4/snprintf.m4 \
-- etc/rrdcached-default-redhat etc/rrdcached-init-redhat \
-+ etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \
- win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \
- win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \
- win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch
deleted file mode 100644
index 0385ae6d6..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 3e469b4c4b5c219469b0be299ce75c4fac09afc9 Mon Sep 17 00:00:00 2001
-From: Tobias Oetiker <tobi@oetiker.ch>
-Date: Mon, 4 Feb 2019 17:17:25 +0100
-Subject: [PATCH 2/3] properly add etc files via EXTRA_DIST - fixes #956 some more
-
-Add etc files via EXTRA_DIST - fixes #956 some more
-
-Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/3e469b4c4b5c219469b0be299ce75c4fac09afc9]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- Makefile.am | 3 +--
- Makefile.in | 5 ++---
- etc/Makefile.am | 3 +++
- etc/Makefile.in | 3 +++
- 4 files changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 6bec092e..c3e2c303 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -5,7 +5,7 @@ RSYNC = rsync --rsh=ssh
-
- # build the following subdirectories
-
--SUBDIRS = po src bindings tests
-+SUBDIRS = po src bindings tests etc
-
- if BUILD_DOCS
- SUBDIRS += doc
-@@ -20,7 +20,6 @@ EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \
- rrdtool.spec favicon.ico bootstrap \
- libtool \
- m4/snprintf.m4 \
-- etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \
- win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \
- win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \
- win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \
-diff --git a/Makefile.in b/Makefile.in
-index c9b1939f..6a1280e4 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -168,7 +168,7 @@ am__define_uniq_tagged_files = \
- ETAGS = etags
- CTAGS = ctags
- CSCOPE = cscope
--DIST_SUBDIRS = po src bindings tests doc examples
-+DIST_SUBDIRS = po src bindings tests etc doc examples
- am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(top_srcdir)/conftools/compile \
- $(top_srcdir)/conftools/config.guess \
-@@ -427,12 +427,11 @@ top_srcdir = @top_srcdir@
- RSYNC = rsync --rsh=ssh
-
- # build the following subdirectories
--SUBDIRS = po src bindings tests $(am__append_1) $(am__append_2)
-+SUBDIRS = po src bindings tests etc $(am__append_1) $(am__append_2)
- EXTRA_DIST = COPYRIGHT CHANGES TODO CONTRIBUTORS THREADS VERSION LICENSE \
- rrdtool.spec favicon.ico bootstrap \
- libtool \
- m4/snprintf.m4 \
-- etc/rrdcached-default-redhat etc/rrdcached-init-redhat etc/rrdcached-default-lsb.in \
- win32/build-rrdtool.dot win32/build-rrdtool.pdf win32/build-rrdtool.svg \
- win32/librrd-4.def win32/librrd-4.rc win32/librrd-4.vcxproj \
- win32/Makefile.msc win32/README win32/README-MinGW-w64 win32/rrdcgi.rc win32/rrd_config.h \
-diff --git a/etc/Makefile.am b/etc/Makefile.am
-index f5503f0c..ab763dc8 100644
---- a/etc/Makefile.am
-+++ b/etc/Makefile.am
-@@ -1,3 +1,6 @@
-+EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-lsb.in \
-+ rrdcached.socket.in rrdcached.service.in
-+
- if HAVE_SYSTEMD
- systemdsystemunit_DATA = \
- etc/rrdcached.socket \
-diff --git a/etc/Makefile.in b/etc/Makefile.in
-index c67f9214..74b914b9 100644
---- a/etc/Makefile.in
-+++ b/etc/Makefile.in
-@@ -364,6 +364,9 @@ target_vendor = @target_vendor@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
-+EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-lsb.in \
-+ rrdcached.socket.in rrdcached.service.in
-+
- @HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \
- @HAVE_SYSTEMD_TRUE@ etc/rrdcached.socket \
- @HAVE_SYSTEMD_TRUE@ etc/rrdcached.service
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch
deleted file mode 100644
index b929e31f8..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool/0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 865a9bade72f93cf72ca59954c6df01e8c48915d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
-Date: Tue, 5 Feb 2019 15:04:34 +0100
-Subject: [PATCH 3/3] Fixed 'No rule to make target 'etc/rrdcached.socket'
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixed 'No rule to make target 'etc/rrdcached.socket'
-
-Upstream-Status: Backport [https://github.com/oetiker/rrdtool-1.x/commit/865a9bade72f93cf72ca59954c6df01e8c48915d]
-
-Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- etc/Makefile.am | 4 ++--
- etc/Makefile.in | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/etc/Makefile.am b/etc/Makefile.am
-index ab763dc8..7d18178a 100644
---- a/etc/Makefile.am
-+++ b/etc/Makefile.am
-@@ -3,6 +3,6 @@ EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-ls
-
- if HAVE_SYSTEMD
- systemdsystemunit_DATA = \
-- etc/rrdcached.socket \
-- etc/rrdcached.service
-+ rrdcached.socket \
-+ rrdcached.service
- endif
-\ No newline at end of file
-diff --git a/etc/Makefile.in b/etc/Makefile.in
-index 74b914b9..d512fd59 100644
---- a/etc/Makefile.in
-+++ b/etc/Makefile.in
-@@ -368,8 +368,8 @@ EXTRA_DIST = rrdcached-default-redhat rrdcached-init-redhat rrdcached-default-ls
- rrdcached.socket.in rrdcached.service.in
-
- @HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \
--@HAVE_SYSTEMD_TRUE@ etc/rrdcached.socket \
--@HAVE_SYSTEMD_TRUE@ etc/rrdcached.service
-+@HAVE_SYSTEMD_TRUE@ rrdcached.socket \
-+@HAVE_SYSTEMD_TRUE@ rrdcached.service
-
- all: all-am
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
index 63cdb7aee..1962a2dd4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
@@ -2,18 +2,15 @@ SUMMARY = "High performance data logging and graphing system for time series dat
HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3349111ed0533471494beec99715bc9d"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python-setuptools-native"
-SRCREV = "34e6ff6218bb0372eb545f886dec96dd3d20be47"
-PV = "1.7.1"
+SRCREV = "56a83f4f52e6745cd4352f9ee008be3183a6dedf"
+PV = "1.7.2"
SRC_URI = "\
git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http; \
- file://0001-add-missing-etc-rrdcached-default-lsb.in-to-tarball-.patch \
- file://0002-properly-add-etc-files-via-EXTRA_DIST-fixes-956-some.patch \
- file://0003-Fixed-No-rule-to-make-target-etc-rrdcached.socket.patch \
"
S = "${WORKDIR}/git"
@@ -35,7 +32,7 @@ am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packag
--disable-python,python,"
PACKAGECONFIG[perl] = \
-"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \
+"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1' \
ac_cv_path_PERL_CC='${CC}', \
--disable-perl,perl,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
index 54ed043f4..054e0acc8 100644
--- a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -10,10 +10,6 @@ SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \
SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a"
PV = "2.2.0+git${SRCPV}"
-DEPENDS="virtual/kernel"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
inherit autotools pkgconfig
DEPENDS += "libdaemon"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
index 91fa00cc9..249e96f16 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
@@ -3,7 +3,7 @@ DEPENDS = "jpeg tiff libpng zlib"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f"
-SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
+SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz"
SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f"
SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
index 9ad348d9f..efcf1b616 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -2,7 +2,7 @@ require ttf.inc
SUMMARY = "MPlus font - TTF Edition"
HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
-LICENSE = "${PN}"
+LICENSE = "${BPN}"
LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \
file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \
"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
index 62f2bb280..e522810a2 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
@@ -4,7 +4,7 @@ SUMMARY = "Japanese TrueType fonts from Vine Linux"
AUTHOR = "Contributor: noonov <noonov@gmail.com>"
HOMEPAGE = "http://vlgothic.dicey.org/"
-LICENSE = "mplus & BSD"
+LICENSE = "ttf-mplus & BSD"
LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \
file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
index b38fb6592..971de731a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_18.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
@@ -12,8 +12,8 @@ DEPENDS += "virtual/libx11 libxvmc drm \
inherit distro_features_check
REQUIRED_DISTRO_FEATURES += "opengl"
-SRC_URI[md5sum] = "40e7c0a5a69aba3d84e0958f58705ea7"
-SRC_URI[sha256sum] = "72ea3b8127d4550b64f797457f5a7851a541fa4ee2cc3f345b6c1886b81714a0"
+SRC_URI[md5sum] = "47eccf71823206ade9629cba69de7ef6"
+SRC_URI[sha256sum] = "5cb6015d8664546ad1311bc9c363d7bc41ebf60e7046ceb44dd38e5b707961b0"
EXTRA_OECONF += "--disable-glamor"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb
index 0b2335682..e124db19c 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb
@@ -12,8 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "zlib readline coreutils-native"
-SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
- http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/crash-utility/${BPN}.git \
+ http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \
file://7001force_define_architecture.patch \
file://7003cross_ranlib.patch \
file://0001-cross_add_configure_option.patch \
@@ -25,8 +26,7 @@ SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;download
file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
"
-SRC_URI[md5sum] = "3f6e18d38821bb326700f1d6d43bcaec"
-SRC_URI[sha256sum] = "114a83ca27c91e4321f6399d637a9d2270f72b9327e56d687c5fb139e903069b"
+SRCREV = "c0a2fc9d322cf0c5f569ce54e9201d2f586edb0c"
SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
index 8d706e4a5..4e5b6ca33 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
@@ -1,11 +1,7 @@
require oprofile.inc
-DEPENDS += "virtual/kernel"
DEPENDS_append_powerpc64 = " libpfm4"
-# Depends on MACHINE_ARCH kernel
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
SRC_URI[md5sum] = "bd998df5521ebedae31e71cd3fb6200b"
SRC_URI[sha256sum] = "95ded8bde1ec39922f0af015981a67aec63e025a501e4dc04cd65d38f73647e6"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch
new file mode 100644
index 000000000..56981d96f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-Makefile-fix-multilib-build-failure.patch
@@ -0,0 +1,89 @@
+From 50cea8fd3c07ab27da6edce865a49339f16f3b57 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Tue, 18 Jun 2019 17:10:15 +0800
+Subject: [PATCH] Makefile: fix multilib build failure
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ Makefile | 50 +++++++++++++++++++++++++++-----------------------
+ 1 file changed, 27 insertions(+), 23 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8455415..4aa0786 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,30 +1,34 @@
+ # SPDX-License-Identifier: GPL-2.0
+ PREFIX ?= /usr
+ DESTDIR ?=
++BASELIB ?=
+
+ all:
+ @echo "Nothing to build"
+
++clean:
++ @echo "Nothing to clean"
++
+ install : uninstall
+- install -d $(DESTDIR)$(PREFIX)/lib/pm-graph
+- install sleepgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph
+- install bootgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph
+- install -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
+- install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
++ install -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph
++ install sleepgraph.py $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph
++ install bootgraph.py $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph
++ install -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/standby-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend-callgraph.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend-dev.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
++ install -m 644 config/suspend-x2-proc.cfg $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config
+
+ install -d $(DESTDIR)$(PREFIX)/bin
+- ln -s ../lib/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph
+- ln -s ../lib/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph
++ ln -s ../$(BASELIB)/pm-graph/bootgraph.py $(DESTDIR)$(PREFIX)/bin/bootgraph
++ ln -s ../$(BASELIB)/pm-graph/sleepgraph.py $(DESTDIR)$(PREFIX)/bin/sleepgraph
+
+ install -d $(DESTDIR)$(PREFIX)/share/man/man8
+ install bootgraph.8 $(DESTDIR)$(PREFIX)/share/man/man8
+@@ -37,11 +41,11 @@ uninstall :
+ rm -f $(DESTDIR)$(PREFIX)/bin/bootgraph
+ rm -f $(DESTDIR)$(PREFIX)/bin/sleepgraph
+
+- rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/config/*
+- if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config ] ; then \
+- rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph/config; \
++ rm -f $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config/*
++ if [ -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config ] ; then \
++ rmdir $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/config; \
+ fi;
+- rm -f $(DESTDIR)$(PREFIX)/lib/pm-graph/*
+- if [ -d $(DESTDIR)$(PREFIX)/lib/pm-graph ] ; then \
+- rmdir $(DESTDIR)$(PREFIX)/lib/pm-graph; \
++ rm -f $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph/*
++ if [ -d $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph ] ; then \
++ rmdir $(DESTDIR)$(PREFIX)/$(BASELIB)/pm-graph; \
+ fi;
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb
new file mode 100644
index 000000000..ea12e054d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Timing analysis tools for suspend/resume/boot"
+DESCRIPTION = "This tool suite is designed to assist kernel and OS developers \
+in optimizing their linux stack's suspend/resume & boot time."
+HOMEPAGE = "https://01.org/pm-graph"
+LICENSE = "GPL-2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
+
+SRCREV = "5be9a16547234cef5aca8bfaccd920490ea1cfa7"
+SRC_URI = "git://github.com/intel/pm-graph.git \
+ file://0001-Makefile-fix-multilib-build-failure.patch"
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST='(i.86|x86_64).*'
+EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} BASELIB=${baselib}"
+
+do_install() {
+ oe_runmake install
+}
+
+RDEPENDS_${PN} += "python-core python-threading python-datetime python-subprocess python-compression"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
index dc3e78feb..3f25e6f00 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
@@ -41,11 +41,13 @@ do_configure_prepend() {
mkdir -p ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
+ cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
cp -r ${WORKDIR}/COPYING ${S}
}
do_compile() {
+ sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
index 50d49370b..fb9bdc70f 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
@@ -28,9 +28,10 @@ EXTRA_OECONF = " \
--enable-custom-modes \
"
-# ne10 is available only for armv7a and aarch64
+# ne10 is available only for armv7a, armv7ve and aarch64
DEPENDS_append_aarch64 = " ne10"
DEPENDS_append_armv7a = " ne10"
+DEPENDS_append_armv7ve = " ne10"
python () {
if d.getVar('TARGET_FPU') in [ 'soft' ]:
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb b/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
index d53dff6a0..76e10f86a 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
@@ -8,8 +8,8 @@ DEPENDS = "alsa-lib texinfo"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
"
-SRC_URI[md5sum] = "9dd9bed30c6f7607a55480234606071b"
-SRC_URI[sha256sum] = "3f363e03f7b1db75b9b6602841bbd440ed275a548e53545f980df8155de4d330"
+SRC_URI[md5sum] = "f69d7dd06d307e888f466fc27f4f680b"
+SRC_URI[sha256sum] = "ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19"
inherit autotools binconfig lib_package
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
deleted file mode 100644
index b59569f2c..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-build-sys-Use-C-11-for-building.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 1f92aa5c8d910519e3a74b2e3a9199aa9026a16c Mon Sep 17 00:00:00 2001
-From: Arun Raghavan <git@arunraghavan.net>
-Date: Mon, 25 Jan 2016 08:41:42 +0530
-Subject: [PATCH 1/2] build-sys: Use C++11 for building
-
-This requirement was added by gtkmm at some point:
-
-http://www.murrayc.com/permalink/2015/07/31/gtkmm-now-uses-c11/
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 5b50e2d..8f28782 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -39,6 +39,7 @@ AC_PROG_CC
- AC_PROG_LN_S
- AC_TYPE_SIGNAL
- AC_HEADER_STDC
-+AX_CXX_COMPILE_STDCXX_11
-
- AC_ARG_ENABLE(gtk3,
- [AS_HELP_STRING([--disable-gtk3],
---
-2.12.1
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
index 959068dd3..6a8274405 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -2,19 +2,17 @@ DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based vol
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "intltool-native gtkmm libcanberra pulseaudio"
+DEPENDS = "intltool-native gtkmm3 libcanberra pulseaudio"
inherit gnome distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
- file://0001-build-sys-Use-C-11-for-building.patch \
- file://0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch \
"
-SRC_URI[md5sum] = "176308d2c03f8f3a7b2bd4f4d284fe71"
-SRC_URI[sha256sum] = "b3d2ea5a25fc88dcee80c396014f72df1b4742f8cfbbc5349c39d64a0d338890"
+SRC_URI[md5sum] = "9dcc2c76292e7e5e075d51b8dcb20202"
+SRC_URI[sha256sum] = "8fc45bac9722aefa6f022999cbb76242d143c31b314e2dbb38f034f4069d14e2"
-EXTRA_OECONF = " --disable-gtk3 --disable-lynx "
+EXTRA_OECONF = "--disable-lynx "
RDEPENDS_${PN} += "pulseaudio-server"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
deleted file mode 100644
index b31d8eb4e..000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.4.4.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "The Geolocation Service"
-DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
-The primary goal of the Geoclue project is to make creating location-aware applications \
-as simple as possible, while the secondary goal is to ensure that no application \
-can access location information without explicit permission from user."
-LICENSE = "GPLv2.0+"
-SECTION = "console/network"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8114b83a0435d8136b47bd70111ce5cd"
-
-DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-SRC_URI = " \
- http://www.freedesktop.org/software/geoclue/releases/2.4/geoclue-${PV}.tar.xz \
-"
-
-SRC_URI[md5sum] = "d2a5b05f4bad032673fe23afbce27926"
-SRC_URI[sha256sum] = "9c43fb9d0c12067ea64400500abb0640194947d4c2c55e38545afe5d9c5c315c"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-# Without this line, package is delcared a library and named libgeoclue*
-AUTO_LIBNAME_PKGS = ""
-
-PACKAGECONFIG ??= "3g modem-gps cdma nmea lib"
-PACKAGECONFIG[3g] = "--enable-3g-source,--disable-3g-source,modemmanager"
-PACKAGECONFIG[modem-gps] = "--enable-modem-gps-source,--disable-modem-gps-source,modemmanager"
-PACKAGECONFIG[cdma] = "--enable-cdma-source,--disable-cdma-source,modemmanager"
-PACKAGECONFIG[nmea] = "--enable-nmea-source,--disable-nmea-source,avahi"
-PACKAGECONFIG[lib] = "--enable-libgeoclue,--disable-libgeoclue,gobject-introspection"
-
-EXTRA_OECONF += " \
- --with-dbus-service-user=root \
- --with-dbus-sys-dir=${sysconfdir}/dbus-1/system.d \
- --enable-demo-agent=no \
-"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/system-services \
- ${libdir} \
- ${systemd_unitdir} \
- ${prefix}/libexec \
-"
-
-FILES_${PN}-dev += " \
- ${datadir}/dbus-1/interfaces \
- ${datadir}/gir-1.0 \
-"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb
new file mode 100644
index 000000000..b46445a2b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb
@@ -0,0 +1,54 @@
+SUMMARY = "The Geolocation Service"
+DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
+The primary goal of the Geoclue project is to make creating location-aware applications \
+as simple as possible, while the secondary goal is to ensure that no application \
+can access location information without explicit permission from user."
+LICENSE = "GPLv2.0+"
+SECTION = "console/network"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6"
+
+DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala
+
+SRC_URI = " \
+ https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/${PV}/geoclue-${PV}.tar \
+"
+
+SRC_URI[md5sum] = "6228301ed62b587ebaa0438b97ce66e4"
+SRC_URI[sha256sum] = "3caa5e10190a34c17a9b3a9d1d8a19797ed197f07f36f6e35ce533a379efe155"
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# Without this line, package is declared a library and named libgeoclue*
+AUTO_LIBNAME_PKGS = ""
+
+PACKAGECONFIG ??= "3g modem-gps cdma nmea lib"
+PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager"
+PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager"
+PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager"
+PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi"
+PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false,gobject-introspection"
+
+GTKDOC_MESON_OPTION = "gtk-doc"
+
+EXTRA_OEMESON += " \
+ -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \
+ -Ddemo-agent=false \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${libdir} \
+ ${systemd_unitdir} \
+ ${prefix}/libexec \
+"
+
+FILES_${PN}-dev += " \
+ ${datadir}/dbus-1/interfaces \
+ ${datadir}/gir-1.0 \
+"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
index e823e42a5..7752e76b5 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
@@ -5,6 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
PROVIDES = "virtual/gpsd"
+# SConstruct in gpsd does not yet support Python 3
+DEPENDS += "python-scons-native"
+DEPENDS_remove = "python3-scons-native"
+
EXTRANATIVEPATH += "chrpath-native"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
@@ -28,7 +32,7 @@ export STAGING_LIBDIR
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
-PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
EXTRA_OESCONS = " \
sysroot=${STAGING_DIR_TARGET} \
libQgpsmm='false' \
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
index 28bd7dad8..28bd7dad8 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch
+++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
index d66dc875b..a3f09036c 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
@@ -6,7 +6,10 @@ DEPENDS = "proj geos sqlite3 libxml2 zlib"
LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
-SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz"
+SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz \
+ file://geos-config.patch"
+SRC_URI[md5sum] = "6b380b332c00da6f76f432b10a1a338c"
+SRC_URI[sha256sum] = "88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499"
inherit autotools pkgconfig
@@ -16,8 +19,3 @@ EXTRA_OECONF = "--enable-freexl=no"
PACKAGES += "${PN}-plugin"
INSANE_SKIP_${PN}-plugin = "dev-so"
FILES_${PN}-plugin += "${libdir}/mod_*"
-
-SRC_URI[md5sum] = "83305ed694a77152120d1f74c5151779"
-SRC_URI[sha256sum] = "9f138a6854740c7827fdee53845eb1485fce3e805a7aa9fc9151f8046ebd312d"
-
-SRC_URI += "file://geos-config.patch"
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb
index e62c1d3d1..1ed97a27e 100644
--- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb
@@ -2,8 +2,8 @@ SUMMARY = "C++11 command line parser"
DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface."
HOMEPAGE = "https://github.com/CLIUtils/CLI11"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c271fee3ae28e11b24b97284d9f82887"
-SRCREV = "bd4dc911847d0cde7a6b41dfa626a85aab213baf"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8489f3831fc7b75264c1d5e346251a74"
+SRCREV = "49ac989a9527ee9bb496de9ded7b4872c2e0e5ca"
PV .= "+git${SRCPV}"
SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb
index 1b1265fe3..070451211 100644
--- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb
@@ -17,3 +17,7 @@ SRCREV= "9d8f544001cb74544de6dc8c565592f7e2626d6e"
S = "${WORKDIR}/git"
inherit cmake pkgconfig
+
+# Temporary until https://github.com/Microsoft/cpprestsdk/issues/1099
+# is fixed properly
+CXXFLAGS += "-Wno-error=deprecated-copy -Wno-error=redundant-move"
diff --git a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb
deleted file mode 100644
index 620e7804c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_1.15.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-include gsl.inc
-
-SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b"
-SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3"
-
diff --git a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb
new file mode 100644
index 000000000..4e8541812
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb
@@ -0,0 +1,6 @@
+include gsl.inc
+
+SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "52fcbe147ba413d78841084cb43c95fb"
+SRC_URI[sha256sum] = "0460ad7c2542caaddc6729762952d345374784100223995eb14d614861f2258d"
diff --git a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
new file mode 100644
index 000000000..3da67d1e3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
@@ -0,0 +1,151 @@
+SUMMARY = "Hunspell dictionaries used by Maliit"
+
+#Provided by Titus Wormer (wooorm) https://github.com/wooorm/dictionaries
+
+LICENSE = "MIT"
+LICENSE_dictionaries/bg = "LGPL 2.1"
+LICENSE_dictionaries/br = "GPL 3.0"
+LICENSE_dictionaries/ca-valencia = "GPL 2.0 & LGPL-2.1"
+LICENSE_dictionaries/ca = "GPL 2.0 & LGPL-2.1"
+LICENSE_dictionaries/cs = "GPL-2.0"
+LICENSE_dictionaries/da = "GPL-2.0"
+LICENSE_dictionaries/de-AT = "GPL-3.0"
+LICENSE_dictionaries/de-CH = "GPL-3.0"
+LICENSE_dictionaries/de = "GPL-3.0"
+LICENSE_dictionaries/el-polyton = "GPL-2.0"
+LICENSE_dictionaries/el = "GPL-2.0"
+LICENSE_dictionaries/en-AU = "LGPL-2.0"
+LICENSE_dictionaries/en-CA = "MIT & BSD"
+LICENSE_dictionaries/en-GB = "LGPL-2.0"
+LICENSE_dictionaries/en-US = "MIT & BSD"
+LICENSE_dictionaries/en-ZA = "LGPL 2.1"
+LICENSE_dictionaries/eo = "GPL-2.0"
+LICENSE_dictionaries/es = "GPL-3.0"
+LICENSE_dictionaries/et = "LGPL-2.1"
+LICENSE_dictionaries/eu = "GPL-2.0"
+LICENSE_dictionaries/fo = "GPL-2.0"
+LICENSE_dictionaries/fr = "MPL-2.0"
+LICENSE_dictionaries/fur = "GPL-2.0"
+LICENSE_dictionaries/fy = "GPL-3.0"
+LICENSE_dictionaries/ga = "GPL-2.0"
+LICENSE_dictionaries/gd = "GPL-3.0"
+LICENSE_dictionaries/gl = "GPL-3.0"
+LICENSE_dictionaries/he = "AGPL-3.0"
+LICENSE_dictionaries/hr = "GPL-3.0"
+LICENSE_dictionaries/hu = "GPL-2.0"
+LICENSE_dictionaries/hy-arevela = "GPL-2.0"
+LICENSE_dictionaries/hy-arevmda = "GPL-2.0"
+LICENSE_dictionaries/ia = "GPL-3.0"
+LICENSE_dictionaries/ie = "Apache-2.0"
+LICENSE_dictionaries/is = "CC BY-SA 3.0 & CC BY 4.0"
+LICENSE_dictionaries/it = "GPL-3.0"
+LICENSE_dictionaries/ko = "MPL-1.1 & GPL-2.0 & LGPL-2.1"
+LICENSE_dictionaries/la = "GPL-3.0"
+LICENSE_dictionaries/lb = "EUPL-1.1"
+LICENSE_dictionaries/lt = "Other"
+LICENSE_dictionaries/ltg = "LGPL-2.1"
+LICENSE_dictionaries/lv = "LGPL-2.1"
+LICENSE_dictionaries/mk = "GPL-3.0"
+LICENSE_dictionaries/mn = "GPL-2.0"
+LICENSE_dictionaries/nb = "GPL-2.0"
+LICENSE_dictionaries/nds = "GPL-2.0"
+LICENSE_dictionaries/ne = "LGPL-2.1"
+LICENSE_dictionaries/nl = "BSD"
+LICENSE_dictionaries/nn = "GPL-2.0"
+LICENSE_dictionaries/pl = "GPL-3.0"
+LICENSE_dictionaries/pt-BR = "LGPL 2.1"
+LICENSE_dictionaries/pt = "GPL-2.0"
+LICENSE_dictionaries/ro = "GPL-2.0"
+LICENSE_dictionaries/ru = "BSD"
+LICENSE_dictionaries/rw = "GPL-3.0"
+LICENSE_dictionaries/sk = "GPL-2.0"
+LICENSE_dictionaries/sl = "GPL-2.0"
+LICENSE_dictionaries/sr-Latn = "LGPL 3.0"
+LICENSE_dictionaries/sr = "LGPL 3.0"
+LICENSE_dictionaries/sv = "LGPL 3.0"
+LICENSE_dictionaries/tr = "MIT"
+LICENSE_dictionaries/uk = "GPL 2.0"
+LICENSE_dictionaries/vi = "GPL 3.0"
+LIC_FILES_CHKSUM = " \
+ file://dictionaries/bg/license;md5=ab14e2ded1a43b84be9aba2be64b9814 \
+ file://dictionaries/br/license;md5=2e046c64edc0a4e47fb3ea614e6c82c4 \
+ file://dictionaries/ca-valencia/license;md5=da087cefab7bc3b7687203198a0042ec \
+ file://dictionaries/ca/license;md5=da087cefab7bc3b7687203198a0042ec \
+ file://dictionaries/cs/license;md5=e0496d626a53ad31addea1869c1bed53 \
+ file://dictionaries/da/license;md5=b7678b3e997999043be3503dc717d96d \
+ file://dictionaries/de-AT/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \
+ file://dictionaries/de-CH/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \
+ file://dictionaries/de/license;md5=a03d823e8cd00fd71c9ba18b8ec4ccf1 \
+ file://dictionaries/el-polyton/license;md5=d952bcbf1c67129920f03536197c7281 \
+ file://dictionaries/el/license;md5=90b757dd77b1ebbf473eef31037a59e8 \
+ file://dictionaries/en-AU/license;md5=dae002c846eab5e1132ba2e00692dc68 \
+ file://dictionaries/en-CA/license;md5=6c205de0cbcae4b42cf992bb355a5346 \
+ file://dictionaries/en-GB/license;md5=dd6d2bbd7b7f4519448f2b995fd99cd4 \
+ file://dictionaries/en-US/license;md5=244a909f295640bfafeb8d9e522d454b \
+ file://dictionaries/en-ZA/license;md5=56e4b4ca965de3bba6db42494cc34576 \
+ file://dictionaries/eo/license;md5=eb723b61539feef013de476e68b5c50a \
+ file://dictionaries/es/license;md5=b41cabf4e6f2a7d951684246518bea4f \
+ file://dictionaries/et/readme.md;md5=59d851f12cc280f893b245938abc1905 \
+ file://dictionaries/fo/license;md5=fa9ce505d07423c9f8e6c1073f4806c2 \
+ file://dictionaries/fr/license;md5=2346c7bffe6ab4d51730ab3116817c72 \
+ file://dictionaries/fur/license;md5=28ac8c6e75d6c44b60016a8c850036e3 \
+ file://dictionaries/fy/license;md5=c05115c38ca2a4aa95cb9c9b00ed78df \
+ file://dictionaries/ga/license;md5=ee7d601b5d3be3856a169afa71eb3376 \
+ file://dictionaries/gd/license;md5=b5f39c26d691733095323a59d0f02216 \
+ file://dictionaries/gl/license;md5=d32239bcb673463ab874e80d47fae504 \
+ file://dictionaries/he/license;md5=e627dcdf6878e7eca4454e39d1489271 \
+ file://dictionaries/hr/license;md5=4b03c9b6e41a6ef12b4e31d2fb224d46 \
+ file://dictionaries/hu/license;md5=c9755266de74fdbe69636bdb3076b603 \
+ file://dictionaries/hy-arevela/license;md5=c690b6bc807de0a6dcd62db030843ee4 \
+ file://dictionaries/hy-arevmda/license;md5=c690b6bc807de0a6dcd62db030843ee4 \
+ file://dictionaries/ia/license;md5=25c37bbb54f9ab5da9b4bcdda2e2f68e \
+ file://dictionaries/ie/license;md5=fa818a259cbed7ce8bc2a22d35a464fc \
+ file://dictionaries/is/license;md5=db5e38a312b91d717561514767c95999 \
+ file://dictionaries/it/license;md5=31d06285633a89f4d0267895ef8b7107 \
+ file://dictionaries/ko/license;md5=5ff35d5b0523cccb3049edff77c73a10 \
+ file://dictionaries/la/license;md5=9bc08ae2930eb806cee44bbae905b7ba \
+ file://dictionaries/lb/license;md5=5d6417331778645577c40c3329a3d559 \
+ file://dictionaries/lt/license;md5=3d1264d7017271c6731fefaba912a15f \
+ file://dictionaries/ltg/license;md5=72c786f9d43bb07c101766457fcf6435 \
+ file://dictionaries/lv/license;md5=957d42bd58feff079daa6ede1d215585 \
+ file://dictionaries/mk/license;md5=c05a3747d4c871f3c6378909668ec72d \
+ file://dictionaries/mn/license;md5=93a1be573a1bd039cb4e17c21ed800a7 \
+ file://dictionaries/nb/license;md5=6b50c67a5ee9ba5af1b4ab6c009b66f2 \
+ file://dictionaries/nds/license;md5=08c69ee106e67a1085d45dc723ae5396 \
+ file://dictionaries/ne/license;md5=620e39f1aec72b0bdbc922128dd08267 \
+ file://dictionaries/nl/license;md5=f9181fe437dd701ce6ae690f6e09b119 \
+ file://dictionaries/nn/license;md5=9d372c99817cb42bdd1f6c0acb7f4d11 \
+ file://dictionaries/pl/license;md5=5d0961c4eee8448d5f3738b1ff04ebe8 \
+ file://dictionaries/pt-BR/license;md5=08a7e74543d3e612e7613f2959bedab0 \
+ file://dictionaries/pt/license;md5=53d8ed71b4053ef0ccfcf6b3f89880a8 \
+ file://dictionaries/ro/license;md5=db18b1d6cfc0d4ca32371cb76900de2c \
+ file://dictionaries/ru/license;md5=a3d4108679bd3b76ec1a86520b5362cf \
+ file://dictionaries/rw/license;md5=784d7dc7357bd924e8d5642892bf1b6b \
+ file://dictionaries/sk/license;md5=7fb3956bf960db433deedec7746d33c5 \
+ file://dictionaries/sl/license;md5=4965d53062ea2045837facf483475ac7 \
+ file://dictionaries/sr-Latn/license;md5=0139a4b8ce316882cceae8924030950d \
+ file://dictionaries/sr/license;md5=0139a4b8ce316882cceae8924030950d \
+ file://dictionaries/sv/license;md5=fe5c586fe56d04fbdc44df187129ac29 \
+ file://dictionaries/tr/readme.md;md5=27c07bbfa543cfdd163f2dad491703bd \
+ file://dictionaries/uk/license;md5=7702f203b58979ebbc31bfaeb44f219c \
+ file://dictionaries/vi/license;md5=8d9ecb4e7577ce760029786aba7ecec5 \
+"
+
+RDEPENDS_${PN} = "hunspell"
+
+PV = "0.0.0+git${SRCPV}"
+SRCREV = "820a65e539e34a3a8c2a855d2450b84745c624ee"
+SRC_URI = "git://github.com/wooorm/dictionaries.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ for LANGUAGE in `ls -d1 ${S}/dictionaries/*` ; do
+ LANGUAGE_DIR=`basename $LANGUAGE`
+ install -D -m0644 $LANGUAGE/index.dic ${D}${datadir}/hunspell/$LANGUAGE_DIR.dic
+ install -D -m0644 $LANGUAGE/index.aff ${D}${datadir}/hunspell/$LANGUAGE_DIR.aff
+ install -D -m0644 $LANGUAGE/LICENSE ${D}${datadir}/hunspell/LICENSE-$LANGUAGE_DIR 2>/dev/null || echo "No LICENSE for language $LANGUAGE"
+ done
+}
+
+FILES_${PN} = "${datadir}/hunspell"
diff --git a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
index 40da3b496..c2fb4fa05 100644
--- a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
@@ -6,9 +6,10 @@ LIC_FILES_CHKSUM = " \
file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \
"
-SRC_URI = "https://github.com/${BPN}/${BPN}/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "b2399a4aa927e8b3e171d9ea6737cc02"
-SRC_URI[sha256sum] = "bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a"
+SRCREV = "4ddd8ed5ca6484b930b111aec50c2750a6119a0f"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git"
+
+S = "${WORKDIR}/git"
inherit autotools pkgconfig gettext
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb
index f235db094..4ee06d77f 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.8.bb
@@ -9,9 +9,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=05ff94b3ff59fe6fa7489fa26e3d9142"
DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
BASE_PV := "${PV}"
-PV .= "_43"
+PV .= "_47"
SRC_URI = "git://github.com/ImageMagick/ImageMagick.git "
-SRCREV = "723c2bd9cc716a9267a8afe08354d67bb60dabd5"
+SRCREV = "b672df7a44b0ab0219b1fa78b3673c2810ddd374"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
index 56a018ba5..fd02f4a76 100644..100755
--- a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.11.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
@@ -43,10 +43,10 @@ RDEPENDS_${PN} += " \
SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz"
-SRC_URI[md5sum] = "e79b799ae3ce149aa924c7520e993024"
-SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29ddc9bf8"
+SRC_URI[md5sum] = "0220d01753469f83921f8f41ae5054c1"
+SRC_URI[sha256sum] = "14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a"
do_install() {
- oe_runmake install PREFIX=${D}
+ oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir}
}
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
index cd7750623..89679cb91 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -7,9 +7,6 @@ SRC_URI = "https://www.kernel.org/pub/software/libs/libgpiod/${BP}.tar.xz"
inherit autotools pkgconfig
-# enable tools
-PACKAGECONFIG ?= "tools"
-
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
index 96615ebf2..3ecfffdd6 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
@@ -1,5 +1,8 @@
require libgpiod.inc
+# enable tools
+PACKAGECONFIG ?= "tools"
+
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
SRC_URI[md5sum] = "2aa1e1a80c3c919ae142ab9a55fb59ca"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb
index e513a33bd..71a45edb9 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb
@@ -2,11 +2,14 @@ require libgpiod.inc
DEPENDS += "autoconf-archive-native"
-SRC_URI[md5sum] = "9f7530a5d56f070ba0af78d6ba077973"
-SRC_URI[sha256sum] = "6ec837f23e8f2196e5976dec4ac81403170830075e7f33ede1394eaf67f2e962"
+SRC_URI[md5sum] = "bd52d764017215a30e2f014d2081dc3e"
+SRC_URI[sha256sum] = "ebde83aaf14be3abd33e7a90faa487a2ee231e242897afe7fdefb765386b3c8b"
+
+# enable tools and cxx bindings
+PACKAGECONFIG ?= "cxx tools"
PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
-PACKAGECONFIG[tests] = "--enable-tests --enable-install-tests,--disable-tests --disable-install-tests,kmod udev"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}
diff --git a/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb b/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb
index 87d99c1a6..b40223e8a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libp11/libp11_0.4.10.bb
@@ -2,14 +2,15 @@ SUMMARY = "Library for using PKCS"
DESCRIPTION = "\
Libp11 is a library implementing a small layer on top of PKCS \
make using PKCS"
-HOMEPAGE = "http://www.opensc-project.org/libp11"
+HOMEPAGE = "https://github.com/OpenSC/libp11"
+BUGTRACKER = "https://github.com/OpenSC/libp11/issues"
SECTION = "Development/Libraries"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
DEPENDS = "libtool openssl"
SRC_URI = "git://github.com/OpenSC/libp11.git"
-SRCREV = "64569a391897bd29c5060b19fa4613e619e59277"
+SRCREV = "973d31f3f58d5549ddd8b1f822ce8f72186f9d68"
S = "${WORKDIR}/git"
@@ -18,7 +19,6 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--disable-static"
do_install_append () {
- rm -rf ${D}${libdir}/*.la
rm -rf ${D}${docdir}/${BPN}
}
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb
index dfca3855b..1aee674ec 100644
--- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb
@@ -32,4 +32,4 @@ do_install_ptest() {
sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
}
-RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject"
+RDEPENDS_${PN}-ptest += "make bash mce-inject"
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
index 4fa7960b1..3919f9904 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
@@ -1,10 +1,7 @@
-From a805b601fcf4bb9e269566a8d25e48d9e60915c0 Mon Sep 17 00:00:00 2001
+From c3436ec8a502a40579abf62be0a479fa9d7888ad Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 11:14:24 +0800
-Subject: [PATCH] From 8bdd4481d822b6625d8bf719431ca74ed1b5e021 Mon Sep 17
- 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Mon, 16
- Jul 2018 15:56:37 +0800 Subject: [PATCH] multipath-tools: modify Makefile.inc
- for cross-compilation
+Date: Tue, 4 Jun 2019 11:39:39 +0800
+Subject: [PATCH] multipath-tools: modify Makefile.inc for cross-compilation
Do not look for systemd info on the host, and allow us to pass in CFLAGS
using the OPTFLAGS variable.
@@ -27,23 +24,28 @@ remove change about CFLAGS part, since patch 0024 already have similar function.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
-update for version 0.7.9
+update for version 0.8.1
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- Makefile.inc | 6 ------
- 1 file changed, 6 deletions(-)
+ Makefile.inc | 11 -----------
+ 1 file changed, 11 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc
-index 295afb9..7136db3 100644
+index 661f141..3f9fd28 100644
--- a/Makefile.inc
+++ b/Makefile.inc
-@@ -38,12 +38,6 @@ ifndef RUN
+@@ -35,17 +35,6 @@ ifndef RUN
endif
endif
-ifndef SYSTEMD
-- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1)
-- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p')
+- ifeq ($(shell pkg-config --modversion libsystemd >/dev/null 2>&1 && echo 1), 1)
+- SYSTEMD = $(shell pkg-config --modversion libsystemd)
+- else
+- ifeq ($(shell systemctl --version >/dev/null 2>&1 && echo 1), 1)
+- SYSTEMD = $(shell systemctl --version 2> /dev/null | \
+- sed -n 's/systemd \([0-9]*\).*/\1/p')
+- endif
- endif
-endif
-
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb
index 0cff48dc4..55866e984 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb
@@ -46,7 +46,7 @@ SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-SRCREV = "eb688e1833e9533bfd9496ddc37eecc93590defa"
+SRCREV = "e23b5d7cf67a9c543e118f2f6b902594a02a804a"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb
index 1fe36cdb0..19a8b4782 100644
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb
@@ -12,8 +12,8 @@ RDEPENDS_${PN} = "ncurses-terminfo-base"
PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI[md5sum] = "235eaf7d27db3c3679b2054361ff6181"
-SRC_URI[sha256sum] = "86bde596a038d6fde619b49d785c0ebf0b3eaa7001a39dbe9316bd5392d221d0"
+SRC_URI[md5sum] = "9ef42650960fa71671dc5318841a27a9"
+SRC_URI[sha256sum] = "1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9"
inherit autotools gettext pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index 4e8986de1..f37ccde1c 100644
--- a/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -15,13 +15,15 @@ PV .= "gitr+${SRCPV}"
inherit cmake
-# Incompatible with archs other than armv7 and aarch64
+# Incompatible with archs other than armv7, armv7ve and aarch64
COMPATIBLE_MACHINE = "(^$)"
COMPATIBLE_MACHINE_aarch64 = "(.*)"
COMPATIBLE_MACHINE_armv7a = "(.*)"
+COMPATIBLE_MACHINE_armv7ve = "(.*)"
NE10_TARGET_ARCH = ""
NE10_TARGET_ARCH_aarch64 = "aarch64"
NE10_TARGET_ARCH_armv7a = "armv7"
+NE10_TARGET_ARCH_armv7ve = "armv7"
EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
index b7a405835..0736572b3 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
@@ -1,4 +1,4 @@
-From 929150608c16644695f19cd2e0cc8a06a41cd497 Mon Sep 17 00:00:00 2001
+From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Fri, 7 Apr 2017 15:20:30 -0700
Subject: [PATCH] configure.ac: don't use dnet-config
@@ -11,14 +11,14 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Martin Kelly <mkelly@xevo.com>
---
- configure.ac | 4 ++--
+ open-vm-tools/configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -944,7 +944,7 @@ if test "$with_dnet" = "yes"; then
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 325a39f5..713ea683 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -949,7 +949,7 @@ if test "$with_dnet" = "yes"; then
AC_VMW_CHECK_LIB([dnet],
[DNET],
[],
@@ -27,7 +27,7 @@ Index: open-vm-tools/configure.ac
[],
[dnet.h],
[intf_open],
-@@ -954,7 +954,7 @@ if test "$with_dnet" = "yes"; then
+@@ -959,7 +959,7 @@ if test "$with_dnet" = "yes"; then
if test $have_dnet = "no"; then
AC_MSG_ERROR(
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
index f905601d5..34628ffbe 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
@@ -1,7 +1,7 @@
-From 5818acc8032e3247257730376e947330340a07b3 Mon Sep 17 00:00:00 2001
+From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Mon, 22 May 2017 17:00:05 -0700
-Subject: [PATCH 2/2] add #include <sys/sysmacros.h>
+Subject: [PATCH] add #include <sys/sysmacros.h>
In newer glibc versions, the definition for major() has been moved to
sys/sysmacros.h, and using the older version in <sys/types.h> has been
@@ -11,14 +11,14 @@ Upstream-Status: Pending
Signed-off-by: Martin Kelly <mkelly@xevo.com>
---
- lib/wiper/wiperPosix.c | 3 +++
+ open-vm-tools/lib/wiper/wiperPosix.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c
-index d389eee..1f221fc 100644
---- a/lib/wiper/wiperPosix.c
-+++ b/lib/wiper/wiperPosix.c
-@@ -40,6 +40,9 @@
+index bd542410..ccf06293 100644
+--- a/open-vm-tools/lib/wiper/wiperPosix.c
++++ b/open-vm-tools/lib/wiper/wiperPosix.c
+@@ -43,6 +43,9 @@
# include <libgen.h>
# endif /* __FreeBSD_version >= 500000 */
#endif
@@ -28,6 +28,3 @@ index d389eee..1f221fc 100644
#include <unistd.h>
#include "vmware.h"
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
index f02d00f84..6d2e49814 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
@@ -1,7 +1,7 @@
-From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001
+From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:03:00 +0000
-Subject: [PATCH 05/11] Use configure test for struct timespec
+Subject: [PATCH] Use configure test for struct timespec
Use the configure script to test for struct time spec instead of trying
to keep track of what platforms has it.
@@ -12,11 +12,11 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
2 files changed, 2 insertions(+), 7 deletions(-)
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 713ea683..48ff1ef3 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_CHECK_MEMBERS([struct stat.st_rdev])
@@ -24,10 +24,10 @@ Index: open-vm-tools/configure.ac
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
-Index: open-vm-tools/lib/include/hgfsUtil.h
-===================================================================
---- open-vm-tools.orig/lib/include/hgfsUtil.h
-+++ open-vm-tools/lib/include/hgfsUtil.h
+diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h
+index 609f4c00..a3a022d4 100644
+--- a/open-vm-tools/lib/include/hgfsUtil.h
++++ b/open-vm-tools/lib/include/hgfsUtil.h
@@ -53,13 +53,7 @@
# include <time.h>
# endif
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
index d1f4eff9b..e107ecf23 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
@@ -1,7 +1,7 @@
-From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001
+From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:10:14 +0000
-Subject: [PATCH 06/11] Fix definition of ALLPERMS and ACCESSPERMS
+Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS
The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
assume it is not there instead of testing for specific implementations.
@@ -14,11 +14,11 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
2 files changed, 6 insertions(+), 5 deletions(-)
-Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-===================================================================
---- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c
-+++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -107,11 +107,13 @@ typedef struct DirectoryEntry {
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+index f2b7ce67..0e6351a9 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+@@ -105,11 +105,13 @@ typedef struct DirectoryEntry {
#endif
/*
@@ -35,11 +35,11 @@ Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
#endif
-Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-===================================================================
---- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c
-+++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-@@ -51,7 +51,7 @@
+diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+index 89133652..7e9c3a91 100644
+--- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
++++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
+@@ -52,7 +52,7 @@
#define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
@@ -48,7 +48,7 @@ Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
#ifdef __ANDROID__
-@@ -60,7 +60,6 @@
+@@ -61,7 +61,6 @@
*/
#define NO_SETMNTENT
#define NO_ENDMNTENT
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
index ad19fb24b..c6378b808 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
@@ -1,7 +1,7 @@
-From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001
+From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:05:07 +0000
-Subject: [PATCH 07/11] Use configure to test for feature instead of platform
+Subject: [PATCH] Use configure to test for feature instead of platform
Test for various functions instead of trying to keep track of what
platform and what version of the given platform has support for what.
@@ -21,15 +21,15 @@ This is needed for musl libc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
open-vm-tools/configure.ac | 4 ++++
- open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++----------------
- open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++--
- 3 files changed, 24 insertions(+), 18 deletions(-)
+ open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++-------------
+ open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++-
+ 3 files changed, 23 insertions(+), 17 deletions(-)
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -892,6 +892,7 @@ AC_CHECK_FUNCS(
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 48ff1ef3..71e684bb 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -897,6 +897,7 @@ AC_CHECK_FUNCS(
AC_CHECK_FUNCS([ecvt])
AC_CHECK_FUNCS([fcvt])
@@ -37,7 +37,7 @@ Index: open-vm-tools/configure.ac
AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
-@@ -1076,10 +1077,13 @@ AC_PATH_PROG(
+@@ -1145,10 +1146,13 @@ fi
###
AC_CHECK_HEADERS([crypt.h])
@@ -51,10 +51,10 @@ Index: open-vm-tools/configure.ac
AC_CHECK_HEADERS([sys/inttypes.h])
AC_CHECK_HEADERS([sys/io.h])
AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
-Index: open-vm-tools/lib/misc/idLinux.c
-===================================================================
---- open-vm-tools.orig/lib/misc/idLinux.c
-+++ open-vm-tools/lib/misc/idLinux.c
+diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c
+index b950cf84..1dcfb508 100644
+--- a/open-vm-tools/lib/misc/idLinux.c
++++ b/open-vm-tools/lib/misc/idLinux.c
@@ -27,12 +27,9 @@
#include <sys/syscall.h>
#include <string.h>
@@ -114,10 +114,10 @@ Index: open-vm-tools/lib/misc/idLinux.c
#endif
}
#endif
-Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c
-===================================================================
---- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c
-+++ open-vm-tools/lib/nicInfo/nicInfoPosix.c
+diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
+index a22981d5..b4e08681 100644
+--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c
++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
@@ -34,9 +34,13 @@
#include <sys/socket.h>
#include <sys/stat.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
index 78722390e..9a227f9ec 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
@@ -1,7 +1,7 @@
-From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001
+From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:41:01 +0000
-Subject: [PATCH 11/11] Use configure test for sys/stat.h include
+Subject: [PATCH] Use configure test for sys/stat.h include
This is needed for musl libc.
@@ -10,10 +10,10 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: open-vm-tools/services/plugins/vix/vixTools.c
-===================================================================
---- open-vm-tools.orig/services/plugins/vix/vixTools.c
-+++ open-vm-tools/services/plugins/vix/vixTools.c
+diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c
+index e5273786..cabc4137 100644
+--- a/open-vm-tools/services/plugins/vix/vixTools.c
++++ b/open-vm-tools/services/plugins/vix/vixTools.c
@@ -66,7 +66,7 @@
#include <unistd.h>
#endif
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
new file mode 100644
index 000000000..11be2d4a0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
@@ -0,0 +1,24 @@
+From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Jun 2018 23:48:04 -0700
+Subject: [PATCH] Fix subdir objects configure error
+
+Fix build on musl while here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
+index 71e684bb..b76a7966 100644
+--- a/open-vm-tools/configure.ac
++++ b/open-vm-tools/configure.ac
+@@ -303,6 +303,7 @@ AC_ARG_ENABLE(
+ [],
+ [enable_resolutionkms="auto"])
+
++AM_INIT_AUTOMAKE([subdir-objects])
+ AM_INIT_AUTOMAKE
+
+ ###
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
index 882058119..814b9e3b2 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-include-poll.h-instead-of-sys-poll.h.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
@@ -1,4 +1,4 @@
-From 4981bb3013d7f1e40e44618076d99af3484eedea Mon Sep 17 00:00:00 2001
+From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jun 2018 23:02:50 -0700
Subject: [PATCH] include poll.h instead of sys/poll.h
@@ -10,10 +10,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
-index 13908679..e0a68e7e 100644
---- a/lib/asyncsocket/asyncsocket.c
-+++ b/lib/asyncsocket/asyncsocket.c
+diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
+index 65b07109..b41aa29d 100644
+--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
@@ -69,8 +69,8 @@
#else
#include <stddef.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
index 4d6a0fd6a..5c1aa7c40 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-Rename-poll.h-to-vm_poll.h.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
@@ -1,4 +1,4 @@
-From 92955b3a6180b4285d11ef79766df01b9ab60dbd Mon Sep 17 00:00:00 2001
+From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jun 2018 23:11:58 -0700
Subject: [PATCH] Rename poll.h to vm_poll.h
@@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
7 files changed, 7 insertions(+), 7 deletions(-)
rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
-diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
-index e0a68e7e..b9675674 100644
---- a/lib/asyncsocket/asyncsocket.c
-+++ b/lib/asyncsocket/asyncsocket.c
+diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
+index b41aa29d..8691309d 100644
+--- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
++++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
@@ -86,7 +86,7 @@
#include "random.h"
#include "asyncsocket.h"
@@ -32,10 +32,10 @@ index e0a68e7e..b9675674 100644
#include "log.h"
#include "err.h"
#include "hostinfo.h"
-diff --git a/lib/hgfsServer/hgfsServer.c b/lib/hgfsServer/hgfsServer.c
-index 991a7941..ed0c09f9 100644
---- a/lib/hgfsServer/hgfsServer.c
-+++ b/lib/hgfsServer/hgfsServer.c
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
+index 7ea3b7f4..740c4fed 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
@@ -48,7 +48,7 @@
#include "hgfsServerOplock.h"
#include "hgfsDirNotify.h"
@@ -45,10 +45,10 @@ index 991a7941..ed0c09f9 100644
#include "mutexRankLib.h"
#include "vm_basic_asm.h"
#include "unicodeOperations.h"
-diff --git a/lib/include/asyncsocket.h b/lib/include/asyncsocket.h
-index 524147ea..103f944f 100644
---- a/lib/include/asyncsocket.h
-+++ b/lib/include/asyncsocket.h
+diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h
+index ec9b45aa..dc91e738 100644
+--- a/open-vm-tools/lib/include/asyncsocket.h
++++ b/open-vm-tools/lib/include/asyncsocket.h
@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
* Or the client can specify its favorite poll class and locking behavior.
* Use of IVmdbPoll is only supported for regular sockets and for Attach.
@@ -58,10 +58,10 @@ index 524147ea..103f944f 100644
struct IVmdbPoll;
typedef struct AsyncSocketPollParams {
int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
-diff --git a/lib/include/pollImpl.h b/lib/include/pollImpl.h
+diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h
index 46442e55..8bc66997 100644
---- a/lib/include/pollImpl.h
-+++ b/lib/include/pollImpl.h
+--- a/open-vm-tools/lib/include/pollImpl.h
++++ b/open-vm-tools/lib/include/pollImpl.h
@@ -44,7 +44,7 @@
#define INCLUDE_ALLOW_USERLEVEL
#include "includeCheck.h"
@@ -71,13 +71,13 @@ index 46442e55..8bc66997 100644
#include "vm_basic_asm.h"
#if defined(__cplusplus)
-diff --git a/lib/include/poll.h b/lib/include/vm_poll.h
+diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h
similarity index 99%
rename from open-vm-tools/lib/include/poll.h
rename to open-vm-tools/lib/include/vm_poll.h
-index 988fe6d0..e9e74fb5 100644
---- a/lib/include/poll.h
-+++ b/lib/include/vm_poll.h
+index 6acd4f35..fbc88494 100644
+--- a/open-vm-tools/lib/include/poll.h
++++ b/open-vm-tools/lib/include/vm_poll.h
@@ -60,7 +60,7 @@ extern "C" {
#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
#include <sys/kernel.h>
@@ -87,10 +87,10 @@ index 988fe6d0..e9e74fb5 100644
#define HZ 100
#endif
#ifdef __ANDROID__
-diff --git a/lib/rpcIn/rpcin.c b/lib/rpcIn/rpcin.c
-index c2c51583..d6c62f10 100644
---- a/lib/rpcIn/rpcin.c
-+++ b/lib/rpcIn/rpcin.c
+diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c
+index 8eea7d86..c48f5be2 100644
+--- a/open-vm-tools/lib/rpcIn/rpcin.c
++++ b/open-vm-tools/lib/rpcIn/rpcin.c
@@ -57,7 +57,7 @@
#if defined(VMTOOLS_USE_VSOCKET)
@@ -100,10 +100,10 @@ index c2c51583..d6c62f10 100644
# include "asyncsocket.h"
# include "vmci_defs.h"
#include "dataMap.h"
-diff --git a/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
+diff --git a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
index 03700937..f0b49ad7 100644
---- a/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-+++ b/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
+--- a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
++++ b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
@@ -48,7 +48,7 @@
#include "rpcout.h"
#include "rabbitmqProxyConst.h"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
index c7d34c5cf..784b4fc6c 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
@@ -1,4 +1,4 @@
-From a2e7d9273261c5c5cbc33796900f415097f5455e Mon Sep 17 00:00:00 2001
+From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jun 2018 23:16:53 -0700
Subject: [PATCH] use posix strerror_r unless on gnu libc system
@@ -8,10 +8,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
open-vm-tools/lib/err/errPosix.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
-diff --git a/lib/err/errPosix.c b/lib/err/errPosix.c
+diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c
index c81b4c13..7a403640 100644
---- a/lib/err/errPosix.c
-+++ b/lib/err/errPosix.c
+--- a/open-vm-tools/lib/err/errPosix.c
++++ b/open-vm-tools/lib/err/errPosix.c
@@ -31,6 +31,7 @@
#include <errno.h>
#include <string.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
index e802dca4e..0a1d00873 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,4 +1,4 @@
-From e694a122c1ff32d8b951ae55756796f9576d23ed Mon Sep 17 00:00:00 2001
+From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jun 2018 23:37:09 -0700
Subject: [PATCH] Use uintmax_t for handling rlim_t
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
-index 2e73707d..a2fdb850 100644
---- a/lib/hgfsServer/hgfsServerLinux.c
-+++ b/lib/hgfsServer/hgfsServerLinux.c
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
+index 0e6351a9..a2ee1740 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN:
goto exit;
}
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
index 432496f27..d69b74e23 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Use-off64_t-instead-of-__off64_t.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
@@ -1,4 +1,4 @@
-From 43d859f9d5eecdc0fdc1a6bf539bcde4a152e6f5 Mon Sep 17 00:00:00 2001
+From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 27 Aug 2018 23:22:21 -0700
Subject: [PATCH] Use off64_t instead of __off64_t
@@ -9,13 +9,13 @@ unknown type name '__off64_t'
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- lib/file/fileIOPosix.c | 4 ++--
+ open-vm-tools/lib/file/fileIOPosix.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/lib/file/fileIOPosix.c b/lib/file/fileIOPosix.c
+diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c
index 23108279..bcd2ddc5 100644
---- a/lib/file/fileIOPosix.c
-+++ b/lib/file/fileIOPosix.c
+--- a/open-vm-tools/lib/file/fileIOPosix.c
++++ b/open-vm-tools/lib/file/fileIOPosix.c
@@ -206,10 +206,10 @@ static AlignedPool alignedPool;
* the symbols (and anyone building XOPEN<700 gets nothing).
*/
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
index 7af265a99..88f4f694c 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-misc-Do-not-print-NULL-string-into-logs.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
@@ -1,4 +1,4 @@
-From e25d00d8297cba044c3a4d2e38749e54adac66c1 Mon Sep 17 00:00:00 2001
+From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 22 Dec 2018 19:59:02 -0800
Subject: [PATCH] misc: Do not print NULL string into logs
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
open-vm-tools/lib/misc/util_misc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c
+diff --git a/open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c
index 198c23d2..0ac0a335 100644
---- open-vm-tools/lib/misc/util_misc.c
-+++ open-vm-tools/lib/misc/util_misc.c
+--- a/open-vm-tools/lib/misc/util_misc.c
++++ b/open-vm-tools/lib/misc/util_misc.c
@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN file path to expand
ASSERT(!freeChunk[i]);
chunks[i] = expand;
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch
new file mode 100644
index 000000000..b5ccffd14
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch
@@ -0,0 +1,1281 @@
+From af9eca8689c97ea8e792902b458a31608286655e Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@lge.com>
+Date: Thu, 13 Jun 2019 16:01:03 +0000
+Subject: [PATCH] Fix new warnings from gcc9
+
+Imported from Fedora:
+https://src.fedoraproject.org/rpms/open-vm-tools/raw/master/f/gcc9-warnings.patch
+
+Upstream bug:
+https://github.com/vmware/open-vm-tools/issues/330
+
+Upstream-Status: Pending
+---
+ open-vm-tools/hgfsmounter/hgfsmounter.c | 14 +-
+ open-vm-tools/lib/hgfsServer/hgfsServer.c | 24 ++-
+ open-vm-tools/vmhgfs-fuse/dir.c | 175 ++++++++---------
+ open-vm-tools/vmhgfs-fuse/file.c | 217 +++++++++++++---------
+ open-vm-tools/vmhgfs-fuse/filesystem.c | 46 ++---
+ open-vm-tools/vmhgfs-fuse/fsutil.c | 63 ++++---
+ open-vm-tools/vmhgfs-fuse/link.c | 125 +++++++------
+ 7 files changed, 367 insertions(+), 297 deletions(-)
+
+diff --git a/open-vm-tools/hgfsmounter/hgfsmounter.c b/open-vm-tools/hgfsmounter/hgfsmounter.c
+index 0921b700..3f6798dc 100644
+--- a/open-vm-tools/hgfsmounter/hgfsmounter.c
++++ b/open-vm-tools/hgfsmounter/hgfsmounter.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 2006-2017 VMware, Inc. All rights reserved.
++ * Copyright (C) 2006-2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -514,11 +514,13 @@ ParseFmask(const char *option, // IN: option string along with value
+ HgfsMountInfo *mountInfo, // OUT: mount data
+ int *flags) // OUT: mount flags
+ {
++ unsigned short fmask = 0;
+ ASSERT(option);
+ ASSERT(mountInfo);
+
+- if (ParseMask(option, &mountInfo->fmask)) {
+- LOG("Setting mount fmask to %o\n", mountInfo->fmask);
++ if (ParseMask(option, &fmask)) {
++ LOG("Setting mount fmask to %o\n", fmask);
++ mountInfo->fmask = fmask;
+ return TRUE;
+ }
+
+@@ -548,11 +550,13 @@ ParseDmask(const char *option, // IN: option string along with value
+ HgfsMountInfo *mountInfo, // OUT: mount data
+ int *flags) // OUT: mount flags
+ {
++ unsigned short dmask = 0;
+ ASSERT(option);
+ ASSERT(mountInfo);
+
+- if (ParseMask(option, &mountInfo->dmask)) {
+- LOG("Setting mount dmask to %o\n", mountInfo->dmask);
++ if (ParseMask(option, &dmask)) {
++ LOG("Setting mount dmask to %o\n", dmask);
++ mountInfo->dmask = dmask;
+ return TRUE;
+ }
+
+diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
+index 740c4fed..422383cd 100644
+--- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
++++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
++ * Copyright (C) 1998-2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -159,7 +159,7 @@ struct HgfsTransportSessionInfo {
+ HgfsServerChannelData channelCapabilities;
+ };
+
+-/* The input request paramaters object. */
++/* The input request parameters object. */
+ typedef struct HgfsInputParam {
+ const void *request; /* Hgfs header followed by operation request */
+ size_t requestSize; /* Size of Hgfs header and operation request */
+@@ -2682,8 +2682,8 @@ HgfsSearchHandle2Search(HgfsHandle handle, // IN: handle
+ * None
+ *
+ * Side effects:
+- * If there isnt enough memory to accomodate the new names, those file nodes
+- * that couldnt be updated are deleted.
++ * If there isn't enough memory to accommodate the new names, those file nodes
++ * that couldn't be updated are deleted.
+ *
+ *-----------------------------------------------------------------------------
+ */
+@@ -3399,7 +3399,7 @@ HgfsServerSessionReceive(HgfsPacket *packet, // IN: Hgfs Packet
+
+ /* Send error if we fail to process the op. */
+ if (HGFS_ERROR_SUCCESS != status) {
+- LOG(4, ("Error %d occured parsing the packet\n", (uint32)status));
++ LOG(4, ("Error %d occurred parsing the packet\n", (uint32)status));
+ HgfsServerCompleteRequest(status, 0, input);
+ }
+ }
+@@ -4131,7 +4131,7 @@ HgfsServerSetSessionCapability(HgfsOp op, // IN: operation code
+ result = TRUE;
+ }
+ }
+- LOG(4, ("%s: Setting capabilitiy flags %x for op code %d %s\n",
++ LOG(4, ("%s: Setting capability flags %x for op code %d %s\n",
+ __FUNCTION__, flags, op, result ? "succeeded" : "failed"));
+
+ return result;
+@@ -4143,7 +4143,7 @@ HgfsServerSetSessionCapability(HgfsOp op, // IN: operation code
+ *
+ * HgfsServerResEnumInit --
+ *
+- * Initialize an enumeration of all exisitng resources.
++ * Initialize an enumeration of all existing resources.
+ *
+ * Results:
+ * The enumeration state object.
+@@ -4239,7 +4239,7 @@ HgfsServerResEnumExit(void *enumState) // IN/OUT: enumeration state
+ *
+ * HgfsServerEnumerateSharedFolders --
+ *
+- * Enumerates all exisitng shared folders and registers shared folders with
++ * Enumerates all existing shared folders and registers shared folders with
+ * directory notification package.
+ *
+ * Results:
+@@ -6536,11 +6536,13 @@ HgfsServerRead(HgfsInputParam *input) // IN: Input params
+ payload = &reply->payload[0];
+ }
+ if (payload) {
++ uint32 actualSize = 0;
+ status = HgfsPlatformReadFile(readFd, input->session, offset,
+ requiredSize, payload,
+- &reply->actualSize);
++ &actualSize);
+ if (HGFS_ERROR_SUCCESS == status) {
+ reply->reserved = 0;
++ reply->actualSize = actualSize;
+ replyPayloadSize = sizeof *reply;
+
+ if (readUseDataBuffer) {
+@@ -6556,11 +6558,13 @@ HgfsServerRead(HgfsInputParam *input) // IN: Input params
+ break;
+ }
+ case HGFS_OP_READ: {
++ uint32 actualSize = 0;
+ HgfsReplyRead *reply = replyRead;
+
+ status = HgfsPlatformReadFile(readFd, input->session, offset, requiredSize,
+- reply->payload, &reply->actualSize);
++ reply->payload, &actualSize);
+ if (HGFS_ERROR_SUCCESS == status) {
++ reply->actualSize = actualSize;
+ replyPayloadSize = sizeof *reply + reply->actualSize;
+ } else {
+ LOG(4, ("%s: V1 Failed to read-> %d.\n", __FUNCTION__, status));
+diff --git a/open-vm-tools/vmhgfs-fuse/dir.c b/open-vm-tools/vmhgfs-fuse/dir.c
+index 6298a4ea..e71b7afd 100644
+--- a/open-vm-tools/vmhgfs-fuse/dir.c
++++ b/open-vm-tools/vmhgfs-fuse/dir.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 2013 VMware, Inc. All rights reserved.
++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -54,38 +54,53 @@ HgfsPackDirOpenRequest(const char *path, // IN: Path of the dir to open
+ HgfsOp opUsed, // IN: Op to be used
+ HgfsReq *req) // IN/OUT: Packet to write into
+ {
+- char *name;
+- unsigned int *nameLength = NULL;
+ size_t reqSize;
+- int result;
+
+ ASSERT(path);
+ ASSERT(req);
+ LOG(4, ("Path = %s \n", path));
+ switch (opUsed) {
+ case HGFS_OP_SEARCH_OPEN_V3: {
++ int result;
+ HgfsRequestSearchOpenV3 *requestV3 = HgfsGetRequestPayload(req);
+
+- /* We'll use these later. */
+- name = requestV3->dirName.name;
+- nameLength = &requestV3->dirName.length;
+ requestV3->dirName.flags = 0;
+ requestV3->dirName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+ requestV3->dirName.fid = HGFS_INVALID_HANDLE;
+ requestV3->reserved = 0;
+ reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ requestV3->dirName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed\n"));
++ return -EINVAL;
++ }
++ LOG(4, ("After conversion = %s\n", requestV3->dirName.name));
++ requestV3->dirName.length = result;
++ reqSize += result;
+ break;
+ }
+
+ case HGFS_OP_SEARCH_OPEN: {
++ int result;
+ HgfsRequestSearchOpen *request;
+
+ request = (HgfsRequestSearchOpen *)(HGFS_REQ_PAYLOAD(req));
+
+- /* We'll use these later. */
+- name = request->dirName.name;
+- nameLength = &request->dirName.length;
+ reqSize = sizeof *request;
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ request->dirName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed\n"));
++ return -EINVAL;
++ }
++ LOG(4, ("After conversion = %s\n", request->dirName.name));
++ request->dirName.length = result;
++ reqSize += result;
+ break;
+ }
+
+@@ -94,21 +109,7 @@ HgfsPackDirOpenRequest(const char *path, // IN: Path of the dir to open
+ return -EPROTO;
+ }
+
+- /* Convert to CP name. */
+-
+- LOG(4, ("After buildPath = %s\n", path));
+- result = CPName_ConvertTo(path,
+- HGFS_LARGE_PACKET_MAX - (reqSize - 1),
+- name);
+- if (result < 0) {
+- LOG(4, ("CP conversion failed\n"));
+- return -EINVAL;
+- }
+-
+- LOG(4, ("After conversion = %s\n", name));
+-
+- *nameLength = (uint32) result;
+- req->payloadSize = reqSize + result;
++ req->payloadSize = reqSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+ HgfsPackHeader(req, opUsed);
+@@ -149,7 +150,6 @@ HgfsDirOpen(const char* path, // IN: Path of dir to open
+ int result;
+ HgfsOp opUsed;
+ HgfsStatus replyStatus;
+- HgfsHandle *replySearch;
+
+ ASSERT(path);
+ req = HgfsGetNewRequest();
+@@ -161,16 +161,6 @@ HgfsDirOpen(const char* path, // IN: Path of dir to open
+
+ retry:
+ opUsed = hgfsVersionSearchOpen;
+- if (opUsed == HGFS_OP_SEARCH_OPEN_V3) {
+- HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req);
+-
+- replySearch = &requestV3->search;
+-
+- } else {
+- HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req);
+-
+- replySearch = &request->search;
+- }
+
+ result = HgfsPackDirOpenRequest(path, opUsed, req);
+ if (result != 0) {
+@@ -187,8 +177,14 @@ retry:
+
+ switch (result) {
+ case 0:
+- *handle = *replySearch;
+- LOG(6, ("Set handle to %u\n", *replySearch));
++ if (opUsed == HGFS_OP_SEARCH_OPEN_V3) {
++ HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req);
++ *handle = requestV3->search;
++ } else {
++ HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req);
++ *handle = request->search;
++ }
++ LOG(6, ("Set handle to %u\n", *handle));
+ break;
+ case -EPROTO:
+ /* Retry with older version(s). Set globally. */
+@@ -626,25 +622,30 @@ HgfsPackCreateDirRequest(const char *path,
+ HgfsOp opUsed, // IN: Op to be used.
+ HgfsReq *req) // IN/OUT: Packet to write into
+ {
+- char *fileName = NULL;
+- uint32 *fileNameLength;
+ size_t reqSize;
+- int result;
++
+
+ ASSERT(req);
+
+ switch (opUsed) {
+ case HGFS_OP_CREATE_DIR_V3: {
++ int result;
+ HgfsRequestCreateDirV3 *requestV3 = HgfsGetRequestPayload(req);
+
+ reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
+- /* We'll use these later. */
+- fileName = requestV3->fileName.name;
+- fileNameLength = &requestV3->fileName.length;
+ requestV3->fileName.flags = 0;
+ requestV3->fileName.fid = HGFS_INVALID_HANDLE;
+ requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+-
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ requestV3->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ requestV3->fileName.length = result;
++ reqSize += result;
+ requestV3->mask = HGFS_CREATE_DIR_MASK;
+
+ /* Set permissions. */
+@@ -656,15 +657,23 @@ HgfsPackCreateDirRequest(const char *path,
+ break;
+ }
+ case HGFS_OP_CREATE_DIR_V2: {
++ int result;
+ HgfsRequestCreateDirV2 *requestV2;
+
+ requestV2 = (HgfsRequestCreateDirV2 *)(HGFS_REQ_PAYLOAD(req));
+
+- /* We'll use these later. */
+- fileName = requestV2->fileName.name;
+- fileNameLength = &requestV2->fileName.length;
+ reqSize = sizeof *requestV2;
+
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ requestV2->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ requestV2->fileName.length = result;
++ reqSize += result;
+ requestV2->mask = HGFS_CREATE_DIR_MASK;
+
+ /* Set permissions. */
+@@ -675,15 +684,22 @@ HgfsPackCreateDirRequest(const char *path,
+ break;
+ }
+ case HGFS_OP_CREATE_DIR: {
++ int result;
+ HgfsRequestCreateDir *request;
+
+ request = (HgfsRequestCreateDir *)(HGFS_REQ_PAYLOAD(req));
+
+- /* We'll use these later. */
+- fileName = request->fileName.name;
+- fileNameLength = &request->fileName.length;
+ reqSize = sizeof *request;
+-
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ request->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ request->fileName.length = result;
++ reqSize += result;
+ /* Set permissions. */
+ request->permissions = (permsMode & S_IRWXU) >> 6;
+ break;
+@@ -693,18 +709,7 @@ HgfsPackCreateDirRequest(const char *path,
+ return -EPROTO;
+ }
+
+-
+- /* Convert to CP name. */
+- result = CPName_ConvertTo(path,
+- HGFS_LARGE_PACKET_MAX - (reqSize - 1),
+- fileName);
+- if (result < 0) {
+- LOG(4, ("CP conversion failed.\n"));
+- return -EINVAL;
+- }
+-
+- *fileNameLength = result;
+- req->payloadSize = reqSize + result;
++ req->payloadSize = reqSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+ HgfsPackHeader(req, opUsed);
+@@ -827,8 +832,6 @@ HgfsDelete(const char* path, // IN: Path to file
+ HgfsReq *req = NULL;
+ int result = 0;
+ HgfsStatus replyStatus;
+- char *fileName = NULL;
+- uint32 *fileNameLength;
+ uint32 reqSize;
+ HgfsOp opUsed;
+ HgfsAttrInfo newAttr = {0};
+@@ -862,8 +865,17 @@ HgfsDelete(const char* path, // IN: Path to file
+
+ reqSize = sizeof(*request) + HgfsGetRequestHeaderSize();
+ request->hints = 0;
+- fileName = request->fileName.name;
+- fileNameLength = &request->fileName.length;
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
++ request->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ request->fileName.length = result;
++ reqSize += result;
+ request->fileName.fid = HGFS_INVALID_HANDLE;
+ request->fileName.flags = 0;
+ request->fileName.caseType = HGFS_FILE_NAME_DEFAULT_CASE;
+@@ -874,24 +886,21 @@ HgfsDelete(const char* path, // IN: Path to file
+
+ request = (HgfsRequestDelete *)(HGFS_REQ_PAYLOAD(req));
+ /* Fill out the request packet. */
+- fileName = request->fileName.name;
+- fileNameLength = &request->fileName.length;
+ reqSize = sizeof *request;
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
++ request->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ request->fileName.length = result;
++ reqSize += result;
+ }
+
+-
+- /* Convert to CP name. */
+- result = CPName_ConvertTo(path,
+- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
+- fileName);
+- if (result < 0) {
+- LOG(4, ("CP conversion failed.\n"));
+- result = -EINVAL;
+- goto out;
+- }
+-
+- *fileNameLength = result;
+- req->payloadSize = reqSize + result;
++ req->payloadSize = reqSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+ HgfsPackHeader(req, opUsed);
+diff --git a/open-vm-tools/vmhgfs-fuse/file.c b/open-vm-tools/vmhgfs-fuse/file.c
+index 389ebba8..0b6c48bc 100644
+--- a/open-vm-tools/vmhgfs-fuse/file.c
++++ b/open-vm-tools/vmhgfs-fuse/file.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 2013,2017 VMware, Inc. All rights reserved.
++ * Copyright (C) 2013,2018-2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -66,10 +66,7 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
+ HgfsOp opUsed, // IN: Op to use
+ HgfsReq *req) // IN/OUT: Packet to write into
+ {
+- char *name;
+- uint32 *nameLength;
+ size_t reqSize;
+- int result;
+ int openMode, openFlags;
+
+ ASSERT(path);
+@@ -88,14 +85,22 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
+
+ switch (opUsed) {
+ case HGFS_OP_OPEN_V3: {
++ int result;
+ HgfsRequestOpenV3 *requestV3 = HgfsGetRequestPayload(req);
+
+ reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
+
+- /* We'll use these later. */
+- name = requestV3->fileName.name;
+- nameLength = &requestV3->fileName.length;
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ requestV3->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
+
++ requestV3->fileName.length = result;
++ reqSize += result;
+ /* Linux clients need case-sensitive lookups. */
+ requestV3->fileName.flags = 0;
+ requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+@@ -122,15 +127,24 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
+ }
+
+ case HGFS_OP_OPEN_V2: {
++ int result;
+ HgfsRequestOpenV2 *requestV2;
+
+ requestV2 = (HgfsRequestOpenV2 *)(HGFS_REQ_PAYLOAD(req));
+
+- /* We'll use these later. */
+- name = requestV2->fileName.name;
+- nameLength = &requestV2->fileName.length;
+ reqSize = sizeof *requestV2;
+
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ requestV2->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++
++ requestV2->fileName.length = result;
++ reqSize += result;
+ requestV2->mask = mask;
+ requestV2->mode = openMode;
+ requestV2->flags = openFlags;
+@@ -148,14 +162,23 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
+ break;
+ }
+ case HGFS_OP_OPEN: {
++ int result;
+ HgfsRequestOpen *request;
+
+ request = (HgfsRequestOpen *)(HGFS_REQ_PAYLOAD(req));
+- /* We'll use these later. */
+- name = request->fileName.name;
+- nameLength = &request->fileName.length;
+ reqSize = sizeof *request;
+
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (reqSize - 1),
++ request->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++
++ request->fileName.length = result;
++ reqSize += result;
+ request->mode = openMode;
+ request->flags = openFlags;
+
+@@ -168,18 +191,7 @@ HgfsPackOpenRequest(const char *path, // IN: Path to file
+ return -EPROTO;
+ }
+
+-
+- /* Convert to CP name. */
+- result = CPName_ConvertTo(path,
+- HGFS_LARGE_PACKET_MAX - (reqSize - 1),
+- name);
+- if (result < 0) {
+- LOG(4, ("CP conversion failed.\n"));
+- return -EINVAL;
+- }
+-
+- *nameLength = (uint32) result;
+- req->payloadSize = reqSize + result;
++ req->payloadSize = reqSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+ HgfsPackHeader(req, opUsed);
+@@ -915,10 +927,6 @@ int
+ HgfsRename(const char* from, const char* to)
+ {
+ HgfsReq *req = NULL;
+- char *oldName;
+- char *newName;
+- uint32 *oldNameLength;
+- uint32 *newNameLength;
+ int result = 0;
+ uint32 reqSize;
+ HgfsOp opUsed;
+@@ -942,33 +950,41 @@ retry:
+ if (opUsed == HGFS_OP_RENAME_V3) {
+ HgfsRequestRenameV3 *requestV3 = HgfsGetRequestPayload(req);
+
+- oldName = requestV3->oldName.name;
+- oldNameLength = &requestV3->oldName.length;
+ requestV3->hints = 0;
+ requestV3->oldName.flags = 0;
+ requestV3->oldName.fid = HGFS_INVALID_HANDLE;
+ requestV3->oldName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+ requestV3->reserved = 0;
+ reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
++ /* Convert old name to CP format. */
++ result = CPName_ConvertTo(from,
++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
++ requestV3->oldName.name);
++ if (result < 0) {
++ LOG(4, ("oldName CP conversion failed\n"));
++ result = -EINVAL;
++ goto out;
++ }
++
++ requestV3->oldName.length = result;
++ reqSize += result;
+ } else {
+ HgfsRequestRename *request = (HgfsRequestRename *)HGFS_REQ_PAYLOAD(req);
+
+- oldName = request->oldName.name;
+- oldNameLength = &request->oldName.length;
+ reqSize = sizeof *request;
+- }
+- /* Convert old name to CP format. */
+- result = CPName_ConvertTo(from,
+- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
+- oldName);
+- if (result < 0) {
+- LOG(4, ("oldName CP conversion failed\n"));
+- result = -EINVAL;
+- goto out;
+- }
++ /* Convert old name to CP format. */
++ result = CPName_ConvertTo(from,
++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
++ request->oldName.name);
++ if (result < 0) {
++ LOG(4, ("oldName CP conversion failed\n"));
++ result = -EINVAL;
++ goto out;
++ }
+
+- *oldNameLength = result;
+- reqSize += result;
++ request->oldName.length = result;
++ reqSize += result;
++ }
+
+ /*
+ * Build full new name to send to server.
+@@ -983,8 +999,20 @@ retry:
+
+ newNameP = (HgfsFileNameV3 *)((char *)&requestV3->oldName +
+ sizeof requestV3->oldName + result);
+- newName = newNameP->name;
+- newNameLength = &newNameP->length;
++
++ LOG(6, ("New name: \"%s\"\n", newNameP->name));
++
++ /* Convert new name to CP format. */
++ result = CPName_ConvertTo(to,
++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
++ newNameP->name);
++ if (result < 0) {
++ LOG(4, ("newName CP conversion failed\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ newNameP->length = result;
++ reqSize += result;
+ newNameP->flags = 0;
+ newNameP->fid = HGFS_INVALID_HANDLE;
+ newNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+@@ -993,24 +1021,22 @@ retry:
+ HgfsFileName *newNameP;
+ newNameP = (HgfsFileName *)((char *)&request->oldName +
+ sizeof request->oldName + result);
+- newName = newNameP->name;
+- newNameLength = &newNameP->length;
+- }
+
+- LOG(6, ("New name: \"%s\"\n", newName));
++ LOG(6, ("New name: \"%s\"\n", newNameP->name));
+
+- /* Convert new name to CP format. */
+- result = CPName_ConvertTo(to,
+- HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
+- newName);
+- if (result < 0) {
+- LOG(4, ("newName CP conversion failed\n"));
+- result = -EINVAL;
+- goto out;
++ /* Convert new name to CP format. */
++ result = CPName_ConvertTo(to,
++ HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
++ newNameP->name);
++ if (result < 0) {
++ LOG(4, ("newName CP conversion failed\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ newNameP->length = result;
++ reqSize += result;
+ }
+
+- *newNameLength = result;
+- reqSize += result;
+ req->payloadSize = reqSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+@@ -1068,7 +1094,7 @@ retry:
+ }
+ break;
+ default:
+- LOG(4, ("failed with result %d\n", result));
++ LOG(4, ("Server protocol result %d\n", result));
+ }
+ break;
+ default:
+@@ -1109,21 +1135,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ {
+ HgfsAttrV2 *attrV2;
+ HgfsAttr *attrV1;
+- HgfsAttrHint *hints;
+ HgfsAttrChanges *update;
+- char *fileName = NULL;
+- uint32 *fileNameLength = NULL;
+ size_t reqBufferSize;
+ size_t reqSize;
+- int result = 0;
+ ASSERT(req);
+
+ switch (opUsed) {
+ case HGFS_OP_SETATTR_V3: {
++ int result;
+ HgfsRequestSetattrV3 *requestV3 = HgfsGetRequestPayload(req);
+
+ attrV2 = &requestV3->attr;
+- hints = &requestV3->hints;
+
+ /*
+ * Clear attributes, mask, and hints before touching them.
+@@ -1131,7 +1153,7 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ * make sure to zero them all here.
+ */
+ memset(attrV2, 0, sizeof *attrV2);
+- memset(hints, 0, sizeof *hints);
++ requestV3->hints = 0;
+
+ /*
+ * When possible, issue a setattr using an existing handle. This will
+@@ -1143,14 +1165,21 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ * the times also requires write permissions on Windows, so we require it
+ * here too. Otherwise, any handle will do.
+ */
+- fileName = requestV3->fileName.name;
+- fileNameLength = &requestV3->fileName.length;
+ requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+ requestV3->fileName.fid = HGFS_INVALID_HANDLE;
+ requestV3->fileName.flags = 0;
+ requestV3->reserved = 0;
+ reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
+ reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize);
++ result = CPName_ConvertTo(path,
++ reqBufferSize,
++ requestV3->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ requestV3->fileName.length = result;
++ reqSize += result;
+
+ attrV2->mask = attr->mask;
+ if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS |
+@@ -1173,22 +1202,22 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ }
+ if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) {
+ attrV2->accessTime = attr->accessTime;
+- *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
++ requestV3->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
+ }
+ if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) {
+ attrV2->writeTime = attr->writeTime;
+- *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
++ requestV3->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
+ }
+
+ break;
+ }
+ case HGFS_OP_SETATTR_V2: {
++ int result;
+ HgfsRequestSetattrV2 *requestV2;
+
+ requestV2 = (HgfsRequestSetattrV2 *)(HGFS_REQ_PAYLOAD(req));
+
+ attrV2 = &requestV2->attr;
+- hints = &requestV2->hints;
+
+ /*
+ * Clear attributes, mask, and hints before touching them.
+@@ -1196,13 +1225,19 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ * make sure to zero them all here.
+ */
+ memset(attrV2, 0, sizeof *attrV2);
+- memset(hints, 0, sizeof *hints);
+-
+- fileName = requestV2->fileName.name;
+- fileNameLength = &requestV2->fileName.length;
++ requestV2->hints = 0;
+
+ reqSize = sizeof *requestV2;
+ reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2);
++ result = CPName_ConvertTo(path,
++ reqBufferSize,
++ requestV2->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ requestV2->fileName.length = result;
++ reqSize += result;
+
+ if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS |
+ HGFS_ATTR_VALID_OWNER_PERMS |
+@@ -1224,16 +1259,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ }
+ if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) {
+ attrV2->accessTime = attr->accessTime;
+- *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
++ requestV2->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
+ }
+ if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) {
+ attrV2->writeTime = attr->writeTime;
+- *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
++ requestV2->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
+ }
+
+ break;
+ }
+ case HGFS_OP_SETATTR: {
++ int result;
+ HgfsRequestSetattr *request;
+
+ request = (HgfsRequestSetattr *)(HGFS_REQ_PAYLOAD(req));
+@@ -1241,11 +1277,17 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ attrV1 = &request->attr;
+ update = &request->update;
+
+- /* We'll use these later. */
+- fileName = request->fileName.name;
+- fileNameLength = &request->fileName.length;
+ reqSize = sizeof *request;
+ reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, request);
++ result = CPName_ConvertTo(path,
++ reqBufferSize,
++ request->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ request->fileName.length = result;
++ reqSize += result;
+
+ /*
+ * Clear attributes before touching them.
+@@ -1284,16 +1326,7 @@ HgfsPackSetattrRequest(const char *path, // IN: path to file
+ return -EPROTO;
+ }
+
+- result = CPName_ConvertTo(path,
+- reqBufferSize,
+- fileName);
+- if (result < 0) {
+- LOG(4, ("CP conversion failed.\n"));
+- return -EINVAL;
+- }
+-
+- *fileNameLength = result;
+- req->payloadSize = reqSize + result;
++ req->payloadSize = reqSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+ HgfsPackHeader(req, opUsed);
+diff --git a/open-vm-tools/vmhgfs-fuse/filesystem.c b/open-vm-tools/vmhgfs-fuse/filesystem.c
+index fb9d547d..1931a5d2 100644
+--- a/open-vm-tools/vmhgfs-fuse/filesystem.c
++++ b/open-vm-tools/vmhgfs-fuse/filesystem.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 2013 VMware, Inc. All rights reserved.
++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -123,36 +123,50 @@ HgfsPackQueryVolumeRequest(const char *path, // IN: File pointer for this
+ HgfsOp opUsed, // IN: Op to be used.
+ HgfsReq *req) // IN/OUT: Packet to write into
+ {
+- char *name;
+- uint32 *nameLength;
+ size_t requestSize;
+- int result;
++
+
+ ASSERT(req);
+
+ switch (opUsed) {
+ case HGFS_OP_QUERY_VOLUME_INFO_V3: {
++ int result;
+ HgfsRequestQueryVolumeV3 *requestV3 = HgfsGetRequestPayload(req);
+
+- /* We'll use these later. */
+- name = requestV3->fileName.name;
+- nameLength = &requestV3->fileName.length;
+ requestV3->fileName.flags = 0;
+ requestV3->fileName.fid = HGFS_INVALID_HANDLE;
+ requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+ requestV3->reserved = 0;
+ requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
++ requestV3->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ requestV3->fileName.length = result;
++ requestSize += result;
+ break;
+ }
+ case HGFS_OP_QUERY_VOLUME_INFO: {
++ int result;
+ HgfsRequestQueryVolume *request;
+
+ request = (HgfsRequestQueryVolume *)(HGFS_REQ_PAYLOAD(req));
+
+- /* We'll use these later. */
+- name = request->fileName.name;
+- nameLength = &request->fileName.length;
+ requestSize = sizeof *request;
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
++ request->fileName.name);
++ if (result < 0) {
++ LOG(4, ("CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ request->fileName.length = result;
++ requestSize += result;
+ break;
+ }
+ default:
+@@ -160,17 +174,7 @@ HgfsPackQueryVolumeRequest(const char *path, // IN: File pointer for this
+ return -EPROTO;
+ }
+
+- /* Convert to CP name. */
+- result = CPName_ConvertTo(path,
+- HGFS_LARGE_PACKET_MAX - (requestSize - 1),
+- name);
+- if (result < 0) {
+- LOG(4, ("CP conversion failed.\n"));
+- return -EINVAL;
+- }
+-
+- *nameLength = (uint32) result;
+- req->payloadSize = requestSize + result;
++ req->payloadSize = requestSize;
+
+ /* Fill in header here as payloadSize needs to be there. */
+ HgfsPackHeader(req, opUsed);
+diff --git a/open-vm-tools/vmhgfs-fuse/fsutil.c b/open-vm-tools/vmhgfs-fuse/fsutil.c
+index 042c223c..af85c405 100644
+--- a/open-vm-tools/vmhgfs-fuse/fsutil.c
++++ b/open-vm-tools/vmhgfs-fuse/fsutil.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 2013 VMware, Inc. All rights reserved.
++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -189,8 +189,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
+ size_t reqBufferSize;
+ size_t reqSize;
+ int result = 0;
+- char *fileName = NULL;
+- uint32 *fileNameLength = NULL;
+ ASSERT(attr);
+ ASSERT(req);
+ ASSERT(path);
+@@ -204,8 +202,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
+
+ /* Fill out the request packet. */
+ requestV3->hints = 0;
+- fileName = requestV3->fileName.name;
+- fileNameLength = &requestV3->fileName.length;
+ requestV3->fileName.flags = 0;
+ requestV3->fileName.fid = HGFS_INVALID_HANDLE;
+ requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+@@ -213,6 +209,19 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
+ requestV3->reserved = 0;
+ reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
+ reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize);
++ if (requestV3->fileName.name != NULL) {
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ reqBufferSize,
++ requestV3->fileName.name);
++ LOG(8, ("Converted path %s\n", requestV3->fileName.name));
++ if (result < 0) {
++ LOG(8, ("CP conversion failed.\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ requestV3->fileName.length = result;
++ }
+ break;
+ }
+
+@@ -223,20 +232,42 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
+
+ requestV2 = (HgfsRequestGetattrV2 *)(HGFS_REQ_PAYLOAD(req));
+ requestV2->hints = 0;
+- fileName = requestV2->fileName.name;
+- fileNameLength = &requestV2->fileName.length;
+ reqSize = sizeof *requestV2;
+ reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2);
++ if (requestV2->fileName.name != NULL) {
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ reqBufferSize,
++ requestV2->fileName.name);
++ LOG(8, ("Converted path %s\n", requestV2->fileName.name));
++ if (result < 0) {
++ LOG(8, ("CP conversion failed.\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ requestV2->fileName.length = result;
++ }
+ break;
+ }
+
+ case HGFS_OP_GETATTR: {
+ HgfsRequestGetattr *requestV1;
+ requestV1 = (HgfsRequestGetattr *)(HGFS_REQ_PAYLOAD(req));
+- fileName = requestV1->fileName.name;
+- fileNameLength = &requestV1->fileName.length;
+ reqSize = sizeof *requestV1;
+ reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV1);
++ if (requestV1->fileName.name != NULL) {
++ /* Convert to CP name. */
++ result = CPName_ConvertTo(path,
++ reqBufferSize,
++ requestV1->fileName.name);
++ LOG(8, ("Converted path %s\n", requestV1->fileName.name));
++ if (result < 0) {
++ LOG(8, ("CP conversion failed.\n"));
++ result = -EINVAL;
++ goto out;
++ }
++ requestV1->fileName.length = result;
++ }
+ break;
+ }
+
+@@ -246,20 +277,6 @@ HgfsPackGetattrRequest(HgfsReq *req, // IN/OUT: Request buffer
+ goto out;
+ }
+
+- if (fileName != NULL) {
+- /* Convert to CP name. */
+- result = CPName_ConvertTo(path,
+- reqBufferSize,
+- fileName);
+- LOG(8, ("Converted path %s\n", fileName));
+- if (result < 0) {
+- LOG(8, ("CP conversion failed.\n"));
+- result = -EINVAL;
+- goto out;
+- }
+- *fileNameLength = result;
+- }
+-
+ req->payloadSize = reqSize + result;
+
+ /* Fill in header here as payloadSize needs to be there. */
+diff --git a/open-vm-tools/vmhgfs-fuse/link.c b/open-vm-tools/vmhgfs-fuse/link.c
+index a00e8446..777eb76e 100644
+--- a/open-vm-tools/vmhgfs-fuse/link.c
++++ b/open-vm-tools/vmhgfs-fuse/link.c
+@@ -1,5 +1,5 @@
+ /*********************************************************
+- * Copyright (C) 2013 VMware, Inc. All rights reserved.
++ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+@@ -51,36 +51,81 @@ HgfsPackSymlinkCreateRequest(const char* symlink, // IN: path of the link
+ {
+ HgfsRequestSymlinkCreateV3 *requestV3 = NULL;
+ HgfsRequestSymlinkCreate *request = NULL;
+- char *symlinkName;
+- uint32 *symlinkNameLength;
+- char *targetName;
+- uint32 *targetNameLength;
+ size_t targetNameBytes;
+-
+ size_t requestSize;
+- int result;
++
++ targetNameBytes = strlen(symname) + 1;
+
+ switch (opUsed) {
+ case HGFS_OP_CREATE_SYMLINK_V3: {
++ int result;
++ HgfsFileNameV3 *fileNameP;
+ requestV3 = HgfsGetRequestPayload(req);
+
+- /* We'll use these later. */
+- symlinkName = requestV3->symlinkName.name;
+- symlinkNameLength = &requestV3->symlinkName.length;
+ requestV3->symlinkName.flags = 0;
+ requestV3->symlinkName.fid = HGFS_INVALID_HANDLE;
+ requestV3->symlinkName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+ requestV3->reserved = 0;
+ requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
++ /* Convert symlink name to CP format. */
++ result = CPName_ConvertTo(symlink,
++ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
++ requestV3->symlinkName.name);
++ if (result < 0) {
++ LOG(4, ("SymlinkName CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ requestV3->symlinkName.length = result;
++ requestSize += result;
++
++ /* Copy target name into request packet. */
++ if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
++ LOG(4, ("Target name is too long.\n"));
++ return -EINVAL;
++ }
++
++ fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName +
++ sizeof requestV3->symlinkName + result);
++ memcpy(fileNameP->name, symname, targetNameBytes);
++ LOG(6, ("Target name: \"%s\"\n", fileNameP->name));
++ /* Convert target name to CPName-lite format. */
++ CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/');
++ fileNameP->length = targetNameBytes - 1;
++ fileNameP->flags = 0;
++ fileNameP->fid = HGFS_INVALID_HANDLE;
++ fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+ break;
+ }
+ case HGFS_OP_CREATE_SYMLINK: {
++ int result;
++ HgfsFileName *fileNameP;
+ request = (HgfsRequestSymlinkCreate *)(HGFS_REQ_PAYLOAD(req));
+
+- /* We'll use these later. */
+- symlinkName = request->symlinkName.name;
+- symlinkNameLength = &request->symlinkName.length;
+ requestSize = sizeof *request;
++ /* Convert symlink name to CP format. */
++ result = CPName_ConvertTo(symlink,
++ HGFS_LARGE_PACKET_MAX - (requestSize - 1),
++ request->symlinkName.name);
++ if (result < 0) {
++ LOG(4, ("SymlinkName CP conversion failed.\n"));
++ return -EINVAL;
++ }
++ request->symlinkName.length = result;
++ requestSize += result;
++
++ /* Copy target name into request packet. */
++ if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
++ LOG(4, ("Target name is too long.\n"));
++ return -EINVAL;
++ }
++
++ fileNameP = (HgfsFileName *)((char *)&request->symlinkName +
++ sizeof request->symlinkName + result);
++ memcpy(fileNameP->name, symname, targetNameBytes);
++ LOG(6, ("Target name: \"%s\"\n", fileNameP->name));
++ /* Convert target name to CPName-lite format. */
++ CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/');
++ fileNameP->length = targetNameBytes - 1;
+ break;
+ }
+ default:
+@@ -88,59 +133,13 @@ HgfsPackSymlinkCreateRequest(const char* symlink, // IN: path of the link
+ return -EPROTO;
+ }
+
+-
+- /* Convert symlink name to CP format. */
+- result = CPName_ConvertTo(symlink,
+- HGFS_LARGE_PACKET_MAX - (requestSize - 1),
+- symlinkName);
+- if (result < 0) {
+- LOG(4, ("SymlinkName CP conversion failed.\n"));
+- return -EINVAL;
+- }
+-
+- *symlinkNameLength = result;
+- req->payloadSize = requestSize + result;
++ req->payloadSize = requestSize;
+
+ /*
+- * Note the different buffer length. This is because HgfsRequestSymlink
+- * contains two filenames, and once we place the first into the packet we
+- * must account for it when determining the amount of buffer available for
+- * the second.
+- *
+- * Also note that targetNameBytes accounts for the NUL character. Once
+- * we've converted it to CP name, it won't be NUL-terminated and the length
+- * of the string in the packet itself won't account for it.
++ * targetNameBytes accounts for the NUL character. Once we've converted
++ * it to CP name, it won't be NUL-terminated and the length of the string
++ * in the packet itself won't account for it.
+ */
+- if (opUsed == HGFS_OP_CREATE_SYMLINK_V3) {
+- HgfsFileNameV3 *fileNameP;
+- fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName +
+- sizeof requestV3->symlinkName + result);
+- targetName = fileNameP->name;
+- targetNameLength = &fileNameP->length;
+- fileNameP->flags = 0;
+- fileNameP->fid = HGFS_INVALID_HANDLE;
+- fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
+- } else {
+- HgfsFileName *fileNameP;
+- fileNameP = (HgfsFileName *)((char *)&request->symlinkName +
+- sizeof request->symlinkName + result);
+- targetName = fileNameP->name;
+- targetNameLength = &fileNameP->length;
+- }
+- targetNameBytes = strlen(symname) + 1;
+-
+- /* Copy target name into request packet. */
+- if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
+- LOG(4, ("Target name is too long.\n"));
+- return -EINVAL;
+- }
+- memcpy(targetName, symname, targetNameBytes);
+- LOG(6, ("Target name: \"%s\"\n", targetName));
+-
+- /* Convert target name to CPName-lite format. */
+- CPNameLite_ConvertTo(targetName, targetNameBytes - 1, '/');
+-
+- *targetNameLength = targetNameBytes - 1;
+ req->payloadSize += targetNameBytes - 1;
+
+ /* Fill in header here as payloadSize needs to be there. */
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch
deleted file mode 100644
index 1a6bfdb09..000000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/fix-subdir-objects-configure-error.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -303,6 +303,7 @@ AC_ARG_ENABLE(
- [],
- [enable_resolutionkms="auto"])
-
-+AM_INIT_AUTOMAKE([subdir-objects])
- AM_INIT_AUTOMAKE
-
- ###
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
index 7ed659372..63a64fc71 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
@@ -22,23 +22,24 @@ LICENSE_modules/linux = "GPL-2.0"
LICENSE_modules/solaris = "CDDL-1.0"
SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
- file://tools.conf \
- file://vmtoolsd.service \
- file://vmtoolsd.init \
- file://0001-configure.ac-don-t-use-dnet-config.patch \
- file://0002-add-include-sys-sysmacros.h.patch \
- file://0005-Use-configure-test-for-struct-timespec.patch \
- file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \
- file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \
- file://0011-Use-configure-test-for-sys-stat.h-include.patch \
- file://fix-subdir-objects-configure-error.patch \
- file://0001-include-poll.h-instead-of-sys-poll.h.patch \
- file://0002-Rename-poll.h-to-vm_poll.h.patch \
- file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \
- file://0004-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0001-Use-off64_t-instead-of-__off64_t.patch \
- file://0001-misc-Do-not-print-NULL-string-into-logs.patch \
- "
+ file://tools.conf \
+ file://vmtoolsd.service \
+ file://vmtoolsd.init \
+ file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \
+ file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \
+ file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \
+ file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \
+ file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \
+ file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \
+ file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \
+ file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \
+ file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \
+ file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \
+ file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
+ file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
+ file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
+ file://0014-Fix-new-warnings-from-gcc9.patch;patchdir=.. \
+"
# stable-10.3.5
SRCREV = "f2ff192717375b95a6b7e278fb47dbb3d3bc56d1"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
new file mode 100644
index 000000000..3a437659e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Protocol plugin for New Yahoo (2016) for Adium, Pidgin, Miranda and Telepathy IM Framework"
+SECTION = "webos/services"
+LICENSE = "GPLv3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+DEPENDS = "pidgin json-glib glib-2.0"
+
+inherit pkgconfig
+
+SRC_URI = "git://github.com/EionRobb/funyahoo-plusplus;branch=master;protocol=git"
+SRCREV = "fbbd9c591100aa00a0487738ec7b6acd3d924b3f"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake CC="${CC}" CXX="${CXX}" EXTRA_INCLUDES="${TARGET_CFLAGS}" AR="${AR}";
+}
+
+do_install() {
+ oe_runmake DESTDIR="${D}" install;
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h
new file mode 100644
index 000000000..714cb5aa9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h
@@ -0,0 +1,5 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_INT_FORMAT "iso-%u-%u"
+#define ICONV_ISO_STR_FORMAT "iso-%u-%s"
+#define ICONV_10646 "iso-10646"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch
new file mode 100644
index 000000000..1f9bdd304
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -150,7 +150,6 @@ AC_EXEEXT
+ AC_PROG_LIBTOOL
+ dnl when using libtool 2.x create libtool early, because it's used in configure
+ m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+-DOLT
+
+ dnl Checks for header files.
+ AC_CHECK_HEADERS(sys/mman.h)
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb
new file mode 100644
index 000000000..8c6f0b010
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb
@@ -0,0 +1,23 @@
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
+SECTION = "libs"
+DEPENDS = "glib-2.0 zlib"
+
+inherit gnome autotools gobject-introspection
+
+SRC_URI += "file://iconv-detect.h \
+ file://nodolt.patch"
+
+SRC_URI[archive.md5sum] = "69ae21a0b1df966a7d39a9431856ac81"
+SRC_URI[archive.sha256sum] = "6a0875eeb552ab447dd54853a68ced62217d863631048737dd97eaa2713e7311"
+
+EXTRA_OECONF_remove = "--disable-schemas-install"
+
+export ac_cv_have_iconv_detect_h="yes"
+do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}"
+
+# we do not need GNOME 1 gnome-config support
+do_install_append () {
+ rm -f ${D}${libdir}/gmimeConf.sh
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb
new file mode 100644
index 000000000..0f32dc3a3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/icyque_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "WIM Protocol plugin for ICQ for Adium, Pidgin, Miranda and Telepathy IM Framework"
+SECTION = "webos/services"
+LICENSE = "GPLv3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+DEPENDS = "pidgin json-glib"
+
+PV = "0.1+gitr${SRCPV}"
+
+inherit pkgconfig
+
+SRC_URI = "git://github.com/EionRobb/icyque"
+SRCREV = "513fc162d5d1a201c2b044e2b42941436d1069d5"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake;
+}
+
+do_install() {
+ oe_runmake DESTDIR="${D}" install;
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb
new file mode 100644
index 000000000..7632fd2de
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.24.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Protocol plugin for Office 365/Lync/OCS for Adium, Pidgin, Miranda and Telepathy IM Framework"
+SECTION = "webos/services"
+LICENSE = "GPLv2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "pidgin gmime intltool-native glib-2.0-native"
+
+inherit pkgconfig
+inherit autotools
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \
+"
+
+SRC_URI[md5sum] = "b91106d28c235b347a63dcb676f7b66a"
+SRC_URI[sha256sum] = "958803722b23d869131f76bd90df9da19116d4ca5a873e5253371479b7390f43"
+
+PACKAGECONFIG ??= "nss krb5"
+PACKAGECONFIG[nss] = "--enable-nss=yes,--enable-nss=no,nss"
+PACKAGECONFIG[openssl] = "--enable-openssl=yes,--enable-openssl=no,openssl"
+PACKAGECONFIG[krb5] = "--with-krb5=yes,--with-krb5=no,krb5"
+#PACKAGECONFIG[voice_and_video] = "--with-vv=yes,--with-vv=no,libnice gstreamer"
+PACKAGECONFIG[telepathy] = "--enable-telepathy=yes,--enable-telepathy=no,telepathy-glib"
+#PACKAGECONFIG[gssapi_only] = "--enable-gssapi-only=yes,--enable-gssapi-only=no,krb5"
+PACKAGECONFIG[debug] = "--enable-debug=yes,--enable-debug=no,valgrind"
+
+FILES_${PN}-dev += " \
+ ${libdir}/purple-2/*.la \
+"
+
+FILES_${PN} += " \
+ ${libdir}/purple-2/libsipe.so \
+ ${datadir}/appdata \
+ ${datadir}/metainfo \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
index 9a24fbbc5..0a1baa918 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
@@ -7,7 +7,7 @@ Date: Mon, 24 Jul 2017 21:30:16 +0200
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libpurple/protocols/irc/irc.h b/libpurple/protocols/irc/irc.h
-index fde35c4..66e52dd 100644
+index 596ddaf..b70f3a9 100644
--- a/libpurple/protocols/irc/irc.h
+++ b/libpurple/protocols/irc/irc.h
@@ -40,9 +40,9 @@
@@ -20,5 +20,5 @@ index fde35c4..66e52dd 100644
-#define IRC_DEFAULT_QUIT "Leaving."
+#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org"
- #define IRC_INITIAL_BUFSIZE 1024
-
+ #define IRC_BUFSIZE_INCREMENT 1024
+ #define IRC_MAX_BUFSIZE 16384
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
index 148e4b6b5..b094ba25e 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.12.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.13.0.bb
@@ -13,8 +13,8 @@ SRC_URI = "\
file://pidgin-cross-python-265.patch \
"
-SRC_URI[md5sum] = "8287400c4e5663e0e7844e868d5152af"
-SRC_URI[sha256sum] = "8c3d3536d6d3c971bd433ff9946678af70a0f6aa4e6969cc2a83bb357015b7f8"
+SRC_URI[md5sum] = "423403494fe1951e47cc75231f743bb0"
+SRC_URI[sha256sum] = "2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f"
PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
new file mode 100644
index 000000000..092e6059b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Skype protocol plug-in for libpurple"
+SECTION = "webos/services"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://skypeweb/gpl3.txt;md5=d90260d32cef39f3c8d6c0f05d3adb8e"
+
+DEPENDS = "pidgin json-glib glib-2.0 zlib"
+
+inherit pkgconfig
+
+SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=git"
+SRCREV = "14f1b69b6292bbdc98cca484b050ec8359394c4e"
+
+S = "${WORKDIR}/git"
+PV = "1.5+git${SRCPV}"
+
+do_compile() {
+ oe_runmake -C skypeweb;
+}
+
+do_install() {
+ oe_runmake -C skypeweb DESTDIR="${D}" install;
+}
+
+FILES_${PN} += " \
+ ${libdir} \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch
deleted file mode 100644
index 50e689440..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-Support-muslx32-build.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From a328c8bec0bf8071ae8f20fee4c7475205064ba1 Mon Sep 17 00:00:00 2001
-From: sweeaun <swee.aun.khor@intel.com>
-Date: Sun, 10 Sep 2017 00:14:15 -0700
-Subject: [PATCH] dpkg: Support muslx32 build
-
-Upstream-Status: Pending.
-Changes made on ostable and tupletable to enable muslx32 build.
-
-Signed-off-by: sweeaun <swee.aun.khor@intel.com>
----
- data/ostable | 1 +
- data/tupletable | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/data/ostable b/data/ostable
-index be64342..87db273 100644
---- a/data/ostable
-+++ b/data/ostable
-@@ -19,6 +19,7 @@ base-uclibc-linux linux-uclibc linux[^-]*-uclibc
- eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf
- eabi-musl-linux linux-musleabi linux[^-]*-musleabi
- base-musl-linux linux-musl linux[^-]*-musl
-+x32-musl-linux linux-muslx32 linux[^-]*-muslx32
- eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf
- eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi
- abin32-gnu-linux linux-gnuabin32 linux[^-]*-gnuabin32
-diff --git a/data/tupletable b/data/tupletable
-index 28f00bf..748ffab 100644
---- a/data/tupletable
-+++ b/data/tupletable
-@@ -10,6 +10,7 @@ base-uclibc-linux-<cpu> uclibc-linux-<cpu>
- eabihf-musl-linux-arm musl-linux-armhf
- eabi-musl-linux-arm musl-linux-armel
- base-musl-linux-<cpu> musl-linux-<cpu>
-+x32-musl-linux-amd64 x32
- ilp32-gnu-linux-arm64 arm64ilp32
- eabihf-gnu-linux-arm armhf
- eabi-gnu-linux-arm armel
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch
deleted file mode 100644
index e988efded..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 685645a20e39cf2ab7db8d1f5e3666a4228abca8 Mon Sep 17 00:00:00 2001
-From: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
-Date: Wed, 8 Jul 2015 09:44:57 +0300
-Subject: [PATCH 1/1] dpkg start-stop-daemon: Accept SIG prefixed signal names
-
----
- utils/start-stop-daemon.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/utils/start-stop-daemon.c b/utils/start-stop-daemon.c
-index 6aebe9b..e805082 100644
---- a/utils/start-stop-daemon.c
-+++ b/utils/start-stop-daemon.c
-@@ -18,6 +18,9 @@
- * and Andreas Schuldei <andreas@schuldei.org>
- *
- * Changes by Ian Jackson: added --retry (and associated rearrangements).
-+ *
-+ * Changes by Haris Okanovic <haris.okanovic@ni.com> to support 'SIG'
-+ * prefixed signal names placed in public domain as well.
- */
-
- #include <config.h>
-@@ -661,6 +664,12 @@ parse_signal(const char *sig_str, int *sig_num)
- if (parse_unsigned(sig_str, 10, sig_num) == 0)
- return 0;
-
-+ /* Skip over optional "SIG" prefix */
-+ if (strncmp(sig_str, "SIG", 3) == 0) {
-+ warning("Using deprecated signal name %s. Drop the 'SIG' prefix.\n", sig_str);
-+ sig_str += 3;
-+ }
-+
- for (i = 0; i < array_count(siglist); i++) {
- if (strcmp(sig_str, siglist[i].name) == 0) {
- *sig_num = siglist[i].signal;
---
-2.1.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
deleted file mode 100644
index 9fe0ca760..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From b4ea54158c399874e12394ebc91afe98954695e2 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:16:16 +0300
-Subject: [PATCH 2/5] Adapt to linux-wrs kernel version, which has character
- '_' inside. Remove the first-char-digit-check (as the 1.15.8.5 version does).
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- lib/dpkg/parsehelp.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c
-index 453077fd9..f42ea2882 100644
---- a/lib/dpkg/parsehelp.c
-+++ b/lib/dpkg/parsehelp.c
-@@ -243,14 +243,12 @@ parseversion(struct dpkg_version *rversion, const char *string,
- ptr = rversion->version;
- if (!*ptr)
- return dpkg_put_error(err, _("version number is empty"));
-- if (*ptr && !c_isdigit(*ptr++))
-- return dpkg_put_warn(err, _("version number does not start with digit"));
- for (; *ptr; ptr++) {
-- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:", *ptr) == NULL)
-+ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:_", *ptr) == NULL)
- return dpkg_put_warn(err, _("invalid character in version number"));
- }
- for (ptr = rversion->revision; *ptr; ptr++) {
-- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".+~", *ptr) == NULL)
-+ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~_", *ptr) == NULL)
- return dpkg_put_warn(err, _("invalid character in revision number"));
- }
-
-
---
-2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
deleted file mode 100644
index 93d870443..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 24229971492515b64c81e8c6392e5dfbdc22b44c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:25:45 +0300
-Subject: [PATCH 3/5] Our pre/postinsts expect $D to be set when running in a
- sysroot and don't expect a chroot. This matches up our system expectations
- with what dpkg does.
-
-Upstream-Status: Inappropriate [OE Specific]
-
-RP 2011/12/07
-ALIMON 2016/05/26
-ALIMON 2017/02/21
----
- src/script.c | 44 +++-----------------------------------------
- 1 file changed, 3 insertions(+), 41 deletions(-)
-
-diff --git a/src/script.c b/src/script.c
-index 2f252ae..768a9d1 100644
---- a/src/script.c
-+++ b/src/script.c
-@@ -97,48 +97,10 @@ setexecute(const char *path, struct stat *stab)
- static const char *
- maintscript_pre_exec(struct command *cmd)
- {
-- const char *admindir = dpkg_db_get_dir();
-- const char *changedir;
-- size_t instdirlen = strlen(instdir);
--
-- if (instdirlen > 0 && fc_script_chrootless)
-- changedir = instdir;
-- else
-- changedir = "/";
--
-- if (instdirlen > 0 && !fc_script_chrootless) {
-- if (strncmp(admindir, instdir, instdirlen) != 0)
-- ohshit(_("admindir must be inside instdir for dpkg to work properly"));
-- if (setenv("DPKG_ADMINDIR", admindir + instdirlen, 1) < 0)
-- ohshite(_("unable to setenv for subprocesses"));
-- if (setenv("DPKG_ROOT", "", 1) < 0)
-- ohshite(_("unable to setenv for subprocesses"));
--
-- if (chroot(instdir))
-- ohshite(_("failed to chroot to '%.250s'"), instdir);
-+ if (*instdir) {
-+ setenv("D", instdir, 1);
- }
-- /* Switch to a known good directory to give the maintainer script
-- * a saner environment, also needed after the chroot(). */
-- if (chdir(changedir))
-- ohshite(_("failed to chdir to '%.255s'"), changedir);
-- if (debug_has_flag(dbg_scripts)) {
-- struct varbuf args = VARBUF_INIT;
-- const char **argv = cmd->argv;
--
-- while (*++argv) {
-- varbuf_add_char(&args, ' ');
-- varbuf_add_str(&args, *argv);
-- }
-- varbuf_end_str(&args);
-- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename,
-- args.buf);
-- varbuf_destroy(&args);
-- }
-- if (instdirlen == 0 || fc_script_chrootless)
-- return cmd->filename;
--
-- assert(strlen(cmd->filename) >= instdirlen);
-- return cmd->filename + instdirlen;
-+ return cmd->filename;
- }
-
- /**
---
-2.1.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
deleted file mode 100644
index 56c85c773..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From adb6bfd0feeceaf030df0debe3343d7f73e708a0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:27:45 +0300
-Subject: [PATCH 4/5] The lutimes function doesn't work properly for all
- systems.
-
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- src/archives.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/archives.c b/src/archives.c
-index bff5f14..b711013 100644
---- a/src/archives.c
-+++ b/src/archives.c
-@@ -449,8 +449,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
-
- if (te->type == TAR_FILETYPE_SYMLINK) {
- #ifdef HAVE_LUTIMES
-- if (lutimes(path, tv) && errno != ENOSYS)
-+/* if (lutimes(path, tv) && errno != ENOSYS)
- ohshite(_("error setting timestamps of '%.255s'"), path);
-+*/
- #endif
- } else {
- if (utimes(path, tv))
---
-2.1.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch
deleted file mode 100644
index 96e96f277..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0005-dpkg-compiler.m4-remove-Wvla.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0ad7bba80d5b9035089ff2b2f77a774b5b201915 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:28:59 +0300
-Subject: [PATCH 5/5] dpkg-compiler.m4: remove -Wvla
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Remove the -Wvla flag from the set of compiler warning flags, since gcc
-on old host systems such as CentOS 5.8 doesn't support it, and it
-causes a build error for dpkg-native.
-
-Upstream-Status: Pending
-
-Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
----
- m4/dpkg-compiler.m4 | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4
-index 682857c..23ed7d0 100644
---- a/m4/dpkg-compiler.m4
-+++ b/m4/dpkg-compiler.m4
-@@ -52,7 +52,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [
- DPKG_CHECK_COMPILER_FLAG([-Wlogical-op])
- DPKG_CHECK_COMPILER_FLAG([-Wlogical-not-parentheses])
- DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool])
-- DPKG_CHECK_COMPILER_FLAG([-Wvla])
- DPKG_CHECK_COMPILER_FLAG([-Winit-self])
- DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings])
- DPKG_CHECK_COMPILER_FLAG([-Wcast-align])
---
-2.1.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch
deleted file mode 100644
index 8797ea55c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0006-add-musleabi-to-known-target-tripets.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From f8910022dc3ec622272f168cd0022dbdf6dff93a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Dec 2015 23:05:41 +0000
-Subject: [PATCH] add musleabi to known target tripets
-
-helps compiling dpkg for musl/arm-softfloat
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
----
- data/ostable | 1 +
- data/tupletable | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/data/ostable b/data/ostable
-index 99c1f889d..be6434271 100644
---- a/data/ostable
-+++ b/data/ostable
-@@ -17,6 +17,7 @@
- eabi-uclibc-linux linux-uclibceabi linux[^-]*-uclibceabi
- base-uclibc-linux linux-uclibc linux[^-]*-uclibc
- eabihf-musl-linux linux-musleabihf linux[^-]*-musleabihf
-+eabi-musl-linux linux-musleabi linux[^-]*-musleabi
- base-musl-linux linux-musl linux[^-]*-musl
- eabihf-gnu-linux linux-gnueabihf linux[^-]*-gnueabihf
- eabi-gnu-linux linux-gnueabi linux[^-]*-gnueabi
-diff --git a/data/tupletable b/data/tupletable
-index 5f500f6ca..28f00bfe6 100644
---- a/data/tupletable
-+++ b/data/tupletable
-@@ -8,6 +8,7 @@
- eabi-uclibc-linux-arm uclibc-linux-armel
- base-uclibc-linux-<cpu> uclibc-linux-<cpu>
- eabihf-musl-linux-arm musl-linux-armhf
-+eabi-musl-linux-arm musl-linux-armel
- base-musl-linux-<cpu> musl-linux-<cpu>
- ilp32-gnu-linux-arm64 arm64ilp32
- eabihf-gnu-linux-arm armhf
---
-2.11.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
deleted file mode 100644
index 1b985df0f..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 8659eeeeda74d71e12080121f0b13a88cbdda433 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Tue, 21 Feb 2017 11:23:27 -0600
-Subject: [PATCH] dpkg-deb/build.c: Remove usage of --clamp-mtime in tar
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Recently dpkg added --clamp-mtime to tar to create reproducible
-build tarballs [1].
-
-But host tools doesn't support this option because is new on tar
-so disable in our builds.
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
-Upstream-Status: Inappropriate [Configuration]
-
-[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=759999#20
-[2] https://lists.gnu.org/archive/html/help-tar/2016-01/msg00000.html
----
- dpkg-deb/build.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index a92b58e..a3d1912 100644
---- a/dpkg-deb/build.c
-+++ b/dpkg-deb/build.c
-@@ -450,7 +450,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
-
- command_init(&cmd, TAR, "tar -cf");
- command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu",
-- "--mtime", mtime, "--clamp-mtime", NULL);
-+ "--mtime", mtime, NULL);
- /* Mode might become a positional argument, pass it before -T. */
- if (mode)
- command_add_args(&cmd, "--mode", mode, NULL);
---
-2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch
deleted file mode 100644
index d165616a1..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/add_armeb_triplet_entry.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Author: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
-Date: Wed Apr 8 18:08:14 2015 +0530
-
-[PATCH] add armeb triplet entry into triplettable.
-
-Cross-compling dpkg application for armeb fails with below error
-during configure task,
-
-(snip)
- configure:23141: checking dpkg cpu type
- configure:23148: result: armeb
- configure:23150: WARNING: armeb not found in cputable
- configure:23162: checking dpkg operating system type
- configure:23169: result: linux-gnueabi
- configure:23171: WARNING: linux-gnueabi not found in ostable
- configure:23183: checking dpkg architecture name
- configure:23189: error: cannot determine host dpkg architecture
--- CUT --
-
-the required combination of "gnueabi-linux-armeb" was not found in
-the triplettable file thereby returning dpkg_arch as
-empty in configure script.
-
-Upstream-Status: Pending
-
-Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
----
- data/tupletable | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/data/tupletable b/data/tupletable
-index b7802bec3..5f500f6ca 100644
---- a/data/tupletable
-+++ b/data/tupletable
-@@ -12,6 +12,7 @@ base-musl-linux-<cpu> musl-linux-<cpu>
- ilp32-gnu-linux-arm64 arm64ilp32
- eabihf-gnu-linux-arm armhf
- eabi-gnu-linux-arm armel
-+eabi-gnu-linux-armeb armeb
- abin32-gnu-linux-mips64r6el mipsn32r6el
- abin32-gnu-linux-mips64r6 mipsn32r6
- abin32-gnu-linux-mips64el mipsn32el
---
-2.11.0
-
-
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch
deleted file mode 100644
index 4e0d22acb..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/arch_pm.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-configure cannot determine the proper cpu, os, or
-architecture for mips64, and possibly other arch's
-because of faulty code added to Arch.pm in the latest
-release from upstream. We remove that code.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
-
----
- scripts/Dpkg/Arch.pm | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/scripts/Dpkg/Arch.pm b/scripts/Dpkg/Arch.pm
-index 1720847b8..6345ce3b9 100644
---- a/scripts/Dpkg/Arch.pm
-+++ b/scripts/Dpkg/Arch.pm
-@@ -323,9 +323,6 @@ sub _load_tupletable()
- (my $dt = $debtuple) =~ s/<cpu>/$_cpu/;
- (my $da = $debarch) =~ s/<cpu>/$_cpu/;
-
-- next if exists $debarch_to_debtuple{$da}
-- or exists $debtuple_to_debarch{$dt};
--
- $debarch_to_debtuple{$da} = $dt;
- $debtuple_to_debarch{$dt} = $da;
- }
---
-2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch
deleted file mode 100644
index a7f3cb8f4..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/noman.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream-Status: Inappropriate [disable feature]
-
----
- Makefile.am | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 0da52cb16..a1f79e0a2 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -13,8 +13,7 @@ SUBDIRS = \
- $(MAYBE_DSELECT) \
- scripts \
- t-func \
-- po \
-- man
-+ po
-
- ACLOCAL_AMFLAGS = -I m4
-
---
-2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch
deleted file mode 100644
index 4f408ff77..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon/remove-tar-no-timestamp.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-busybox-1.19.4 tar utility doesn't support --warning=no-timestamp
-
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
-Index: dpkg-1.17.1/dpkg-deb/extract.c
-===================================================================
---- dpkg-1.17.1.orig/dpkg-deb/extract.c
-+++ dpkg-1.17.1/dpkg-deb/extract.c
-@@ -318,7 +318,6 @@ extracthalf(const char *debar, const cha
-
- command_add_arg(&cmd, "-f");
- command_add_arg(&cmd, "-");
-- command_add_arg(&cmd, "--warning=no-timestamp");
-
- m_dup2(p2[0],0);
- close(p2[0]);
diff --git a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb b/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb
deleted file mode 100644
index b372d3c4a..000000000
--- a/meta-openembedded/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.18.25.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-SUMMARY = "Debian's start-stop-daemon utility extracted from the dpkg \
-package"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://utils/start-stop-daemon.c;endline=21;md5=8fbd0497a7d0b01e99820bffcb58e9ad"
-DEPENDS = "zlib bzip2 perl ncurses"
-# start-stop-daemon is usually shipped by dpkg
-RCONFLICTS_${PN} = "dpkg"
-
-SRC_URI = " \
- ${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \
- file://0001-dpkg-start-stop-daemon-Accept-SIG-prefixed-signal-na.patch \
- file://noman.patch \
- file://remove-tar-no-timestamp.patch \
- file://arch_pm.patch \
- file://add_armeb_triplet_entry.patch \
- file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \
- file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \
- file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \
- file://0005-dpkg-compiler.m4-remove-Wvla.patch \
- file://0006-add-musleabi-to-known-target-tripets.patch \
- file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
- file://0001-dpkg-Support-muslx32-build.patch \
-"
-SRC_URI[md5sum] = "e463f58b04acb23659df23d2a7a05cff"
-SRC_URI[sha256sum] = "c49c371953aea03f543814dcae37c069e86069333fb2e24e9252e76647663492"
-
-inherit autotools gettext perlnative pkgconfig perl-version
-
-S = "${WORKDIR}/dpkg-${PV}"
-
-EXTRA_OECONF = "\
- --disable-dselect \
- --enable-start-stop-daemon \
- --with-libz \
- --with-libbz2 \
- --without-libselinux \
- "
-
-PACKAGECONFIG = "liblzma"
-PACKAGECONFIG[liblzma] = "--with-liblzma,--without-liblzma, xz"
-
-export PERL = "${bindir}/perl"
-export PERL_LIBDIR = "${libdir}/perl/${@get_perl_version(d)}"
-EXTRA_OECONF += "TAR=tar"
-
-EXTRA_OECONF_append_class-target = " DEB_HOST_ARCH=${DPKG_ARCH}"
-
-DPKG_ARCH ??= "${@deb_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
-
-def deb_arch_map(arch, tune):
- tune_features = tune.split()
- if arch == "allarch":
- return "all"
- if arch in ["i586", "i686"]:
- return "i386"
- if arch == "x86_64":
- if "mx32" in tune_features:
- return "x32"
- return "amd64"
- if arch.startswith("mips"):
- endian = ["el", ""]["bigendian" in tune_features]
- if "n64" in tune_features:
- return "mips64" + endian
- if "n32" in tune_features:
- return "mipsn32" + endian
- return "mips" + endian
- if arch == "powerpc":
- return arch + ["", "spe"]["spe" in tune_features]
- if arch == "aarch64":
- return "arm64"
- if arch == "arm":
- return arch + ["el", "hf"]["callconvention-hard" in tune_features]
- return arch
-
-do_install_append () {
- # remove everything that is not related to start-stop-daemon, since there
- # is no explicit rule for only installing ssd
- find ${D} -type f -not -name "*start-stop-daemon*" -exec rm {} \;
- find ${D} -depth -type d -empty -exec rmdir {} \;
-
- # support for buggy init.d scripts that refer to an alternative
- # explicit path to start-stop-daemon
- if [ "${base_sbindir}" != "${sbindir}" ]; then
- mkdir -p ${D}${base_sbindir}
- ln -sf ${sbindir}/start-stop-daemon ${D}${base_sbindir}/start-stop-daemon
- fi
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
index b52deff5e..c183f05e0 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
@@ -127,6 +127,7 @@ CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
RDEPENDS_${PN} += " ${@oe.utils.conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog"
+RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch
new file mode 100644
index 000000000..16dc44067
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch
@@ -0,0 +1,33 @@
+From 7863a72c723035529d6fd8d626d7fbf9a765f162 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 May 2019 21:49:57 -0700
+Subject: [PATCH] tools: Install bash_completion script in
+ /etc/bash_completion.d
+
+In OE this is one of common locations to install bash_completion files
+and its covered for packaging automatically when bash_completion class
+is inherited
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index 0aaec11..839c961 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -72,7 +72,7 @@ udisks_tcp_bridge_LDADD = $(DBUS_GLIB_LIBS)
+
+ CLEANFILES = $(BUILT_SOURCES)
+
+-profiledir = $(sysconfdir)/profile.d
++profiledir = $(sysconfdir)/bash_completion.d
+ profile_SCRIPTS = udisks-bash-completion.sh
+
+ EXTRA_DIST = $(profile_SCRIPTS)
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch
new file mode 100644
index 000000000..ef7f6f9c3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch
@@ -0,0 +1,38 @@
+From 44953e5501e92c87611be45221338004e8032a74 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 May 2019 22:00:14 -0700
+Subject: [PATCH] udisks-helper: Use sh interpreter instead of bash
+
+These scripts do not require bash, since they do not use any bash
+specific extentions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/helpers/udisks-helper-change-luks-password | 2 +-
+ src/helpers/udisks-helper-mdadm-expand | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/helpers/udisks-helper-change-luks-password b/src/helpers/udisks-helper-change-luks-password
+index edcf6c9..c71fc72 100755
+--- a/src/helpers/udisks-helper-change-luks-password
++++ b/src/helpers/udisks-helper-change-luks-password
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env sh
+ set -e
+
+ DEVICE=$1
+diff --git a/src/helpers/udisks-helper-mdadm-expand b/src/helpers/udisks-helper-mdadm-expand
+index 8b4e23d..921f96a 100755
+--- a/src/helpers/udisks-helper-mdadm-expand
++++ b/src/helpers/udisks-helper-mdadm-expand
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env sh
+
+ set -e
+
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
index 3ae8ecc15..0918fedda 100644
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
@@ -17,12 +17,14 @@ SRC_URI = "http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \
file://udisks-1.0.5-fix-service-file.patch \
file://0001-Make-udev-rules-directory-configurable.patch \
file://0001-include-sys-sysmacros.h.patch \
+ file://0001-tools-Install-bash_completion-script-in-etc-bash_com.patch \
+ file://0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch \
"
SRC_URI[udisks.md5sum] = "70d48dcfe523a74cd7c7fbbc2847fcdd"
SRC_URI[udisks.sha256sum] = "f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3552b4b31c6f71"
-inherit autotools-brokensep systemd gtk-doc distro_features_check
+inherit autotools-brokensep systemd gtk-doc distro_features_check bash-completion
REQUIRED_DISTRO_FEATURES = "polkit"
diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb
deleted file mode 100644
index bfcdf8373..000000000
--- a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.8.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "RFC 3986 compliant URI parsing library"
-HOMEPAGE = "https://uriparser.github.io"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=72b0f9c74ae96eeab8cf1bf3efe08da2"
-
-SRC_URI := "${SOURCEFORGE_MIRROR}/project/uriparser/Sources/${PV}/uriparser-${PV}.tar.bz2"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-test --disable-doc"
-
-SRC_URI[md5sum] = "9aabdc3611546f553f4af372167de6d6"
-SRC_URI[sha256sum] = "ce7ccda4136974889231e8426a785e7578e66a6283009cfd13f1b24a5e657b23"
-
-BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb
new file mode 100644
index 000000000..8c28c9d93
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "RFC 3986 compliant URI parsing library"
+HOMEPAGE = "https://uriparser.github.io"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fc3bbde670fc6e95392a0e23bf57bda0"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+SRC_URI[md5sum] = "9874b64f6f4ff656f3f69598e38f12b7"
+SRC_URI[sha256sum] = "6cef39d6eaf1a48504ee0264ce85f078758057dafb1edd0a898183b55ff76014"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF"
+
+BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb
index 7eb138305..d01a06cae 100644
--- a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb
@@ -9,15 +9,14 @@ HOMEPAGE = "https://troydhanson.github.io/uthash/"
SECTION = "base"
LICENSE = "BSD-1-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a2513f7d2291df840527b76b2a8f9718"
+SRCREV = "8b214aefcb81df86a7e5e0d4fa20e59a6c18bc02"
SRC_URI = "\
- https://github.com/troydhanson/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+ git://github.com/troydhanson/${BPN}.git \
file://run-ptest \
"
-UPSTREAM_CHECK_URI = "https://github.com/troydhanson/${BPN}/releases"
-SRC_URI[md5sum] = "4d0a33f6393260926032f1fad4bad39a"
-SRC_URI[sha256sum] = "152ccd8e64d0f495377232e3964d06c7ec8bb8c3fbd3217f8a5702614f9a669e"
+S = "${WORKDIR}/git"
inherit ptest
diff --git a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
index f1c833e6c..f1c833e6c 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/run-ptest
+++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest
diff --git a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
index 9798af497..9798af497 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
+++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch
diff --git a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
index ea5bb1b0c..fb18fe2a4 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/perl/libauthen/libauthen-radius-perl_0.22.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
@@ -34,6 +34,6 @@ RDEPENDS_${PN} += "\
perl-module-io-select \
perl-module-io-socket \
"
-RDEPENDS_${PN}-ptest += "${PN} freeradius"
+RDEPENDS_${PN}-ptest += "freeradius"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb b/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb
index 2719811ce..3b3e31dd9 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.46.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.48.bb
@@ -15,23 +15,31 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f"
SRCNAME = "Capture-Tiny"
SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DAGOLDEN/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "d718af07729d26a793949ca6ba2580a7"
-SRC_URI[sha256sum] = "5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015"
+SRC_URI[md5sum] = "f5d24083ad270f8326dd659dd83eeb54"
+SRC_URI[sha256sum] = "6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-inherit cpan
-
-RDEPENDS_${PN} = " perl-module-scalar-util \
- perl-module-io-file \
- perl-module-extutils-makemaker \
- perl-module-file-spec \
- perl-module-exporter \
- perl-module-carp \
- perl-module-test-more \
- perl-module-file-temp \
- perl-module-lib \
- perl-module-overloading \
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} = " \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-extutils-makemaker \
+ perl-module-extutils-mm-unix \
+ perl-module-file-spec \
+ perl-module-file-temp \
+ perl-module-io-handle \
+ perl-module-lib \
+ perl-module-overloading \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-scalar-util \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
"
+RDEPENDS_${PN}-ptest += "perl-module-perlio"
+
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb
deleted file mode 100644
index db16d8307..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.38.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
-HTTP requests and responses. Major features including processing form \
-submissions, file uploads, reading and writing cookies, query string generation \
-and manipulation, and processing and preparing HTTP headers."
-HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
-SECTION = "libs"
-LICENSE = "Artistic-2.0 | GPL-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2e9769f0a2613a98bc7fce15dee0c533"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "0aeb8563d533e7f83724ed068b5bfc37"
-SRC_URI[sha256sum] = "8c58f4a529bb92a914b22b7e64c5e31185c9854a4070a6dfad44fe5cc248e7d4"
-
-S = "${WORKDIR}/CGI-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} += "\
- perl-module-deprecate \
- perl-module-if \
-"
-
-RPROVIDES_${PN} += "perl-module-cgi"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb
new file mode 100644
index 000000000..b4571b27e
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
+HTTP requests and responses. Major features including processing form \
+submissions, file uploads, reading and writing cookies, query string generation \
+and manipulation, and processing and preparing HTTP headers."
+HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
+SECTION = "libs"
+LICENSE = "Artistic-2.0 | GPL-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=415fc49abed2728f9480cd32c8d67beb"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "8c1f2cf11e4410911827ea48d58aaecc"
+SRC_URI[sha256sum] = "14b94f9df6e48fc26ebc4fa1e01a7b534cbc1611028a49028f9ac9d8ca27b734"
+
+S = "${WORKDIR}/CGI-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "\
+ libhtml-parser-perl \
+ perl-module-base \
+ perl-module-deprecate \
+ perl-module-if \
+"
+
+do_install_prepend() {
+ # requires "-T" (taint) command line option
+ rm -rf ${B}/t/push.t
+ rm -rf ${B}/t/utf8.t
+ # tests building of docs
+ rm -rf ${B}/t/compiles_pod.t
+}
+
+RDEPENDS_${PN}-ptest += " \
+ libtest-deep-perl \
+ perl-module-bytes \
+ perl-module-file-find \
+ perl-module-filehandle \
+ perl-module-findbin \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+ perl-module-utf8 \
+"
+
+RPROVIDES_${PN} += "perl-module-cgi"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb
index 21be04720..57df78b4e 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess_0.11.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.11.bb
@@ -10,12 +10,28 @@ SRC_URI[sha256sum] = "aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e770314909
DEPENDS += "openssl"
-RDEPENDS_${PN}="perl-module-config perl-module-exporter perl-module-symbol perl-module-file-spec"
+RDEPENDS_${PN} = "\
+ perl-module-config \
+ perl-module-exporter \
+ perl-module-extutils-mm \
+ perl-module-extutils-mm-unix \
+ perl-module-file-spec \
+ perl-module-symbol \
+ perl-module-strict \
+ perl-module-warnings \
+"
EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
S = "${WORKDIR}/Crypt-OpenSSL-Guess-${PV}"
-inherit cpan
+inherit cpan ptest-perl
BBCLASSEXTEND = "native"
+
+# for backwards compatibility
+PROVIDES_${PN} += "libcrypt-openssl-guess"
+
+RDEPENDS_${PN}-ptest += "\
+ perl-module-test-more \
+"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb
deleted file mode 100644
index 8456e313d..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.11.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Crypt Openssl Random cpan module"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=089c18d635ae273e1727ec385e64063b"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Random-${PV}.tar.gz "
-SRC_URI[md5sum] = "5d71337503e0356ce1ce1481504e5885"
-SRC_URI[sha256sum] = "bb8c81c6a39b9b13a22d818ee9a746242f136f0fadceb6b9776ae615e7524c7a"
-
-S = "${WORKDIR}/Crypt-OpenSSL-Random-${PV}"
-
-DEPENDS += " openssl \
-"
-inherit cpan
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb
new file mode 100644
index 000000000..a2ebb8c7a
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-random-perl_0.15.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Crypt::OpenSSL::Random - OpenSSL/LibreSSL pseudo-random number generator access"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=089c18d635ae273e1727ec385e64063b"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-Random-${PV}.tar.gz "
+SRC_URI[md5sum] = "bcde8d5a822c91376deda3c4f0c75fbe"
+SRC_URI[sha256sum] = "f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4"
+
+S = "${WORKDIR}/Crypt-OpenSSL-Random-${PV}"
+
+DEPENDS += " \
+ openssl \
+ libcrypt-openssl-guess-perl-native \
+"
+
+EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -L${STAGING_BASELIBDIR} -lcrypto'"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "\
+ perl-module-exporter \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-xsloader \
+"
+
+RDEPENDS_${PN}-ptest += "\
+ perl-module-file-copy \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb
deleted file mode 100644
index 0a2ad8aa4..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.30.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Crypt Openssl RSA cpan module"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz "
-
-SRC_URI[md5sum] = "10bca2fc6d0ba1aa329f227424ae87d5"
-SRC_URI[sha256sum] = "23e13531397af102db4fd24bcf70137add7c85c23cca697c43aa71c2959a29ac"
-
-DEPENDS += "libcrypt-openssl-guess-native openssl"
-
-RDEPENDS_${PN}="libcrypt-openssl-random-perl"
-
-EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
-
-S = "${WORKDIR}/Crypt-OpenSSL-RSA-${PV}"
-
-inherit cpan
-
-do_compile() {
- export OTHERLDFLAGS='-Wl,-rpath'
- cpan_do_compile
-}
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb
new file mode 100644
index 000000000..68d921c3c
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.31.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Crypt Openssl RSA cpan module"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz "
+
+SRC_URI[md5sum] = "d33681e19d2094df7c26bc7a4509265e"
+SRC_URI[sha256sum] = "4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436"
+
+DEPENDS += "libcrypt-openssl-guess-perl-native openssl"
+
+RDEPENDS_${PN} = " \
+ libcrypt-openssl-random-perl \
+ perl-module-autoloader \
+ perl-module-carp \
+ perl-module-strict \
+ perl-module-warnings \
+ perl-module-xsloader \
+"
+
+EXTRA_CPANFLAGS = "INC='-I${STAGING_INCDIR}' LIBS='-L${STAGING_LIBDIR} -lssl -L${STAGING_DIR_TARGET}${base_libdir} -lcrypto'"
+
+S = "${WORKDIR}/Crypt-OpenSSL-RSA-${PV}"
+
+inherit cpan ptest-perl
+
+do_compile() {
+ export OTHERLDFLAGS='-Wl,-rpath'
+ cpan_do_compile
+}
+
+RDEPENDS_${PN}-ptest = " \
+ ${PN} \
+ perl-module-file-copy \
+ perl-module-test \
+ perl-module-test-more \
+"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb
index e93d388e9..7e1418d49 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.008.bb
@@ -13,10 +13,11 @@ SRC_URI[sha256sum] = "ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e6
S = "${WORKDIR}/ExtUtils-Config-${PV}"
-inherit cpan
+inherit cpan ptest-perl
RDEPENDS_${PN} = " perl-module-extutils-makemaker \
perl-module-data-dumper \
+ perl-module-ipc-open3 \
perl-module-test-more \
perl-module-file-temp \
"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb
index 6eb434a95..2da5e3b4f 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.011.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.012.bb
@@ -9,17 +9,26 @@ LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b6fa54d873ce6bcf4809ea88bdf97769"
SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz"
-SRC_URI[md5sum] = "9c75894c3c8c899ab6bfafc5eaa97999"
-SRC_URI[sha256sum] = "7609fa048cdcf1451cad5b1d7d494f30e3d5bad0672d15404f1ea60e1df0067c"
+SRC_URI[md5sum] = "9a8d66aab1ffec98ea260faf03ac612b"
+SRC_URI[sha256sum] = "84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed"
S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}"
-inherit cpan
+inherit cpan ptest-perl
-RDEPENDS_${PN} = " perl-module-extutils-makemaker \
- perl-module-data-dumper \
- perl-module-test-more \
- perl-module-file-temp \
+RDEPENDS_${PN} = " \
+ libextutils-config-perl \
+ perl-module-bytes \
+ perl-module-data-dumper \
+ perl-module-extutils-makemaker \
+ perl-module-file-temp \
+ perl-module-test-more \
+"
+
+RDEPENDS_${PN}-ptest = " \
+ ${PN} \
+ perl-module-file-spec-functions \
+ perl-module-test-more \
"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
index e202de05a..a4c69c97b 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.72.bb
@@ -16,10 +16,30 @@ S = "${WORKDIR}/HTML-Parser-${PV}"
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-inherit cpan
+inherit cpan ptest-perl
do_compile() {
export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
cpan_do_compile
}
+
+RDEPENDS_${PN} += "\
+ perl-module-exporter \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-xsloader \
+ libhtml-tagset-perl \
+"
+
+RDEPENDS_${PN}-ptest += "\
+ liburi-perl \
+ perl-module-config \
+ perl-module-file-spec \
+ perl-module-filehandle \
+ perl-module-io-file \
+ perl-module-selectsaver \
+ perl-module-test \
+ perl-module-test-more \
+"
+
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb
new file mode 100644
index 000000000..d6483cc5f
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libhtml/libhtml-tagset-perl_3.20.bb
@@ -0,0 +1,29 @@
+SUMMARY = "HTML::Tageset - data tables useful in parsing HTML"
+DESCRIPTION = "This module contains several data tables useful in various \
+kinds of HTML parsing operations."
+HOMEPAGE = "https://metacpan.org/release/HTML-Tagset"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://README;beginline=62;endline=66;md5=aa91eed6adfe182d2af676954f06a7c9"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PETDANCE/HTML-Tagset-${PV}.tar.gz"
+SRC_URI[md5sum] = "d2bfa18fe1904df7f683e96611e87437"
+SRC_URI[sha256sum] = "adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2"
+
+S = "${WORKDIR}/HTML-Tagset-${PV}"
+
+
+inherit cpan ptest-perl
+
+
+RDEPENDS_${PN} += "perl-module-strict perl-module-vars"
+
+RDEPENDS_${PN}-ptest += "perl-module-test"
+
+do_install_prepend() {
+ # requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod.t
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb
deleted file mode 100644
index d523a7a0c..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-perl_0.4224.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Module::Build - Build and install Perl modules"
-DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
-Makefile.PL file to drive distribution configuration, build, test and \
-installation. Traditionally, Build.PL uses Module::Build as the underlying \
-build system. This module provides a simple, lightweight, drop-in replacement. \
-Whereas Module::Build has over 6,700 lines of code; this module has less than \
-120, yet supports the features needed by most distributions."
-
-SECTION = "libs"
-
-HOMEPAGE = "https://metacpan.org/release/Module-Build"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=960;endline=965;md5=624c06db56a2af4d70cf9edc29fcae1b"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz"
-SRC_URI[md5sum] = "b74c2f6e84b60aad3a3defd30b6f0f4d"
-SRC_URI[sha256sum] = "a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782"
-
-S = "${WORKDIR}/Module-Build-${PV}"
-
-inherit cpan_build
-
-# From:
-# https://github.com/rehsack/meta-cpan/blob/master/recipes-devel/module-build-perl/module-build-perl_0.4216.bb
-#
-do_patch_module_build () {
- cd ${S}
- sed -i -e 's,my $interpreter = $self->{properties}{perl};,my $interpreter = "${bindir}/perl";,g' lib/Module/Build/Base.pm
-}
-
-do_patch[postfuncs] += "do_patch_module_build"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb b/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb
index a6808d3f8..d1a5b4787 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000003.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libstrictures/libstrictures-perl_2.000006.bb
@@ -29,17 +29,20 @@ LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://README;beginline=246;endline=262;md5=43be558cf4f19823cdd6af22135cf5f8"
SRC_URI = "${CPAN_MIRROR}/authors/id/H/HA/HAARG/strictures-${PV}.tar.gz"
-SRC_URI[md5sum] = "78244cfab6168dcf196370d1e2309536"
-SRC_URI[sha256sum] = "27f8ea096a521e9754d36ea32889c2cda28346d04e3e399e7ea118d182dbaf22"
+SRC_URI[md5sum] = "35c14fd25320f32ff40e977feae95d0d"
+SRC_URI[sha256sum] = "09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57"
S = "${WORKDIR}/strictures-${PV}"
-inherit cpan
+inherit cpan ptest-perl
-RDEPENDS_${PN} = " perl-module-carp \
- perl-module-strict \
- perl-module-test-more \
- perl-module-warnings \
+RDEPENDS_${PN} += " \
+ perl-module-carp \
+ perl-module-strict \
+ perl-module-test-more \
+ perl-module-warnings \
"
+RDEPENDS_${PN}-ptest += "perl-module-perlio perl-module-perlio-scalar"
+
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb b/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb
index 6b76682c6..cc1ac6ed5 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.37.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libterm/libterm-readkey-perl_2.38.bb
@@ -3,8 +3,8 @@ DESCRIPTION = "Term::ReadKey is a compiled perl module dedicated to providing si
control over terminal driver modes (cbreak, raw, cooked, etc.,) support \
for non-blocking reads, if the architecture allows, and some generalized \
handy functions for working with terminals. One of the main goals is to \
-have the functions as portable as possible, so you can just plug in "use \
-Term::ReadKey" on any architecture and have a good likelihood of it \
+have the functions as portable as possible, so you can just plug in 'use \
+Term::ReadKey' on any architecture and have a good likelihood of it \
working."
HOMEPAGE = "http://search.cpan.org/~jstowe/TermReadKey-${PV}"
SECTION = "libraries"
@@ -14,16 +14,23 @@ LIC_FILES_CHKSUM = "file://README;md5=c275db663c8489a5709ebb22b185add5"
SRC_URI = "${CPAN_MIRROR}/authors/id/J/JS/JSTOWE/TermReadKey-${PV}.tar.gz"
-SRC_URI[md5sum] = "e8ea15c16333ac4f8d146d702e83cc0c"
-SRC_URI[sha256sum] = "4a9383cf2e0e0194668fe2bd546e894ffad41d556b41d2f2f577c8db682db241"
+SRC_URI[md5sum] = "b2b4aab7a0e6bddb7ac3b21ba637482c"
+SRC_URI[sha256sum] = "5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290"
S = "${WORKDIR}/TermReadKey-${PV}"
+UPSTREAM_CHECK_URI = "https://metacpan.org/release/TermReadKey"
+UPSTREAM_CHECK_REGEX = "TermReadKey\-(?P<pver>(\d+\.\d+))(?!_\d+)\.tar.gz"
+
# It needs depend on native to let dynamic loader use native modules
# rather than target ones.
DEPENDS = "libterm-readkey-perl-native"
-inherit cpan
+inherit cpan ptest-perl
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-test-more \
+"
do_configure_append () {
# Hack the dynamic module loader so that it use native modules since it can't load
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb
new file mode 100644
index 000000000..44a915c5b
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-deep-perl_1.128.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Test::Deep - Extremely flexible deep comparison"
+DESCRIPTION = "If you don't know anything about automated testing in Perl \
+then you should probably read about Test::Simple and Test::More before \
+preceding. Test::Deep uses the Test::Builder framework. \
+\
+Test::Deep gives you very flexible ways to check that the result you got is \
+the result you were expecting. At its simplest it compares two structures \
+by going through each level, ensuring that the values match, that arrays and \
+hashes have the same elements and that references are blessed into the \
+correct class. It also handles circular data structures without getting \
+caught in an infinite loop. \
+\
+Where it becomes more interesting is in allowing you to do something besides \
+simple exact comparisons. With strings, the \'eq\' operator checks that 2 \
+strings are exactly equal but sometimes that's not what you want. When you \
+don't know exactly what the string should be but you do know some things \
+about how it should look, \'eq\' is no good and you must use pattern matching \
+instead. Test::Deep provides pattern matching for complex data structures \
+distribution."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://github.com/rjbs/Test-Deep/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://lib/Test/Deep.pm;beginline=1817;endline=1826;md5=aebc793c87a3d8771fe98d5d369898e7"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/R/RJ/RJBS/Test-Deep-${PV}.tar.gz"
+SRC_URI[md5sum] = "9bc47147ea720fc01bc6b214afb884ff"
+SRC_URI[sha256sum] = "852d7e836fba8269b0b755082051a24a1a309d015a8b76838790af9e3760092f"
+
+UPSTREAM_CHECK_REGEX = "Test\-Deep\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Test-Deep-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += " \
+ perl-module-dynaloader \
+ perl-module-exporter \
+ perl-module-fcntl \
+ perl-module-list-util \
+ perl-module-scalar-util \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-if \
+ perl-module-lib \
+ perl-module-test-more \
+ perl-module-test-tester \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
index 9753520ae..6fabf2684 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0134.bb
@@ -35,7 +35,7 @@ SRC_URI[libxml.sha256sum] = "f0bca4d0c2da35d879fee4cd13f352014186cedab27ab5e191f
S = "${WORKDIR}/XML-LibXML-${PV}"
-inherit cpan
+inherit cpan ptest-perl
EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}"
@@ -45,3 +45,27 @@ CFLAGS += " -D_GNU_SOURCE "
BUILD_CFLAGS += " -D_GNU_SOURCE "
FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/"
+
+RDEPENDS_${PN}-ptest += " \
+ liburi-perl \
+ perl-module-encode-byte \
+ perl-module-encode-unicode \
+ perl-module-locale \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+"
+
+do_install_prepend() {
+ # test requires "-T" (taint) command line option
+ rm -rf ${B}/t/pod.t
+ # this only applies to author build
+ rm -rf ${B}/t/pod-files-presence.t
+}
+
+do_install_ptest() {
+ cp -r ${B}/t/data ${D}${PTEST_PATH}/t/
+ cp -r ${B}/t/lib ${D}${PTEST_PATH}/t/
+ cp -r ${B}/example ${D}${PTEST_PATH}
+ cp -r ${B}/test ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
index 14b5a9f57..427467294 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -1,10 +1,10 @@
DESCRIPTION = "A collection of tools for internationalizing Python applications"
HOMEPAGE = "http://babel.edgewall.org/"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eebdc057dc12abcc2d6c4453628bfcd4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=942469df9305abb1c59e95f778310384"
-SRC_URI[md5sum] = "c384ac03026e8fe6f9b90f55201f1bff"
-SRC_URI[sha256sum] = "8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
+SRC_URI[md5sum] = "83c158b7dae9135750a7cf204e6e2eea"
+SRC_URI[sha256sum] = "e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28"
PYPI_PACKAGE = "Babel"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb
index f7c166eba..f7c166eba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
index 52ae3186d..9c793808f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=27f7518eb6f7dc686d0f953b2f28dae5"
inherit pypi
-SRC_URI[md5sum] = "a7b1c5eb5390d50067c62d7bcb4e875c"
-SRC_URI[sha256sum] = "9efcc9fab3b49ab833475702b55edd5ae07af1af7a4c627678980b45e459c460"
+SRC_URI[md5sum] = "91aa9b611b6345154df84e8e37746f41"
+SRC_URI[sha256sum] = "8ea2d3ce97850f31e4a08b0e2b5e6c34997d7216a9d2c98e0f3978630d4da69a"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb
index 8c12ad042..8c12ad042 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
index 9d99b3475..23e18563a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
@@ -7,7 +7,7 @@ HOMEPAGE = " http://certifi.io/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
-SRC_URI[md5sum] = "76381d19d0a1171fecb2d1002b81424e"
-SRC_URI[sha256sum] = "b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae"
+SRC_URI[md5sum] = "af8fea5f3df6f7f81e9c6cbc6dd7c1e8"
+SRC_URI[sha256sum] = "945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb
index adfe6238e..adfe6238e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.3.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index 0d9638845..887d2d3d3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -8,8 +8,8 @@ DEPENDS += " \
${PYTHON_PN}-cryptography \
"
-SRC_URI[md5sum] = "f8b166652e7a9d668b851b28e4417057"
-SRC_URI[sha256sum] = "03f38115dccb266dd96538f94067442a877932c2322661bdc5bf2502c76658af"
+SRC_URI[md5sum] = "1a518a28ed9c924ca6c570aa8ea0c334"
+SRC_URI[sha256sum] = "f12dfb9bd669a68004074cb5b26df6e93ed1a95ebd1a999dff0a840212ff68bc"
PYPI_PACKAGE = "cryptography_vectors"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb
index 4975278a9..4975278a9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
index 6c43e863d..876fcc273 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -12,8 +12,8 @@ DEPENDS += " \
${PYTHON_PN}-six \
"
-SRC_URI[md5sum] = "401cc8268f89496643da3f7a48eb4e8e"
-SRC_URI[sha256sum] = "26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6"
+SRC_URI[md5sum] = "7dfe1035cae43569e571318f000462a4"
+SRC_URI[sha256sum] = "e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6"
RDEPENDS_${PN} += " \
${PYTHON_PN}-cffi \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb
index 9c2f88418..9c2f88418 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
index 8ccbe0a87..10cfef58b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
PYPI_PACKAGE = "Cython"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI[md5sum] = "24f6a7e0e6691fbecf5880f38cdf880e"
-SRC_URI[sha256sum] = "55d081162191b7c11c7bfcb7c68e913827dfd5de6ecdbab1b99dab190586c1e8"
+SRC_URI[md5sum] = "08939b99869f59007387aea0d1a86341"
+SRC_URI[sha256sum] = "26229570d6787ff3caa932fe9d802960f51a89239b990d275ae845405ce43857"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb
index d803a6ed4..d803a6ed4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 63532c756..dd73a412b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -18,8 +18,8 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \
DEPENDS += "libxml2 libxslt"
-SRC_URI[md5sum] = "d35e90d9de17e1370fbb7e6059bd95ed"
-SRC_URI[sha256sum] = "4a03dd682f8e35a10234904e0b9508d705ff98cf962c5851ed052e9340df3d90"
+SRC_URI[md5sum] = "aec44da0457dca385261e5ceb3fe36f9"
+SRC_URI[sha256sum] = "3ce1c49d4b4a7bc75fb12acb3a6247bb7a91fe420542e6d671ba9187d12a12c2"
DISTUTILS_BUILD_ARGS += " \
--with-xslt-config='pkg-config libxslt' \
@@ -33,6 +33,18 @@ DISTUTILS_INSTALL_ARGS += " \
inherit pypi
+# {standard input}: Assembler messages:
+# {standard input}:1488805: Error: branch out of range
+DEBUG_OPTIMIZATION_remove_mips = " -Og"
+DEBUG_OPTIMIZATION_append_mips = " -O"
+BUILD_OPTIMIZATION_remove_mips = " -Og"
+BUILD_OPTIMIZATION_append_mips = " -O"
+
+DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
+DEBUG_OPTIMIZATION_append_mipsel = " -O"
+BUILD_OPTIMIZATION_remove_mipsel = " -Og"
+BUILD_OPTIMIZATION_append_mipsel = " -O"
+
do_configure_prepend() {
sed -i -e 's/--version/--modversion/' ${B}/setupinfo.py
}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb
index 81ccb12d8..81ccb12d8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
index d86ad33cd..dc27ada74 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
@@ -2,14 +2,14 @@ SUMMARY = "A super-fast templating language that borrows the best ideas from the
HOMEPAGE = "http://www.makotemplates.org/"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9"
PYPI_PACKAGE = "Mako"
inherit pypi
-SRC_URI[md5sum] = "a94d376078dda65f834ea5049a81ebb5"
-SRC_URI[sha256sum] = "7165919e78e1feb68b4dbe829871ea9941398178fa58e6beedb9ba14acf63965"
+SRC_URI[md5sum] = "4a7aef27217a8e6c1a29447c9b1b00ab"
+SRC_URI[sha256sum] = "0cfa65de3a835e87eeca6ac856b3013aade55f49e32515f65d999f91a2324162"
RDEPENDS_${PN} = " \
${PYTHON_PN}-html \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb
index 3372eeb28..3372eeb28 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
index 5621dba94..51e663b51 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
@@ -1,10 +1,10 @@
DESCRIPTION = "A python module for handling realtime sensor data from OBD-II vehicle ports"
HOMEPAGE = "https://github.com/brendan-w/python-OBD"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README.rst;md5=2988a5e913eb105fa08011135c4157d4"
+LIC_FILES_CHKSUM = "file://README.md;md5=58ba896fa086c96ad23317cebfeab277"
-SRC_URI[md5sum] = "93e04f825e13b7ebc97d06b6a6407807"
-SRC_URI[sha256sum] = "4b1bac95df2faac571ebf444778e4d736d050d8ed7049023c0fc929a520eba6d"
+SRC_URI[md5sum] = "305efcb6c650db7b9583532355ebeb7c"
+SRC_URI[sha256sum] = "8b81ea5896157b6e861af12e173c10b001cb6cca6ebb04db2c01d326812ad77b"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb
index a42388797..ccc75de8d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb
@@ -2,8 +2,8 @@ inherit setuptools
# The inc file is in oe-core
require recipes-devtools/python/python-pbr.inc
-SRC_URI[md5sum] = "2bca008fd08d035a2f78c606d876a6db"
-SRC_URI[sha256sum] = "d950c64aeea5456bbd147468382a5bb77fe692c13c9f00f0219814ce5b642755"
+SRC_URI[md5sum] = "f72c2dd10602abad3695097d634e94bb"
+SRC_URI[sha256sum] = "93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6"
do_install_append() {
if [ -f ${D}${bindir}/pbr ]; then
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
index 54eacc0b7..2929700a0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec
inherit pypi
-SRC_URI[md5sum] = "e2daef80e70249aa1f05363670c6b3f8"
-SRC_URI[sha256sum] = "1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811"
+SRC_URI[md5sum] = "b7095f3eb736459716d606677b5a29ee"
+SRC_URI[sha256sum] = "8c61cc8a76e9d381c665aecc5105fa0f1878cf7db8b5cd17202603bcb386d0fc"
# http://errors.yoctoproject.org/Errors/Details/184715/
# Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb
index f04fc489f..f04fc489f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
index acf4ddd6e..e466c5cd4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -1,9 +1,9 @@
SUMMARY = "A cross-platform process and system utilities module for Python"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b"
-SRC_URI[md5sum] = "571962acd249bcfbae317884af47c402"
-SRC_URI[sha256sum] = "828e1c3ca6756c54ac00f1427fdac8b12e21b8a068c3bb9b631a1734cada25ed"
+SRC_URI[md5sum] = "1bbc1788588cc3c2c461cd98a830ba72"
+SRC_URI[sha256sum] = "863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3"
PACKAGES =+ "${PN}-tests"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb
index 9aabfb206..9aabfb206 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.6.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb
index 0b38d58e4..9ff4df2c9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb
@@ -6,14 +6,15 @@ DESCRIPTION = "SNMP v1/v2c/v3 engine and apps written in pure-Python. \
HOMEPAGE = "https://pypi.python.org/pypi/pysnmp"
SECTION = "devel/python"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=280606d9c18f200e03e0c247ac61475a"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b15d29f500f748d1c2a15709769090a8"
SRCNAME = "pysnmp"
SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "387aaa23c168ccc0b59775cfdf519fc0"
-SRC_URI[sha256sum] = "38253fe95cea33f352fb36e85f3c2874043401724300c4888df74835161169d2"
+SRC_URI[md5sum] = "6d1b514997326bed18f1ae1510f6b1c9"
+SRC_URI[sha256sum] = "d5d1e59780126e963dd92e25993b783295734e71bef181f602e51f7393260441"
+
S = "${WORKDIR}/${SRCNAME}-${PV}"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
index 53504d0b3..5fe5dc21f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a8d5a1d1c2d53025e2282c511033f6f7"
FILESEXTRAPATHS_prepend := "${THISDIR}/python-requests:"
-SRC_URI[md5sum] = "1bcd0e0977c3f8db1848ba0e2b7ab904"
-SRC_URI[sha256sum] = "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"
+SRC_URI[md5sum] = "ee28bee2de76e9198fc41e48f3a7dd47"
+SRC_URI[sha256sum] = "11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb
index 0d7a29f74..0d7a29f74 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.21.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.22.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
index ddef414a1..005aaadef 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -7,8 +7,8 @@ HOMEPAGE = "http://www.twistedmatrix.com"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d136e8cf7b52f2e64079186ae2060d8a"
-SRC_URI[sha256sum] = "1708e1928ae84ec9d3ebab0d427e20e1e38ff721b15bbced476d047d4a43abbe"
-SRC_URI[md5sum] = "473e12f4226e0fecc0ca5698e418e3f6"
+SRC_URI[sha256sum] = "fa2c04c2d68a9be7fc3975ba4947f653a57a656776f24be58ff0fe4b9aaf3e52"
+SRC_URI[md5sum] = "528b7856938edc2a752c244aebd94981"
PYPI_PACKAGE = "Twisted"
PYPI_PACKAGE_EXT = "tar.bz2"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb
index 5903db3e0..5903db3e0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
index 2ce6d1050..e8cb1ae6e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/shazow/urllib3"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=65715c2eb961313d71b297dd5a04f85e"
-SRC_URI[md5sum] = "1ebfbbec8bee21dbb686c009b37f4963"
-SRC_URI[sha256sum] = "a53063d8b9210a7bdec15e7b272776b9d42b2fd6816401a0d43006ad2f9902db"
+SRC_URI[md5sum] = "f09e95a5c42a7cc7ff7cb6a14c55fb69"
+SRC_URI[sha256sum] = "dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232"
RDEPENDS_${PN} += "\
${PYTHON_PN}-certifi \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb
index 6c81f1db9..6c81f1db9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
index 4de09d2fd..ed49811fe 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
@@ -4,8 +4,8 @@ LICENSE = "BSD"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fdfc019b57affbe1d7a32e3d34e83db4"
-SRC_URI[md5sum] = "9f21acd7c0a57bf3057715c4665db3c7"
-SRC_URI[sha256sum] = "4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533"
+SRC_URI[md5sum] = "cc15c001b129f81eb2f79b15eb99ffe5"
+SRC_URI[sha256sum] = "565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb
index bb4247657..bb4247657 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.11.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb
index 0715d59f4..0715d59f4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb
index 76b2f6785..76b2f6785 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb
index 70f674b22..70f674b22 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.3.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb
index 58994ffff..58994ffff 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb
index 195923343..195923343 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb
index 2ce6bdbd6..2ce6bdbd6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb
index b95d7bae7..b95d7bae7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb
index 578e38d3a..578e38d3a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch
deleted file mode 100644
index da5e73b15..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 539bc017a62f91bdf7c547b58948cb5a2f59d918 Mon Sep 17 00:00:00 2001
-From: Ben Webb <ben@salilab.org>
-Date: Thu, 12 Jul 2018 10:58:10 -0700
-Subject: [PATCH] Add Python 3.7 compatibility (#4862)
-
-Compilation of Python wrappers fails with Python 3.7 because
-the Python folks changed their C API such that
-PyUnicode_AsUTF8AndSize() now returns a const char* rather
-than a char*. Add a patch to work around. Relates #4086.
-
-Upstream-Status: Backport [https://github.com/protocolbuffers/protobuf.git]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- google/protobuf/pyext/descriptor.cc | 2 +-
- google/protobuf/pyext/descriptor_containers.cc | 2 +-
- google/protobuf/pyext/descriptor_pool.cc | 2 +-
- google/protobuf/pyext/extension_dict.cc | 2 +-
- google/protobuf/pyext/message.cc | 4 ++--
- 5 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
-index 8af0cb1..19a1c38 100644
---- a/google/protobuf/pyext/descriptor.cc
-+++ b/google/protobuf/pyext/descriptor.cc
-@@ -56,7 +56,7 @@
- #endif
- #define PyString_AsStringAndSize(ob, charpp, sizep) \
- (PyUnicode_Check(ob)? \
-- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
-+ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
- PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- #endif
-
-diff --git a/google/protobuf/pyext/descriptor_containers.cc b/google/protobuf/pyext/descriptor_containers.cc
-index bc007f7..0153664 100644
---- a/google/protobuf/pyext/descriptor_containers.cc
-+++ b/google/protobuf/pyext/descriptor_containers.cc
-@@ -66,7 +66,7 @@
- #endif
- #define PyString_AsStringAndSize(ob, charpp, sizep) \
- (PyUnicode_Check(ob)? \
-- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
-+ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
- PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- #endif
-
-diff --git a/google/protobuf/pyext/descriptor_pool.cc b/google/protobuf/pyext/descriptor_pool.cc
-index 95882ae..962accc 100644
---- a/google/protobuf/pyext/descriptor_pool.cc
-+++ b/google/protobuf/pyext/descriptor_pool.cc
-@@ -48,7 +48,7 @@
- #endif
- #define PyString_AsStringAndSize(ob, charpp, sizep) \
- (PyUnicode_Check(ob)? \
-- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
-+ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
- PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- #endif
-
-diff --git a/google/protobuf/pyext/extension_dict.cc b/google/protobuf/pyext/extension_dict.cc
-index 018b5c2..174c547 100644
---- a/google/protobuf/pyext/extension_dict.cc
-+++ b/google/protobuf/pyext/extension_dict.cc
-@@ -53,7 +53,7 @@
- #endif
- #define PyString_AsStringAndSize(ob, charpp, sizep) \
- (PyUnicode_Check(ob)? \
-- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
-+ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
- PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- #endif
-
-diff --git a/google/protobuf/pyext/message.cc b/google/protobuf/pyext/message.cc
-index 5893533..31094b7 100644
---- a/google/protobuf/pyext/message.cc
-+++ b/google/protobuf/pyext/message.cc
-@@ -79,7 +79,7 @@
- (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob))
- #define PyString_AsStringAndSize(ob, charpp, sizep) \
- (PyUnicode_Check(ob)? \
-- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
-+ ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
- PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
- #endif
- #endif
-@@ -1529,7 +1529,7 @@ PyObject* HasField(CMessage* self, PyObject* arg) {
- return NULL;
- }
- #else
-- field_name = PyUnicode_AsUTF8AndSize(arg, &size);
-+ field_name = const_cast<char*>(PyUnicode_AsUTF8AndSize(arg, &size));
- if (!field_name) {
- return NULL;
- }
---
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb
index 9b0668a02..30ea34e90 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb
@@ -1,7 +1,6 @@
inherit setuptools3
require python-protobuf.inc
-SRC_URI += "file://0001-Add-Python-3.7-compatibility-4862.patch"
DEPENDS += "protobuf"
DISTUTILS_BUILD_ARGS += "--cpp_implementation"
DISTUTILS_INSTALL_ARGS += "--cpp_implementation"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb
index c1969ea65..c1969ea65 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.6.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb
index 0a2410f85..0a2410f85 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.21.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.22.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb
index dfb9d4a4c..dfb9d4a4c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb
index 19eb7025b..19eb7025b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb
index 85f446ef9..85f446ef9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.11.2.bb
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
index 741074907..a699f1c7e 100644
--- a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
@@ -1,5 +1,5 @@
require python-pywbem.inc
-inherit setuptools
+inherit setuptools update-alternatives
DEPENDS += " \
${PYTHON_PN}-m2crypto-native \
@@ -11,3 +11,10 @@ RDEPENDS_${PN}_class-target += "\
${PYTHON_PN}-m2crypto \
${PYTHON_PN}-subprocess \
"
+
+ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli"
+ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler"
+ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli"
+ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli"
+
+ALTERNATIVE_PRIORITY = "30"
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
index 6a35a8744..abfb8d920 100644
--- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
@@ -1,2 +1,9 @@
require python-pywbem.inc
-inherit setuptools3
+inherit setuptools3 update-alternatives
+
+ALTERNATIVE_${PN} = "mof_compiler pywbemcli wbemcli"
+ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler"
+ALTERNATIVE_TARGET[pywbemcli] = "${bindir}/pywbemcli"
+ALTERNATIVE_TARGET[wbemcli] = "${bindir}/wbemcli"
+
+ALTERNATIVE_PRIORITY = "60"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb
index 4cdf36ca5..da96086e4 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb
@@ -181,7 +181,8 @@ PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
${sysconfdir}/${BPN}/magic \
- ${sysconfdir}/${BPN}/mime.types"
+ ${sysconfdir}/${BPN}/mime.types \
+ ${sysconfdir}/${BPN}/extra/*"
# We override here rather than append so that .so links are
# included in the runtime package rather than here (-dev)
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
index c6fc0495f..9a6ca9651 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/nginx.service
@@ -8,7 +8,7 @@ PIDFile=/run/nginx/nginx.pid
ExecStartPre=@SBINDIR@/nginx -t
ExecStart=@SBINDIR@/nginx
ExecReload=@SBINDIR@/nginx -s reload
-ExecStop=@BINDIR@/kill -s QUIT $MAINPID
+ExecStop=@BASE_BINDIR@/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index 29e7efc14..e202e8563 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -40,6 +40,7 @@ PACKAGECONFIG ??= "ssl"
PACKAGECONFIG[http2] = "--with-http_v2_module,,"
PACKAGECONFIG[ssl] = "--with-http_ssl_module,,openssl"
+PACKAGECONFIG[http-auth-request] = "--with-http_auth_request_module,,"
do_configure () {
if [ "${SITEINFO_BITS}" = "64" ]; then
@@ -134,7 +135,7 @@ do_install () {
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@LOCALSTATEDIR@,${localstatedir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@BINDIR@,${bindir},g' \
+ -e 's,@BASE_BINDIR@,${base_bindir},g' \
${D}${systemd_unitdir}/system/nginx.service
fi
}
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb
deleted file mode 100644
index d0613ffeb..000000000
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.14.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require nginx.inc
-
-# 1.14.x branch is the current stable branch, the recommended default
-# 1.15.x is the current mainline branches containing all new features
-DEFAULT_PREFERENCE = "-1"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
-
-SRC_URI[md5sum] = "239b829a13cea1d244c1044e830bd9c2"
-SRC_URI[sha256sum] = "002d9f6154e331886a2dd4e6065863c9c1cf8291ae97a1255308572c02be9797"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb
deleted file mode 100644
index 5e6dc33e9..000000000
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.15.7.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
-
-SRC_URI[md5sum] = "719b2e3d416f111fecc9db6625553658"
-SRC_URI[sha256sum] = "8f22ea2f6c0e0a221b6ddc02b6428a3ff708e2ad55f9361102b1c9f4142bdf93"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb
new file mode 100644
index 000000000..cad0db6fc
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb
@@ -0,0 +1,10 @@
+require nginx.inc
+
+# 1.16.x branch is the current stable branch, the recommended default
+# 1.17.x is the current mainline branches containing all new features
+DEFAULT_PREFERENCE = "-1"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075"
+
+SRC_URI[md5sum] = "97207283f30cd90cdba638c3ea30323a"
+SRC_URI[sha256sum] = "4fd376bad78797e7f18094a00f0f1088259326436b537eb5af69b01be2ca1345"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb
new file mode 100644
index 000000000..8774a87ff
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075"
+
+SRC_URI[md5sum] = "56767fd62302508295b31adc48b99a59"
+SRC_URI[sha256sum] = "e21b5d06cd53e86afb94f0b3678e0abb0c0f011433471fa3d895cefa65ae0fab"
diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb
index 99678e654..a2fbbefee 100644
--- a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.8.5.bb
+++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb
@@ -11,8 +11,8 @@ SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-la
file://apache.conf \
"
-SRC_URI[md5sum] = "e3737a28fff076003e56a83fe1920d04"
-SRC_URI[sha256sum] = "d7ab5df4e464d7ba17bf2a42da7d7f26dad45c34bf321ac8ae7d2ed748413913"
+SRC_URI[md5sum] = "45629bb2ffe0f3501a0d3b8f73d6371c"
+SRC_URI[sha256sum] = "e3de59f913c095433c8f6466f8826dfde09b097cfac78b665ddef9ddc03b0ed6"
UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb
index 7be62cb39..32d52a6f6 100644
--- a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.0RC2.bb
+++ b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_2.7.2.bb
@@ -6,8 +6,8 @@ DEPENDS = "php re2c-native"
SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-SRC_URI[md5sum] = "e8cabe003d6990b157d0d8caee374844"
-SRC_URI[sha256sum] = "5aa6d1772937e9f11b91ad8ced586aa0e16281dc178c405ac380d45d4731f8b0"
+SRC_URI[md5sum] = "5d1a8ca3101df93938d283933f256493"
+SRC_URI[sha256sum] = "b0f3283aa185c23fcd0137c3aaa58554d330995ef7a3421e983e8d018b05a4a6"
UPSTREAM_CHECK_REGEX = "xdebug-(?P<pver>\d+(\.\d+)+)\.tgz"
diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
deleted file mode 100644
index eec9dd7ce..000000000
--- a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-
-use automake options "foreign" to set the strictness as appropriate
-
-Signed-off-by: Yang Haibo <b40869@freescale.com>
---- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800
-+++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800
-@@ -4,8 +4,8 @@
- dnl generate the file "configure", which is run during the build
- dnl to configure the system for the local environment.
-
--AC_INIT
--AM_INIT_AUTOMAKE(fcgi, 2.4.1-SNAP-0910052249)
-+AC_INIT([fcgi], [2.4.1-SNAP-0910052249])
-+AM_INIT_AUTOMAKE([foreign])
-
- AM_CONFIG_HEADER(fcgi_config.h)
-
diff --git a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb
index a17e70f09..6df58ad3c 100644
--- a/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb
+++ b/meta-openembedded/meta-webserver/recipes-support/fcgi/fcgi_git.bb
@@ -3,12 +3,11 @@ HOMEPAGE = "http://www.fastcgi.com"
LICENSE = "OML"
LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a"
-SRCREV = "68100b5b8cb26f04b784778ed19ccef4fe389f57"
-PV = "2.4.1+git${SRCPV}"
+SRCREV = "382aa2b0d53a87c27f2f647dfaf670375ba0b85f"
+PV = "2.4.2"
SRC_URI = "git://github.com/FastCGI-Archives/fcgi2.git;protocol=https \
- file://add_foreign_to_AM_INIT_AUTOMAKE.patch \
-"
+ "
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch
new file mode 100644
index 000000000..f726064e2
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-cross-compile.patch
@@ -0,0 +1,60 @@
+It adds '-I$includedir' to CPPFLAGS and adds '-L$libdir' to LDFLAGS in
+configure.ac which causes 'configure-unsafe' QA error. Don't add them for cross
+compile to avoid the QA issues.
+
+Upstream-Status: Inappropriate [cross compile specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+diff --git a/configure.ac b/configure.ac
+index f0ec537..05c393d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -230,9 +230,9 @@ dnl ---------------------------------------------------------------------------
+ #
+ AC_DEFUN([AC_CHECK_X_HEADER], [
+ ac_save_CPPFLAGS="$CPPFLAGS"
+- if test \! -z "$includedir" ; then
+- CPPFLAGS="$CPPFLAGS -I$includedir"
+- fi
++# if test \! -z "$includedir" ; then
++# CPPFLAGS="$CPPFLAGS -I$includedir"
++# fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ AC_CHECK_HEADER([$1],[$2],[$3],[$4])
+ CPPFLAGS="$ac_save_CPPFLAGS"])
+@@ -241,9 +241,9 @@ AC_DEFUN([AC_CHECK_X_HEADER], [
+ #
+ AC_DEFUN([AC_TRY_X_COMPILE], [
+ ac_save_CPPFLAGS="$CPPFLAGS"
+- if test \! -z "$includedir" ; then
+- CPPFLAGS="$CPPFLAGS -I$includedir"
+- fi
++# if test \! -z "$includedir" ; then
++# CPPFLAGS="$CPPFLAGS -I$includedir"
++# fi
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ AC_TRY_COMPILE([$1], [$2], [$3], [$4])
+ CPPFLAGS="$ac_save_CPPFLAGS"])
+@@ -257,15 +257,15 @@ AC_DEFUN([AC_CHECK_X_LIB], [
+ ac_save_LDFLAGS="$LDFLAGS"
+ # ac_save_LIBS="$LIBS"
+
+- if test \! -z "$includedir" ; then
+- CPPFLAGS="$CPPFLAGS -I$includedir"
+- fi
++# if test \! -z "$includedir" ; then
++# CPPFLAGS="$CPPFLAGS -I$includedir"
++# fi
+ # note: $X_CFLAGS includes $x_includes
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+
+- if test \! -z "$libdir" ; then
+- LDFLAGS="$LDFLAGS -L$libdir"
+- fi
++# if test \! -z "$libdir" ; then
++# LDFLAGS="$LDFLAGS -L$libdir"
++# fi
+ # note: $X_LIBS includes $x_libraries
+ LDFLAGS="$LDFLAGS $ALL_X_LIBS"
+
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch
new file mode 100644
index 000000000..94cad23f8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver/fix-pam-config.patch
@@ -0,0 +1,14 @@
+'@include' is not a standard sysntax and not supported by oe.
+
+Upstream-Status: Submitted [https://bugzilla.xfce.org/show_bug.cgi?id=15626]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/data/xfce4-screensaver.common-auth b/data/xfce4-screensaver.common-auth
+index a9fd9ce..3bfea70 100644
+--- a/data/xfce4-screensaver.common-auth
++++ b/data/xfce4-screensaver.common-auth
+@@ -1,2 +1,2 @@
+-@include common-auth
++auth include common-auth
+ auth optional pam_gnome_keyring.so
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb
new file mode 100644
index 000000000..4a1aae764
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screensaver/xfce4-screensaver_0.1.5.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Xfce screensaver Application"
+DESCRIPTION = "Xfce screensaver is a screen saver and locker that aims to have simple, sane, secure defaults and be well integrated with the desktop."
+HOMEPAGE = "https://git.xfce.org/apps/xfce4-screensaver/about/"
+SECTION = "x11/application"
+
+LICENSE = "GPLv2+ & LGPLv2+ "
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
+ "
+
+DEPENDS = "dbus-glib garcon gtk+3 libxklavier libxscrnsaver virtual/libx11 xfconf"
+
+inherit xfce-app
+
+SRC_URI_append = " \
+ file://fix-cross-compile.patch \
+ file://fix-pam-config.patch \
+"
+SRC_URI[md5sum] = "982f9a355456320933ec08313523a567"
+SRC_URI[sha256sum] = "fdecf0fc432b59defba2dd706051696d47227ca0744c7971014021190126f2d5"
+
+do_install_append() {
+ install -D -m 0644 ${S}/data/xfce4-screensaver.common-auth ${D}${sysconfdir}/pam.d/xfce4-screensaver
+}
+
+FILES_${PN} += "${datadir}/dbus-1 ${datadir}/desktop-directories"
diff --git a/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend b/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
index c47522379..916f083b9 100644
--- a/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
+++ b/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
@@ -1 +1,2 @@
+# Just a comment line to avoid PAK archive (application/x-pak)
PACKAGECONFIG_append = " thunar"
diff --git a/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver
new file mode 100644
index 000000000..4be65c0c8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/sbin/lxdm -c USER_SWITCH
diff --git a/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend
new file mode 100644
index 000000000..4a799a98a
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend
@@ -0,0 +1,7 @@
+FILESEXTRAPATHS_append := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://gdmflexiserver"
+
+do_install_append () {
+ install -D -m 0755 ${WORKDIR}/gdmflexiserver ${D}${bindir}/gdmflexiserver
+}
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb
index df4b25c52..2bea5f0f6 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.4.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb
@@ -11,8 +11,8 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI += " \
file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
"
-SRC_URI[md5sum] = "b407cdab73ebd5c33c90db6bdb3ec5ff"
-SRC_URI[sha256sum] = "d63fcdb8e5acb6f0d26075ea17d320dbfbec2058567cd67cb99824c7402a1f79"
+SRC_URI[md5sum] = "692520f2a2cccaaafb0357c3dcbb015b"
+SRC_URI[sha256sum] = "3c38b065796a1cb2c2f2e9a28edaa6b37a3728c1c0b7a4297af9ecd82a8ab66d"
EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb
index 21cc1dbfc..89a385989 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.2.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb
@@ -6,5 +6,5 @@ DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
inherit xfce gtk-doc gobject-introspection
-SRC_URI[md5sum] = "e3e8b9dd7e12028d3e642345b85d6ef1"
-SRC_URI[sha256sum] = "c58275ff650080369e742695862c811cb78402c85f243ea0b5aec186027be361"
+SRC_URI[md5sum] = "f39185afe5f612bd2c9b3dfbaf50b4d2"
+SRC_URI[sha256sum] = "724b523a4a9ec8cada727950ab2173be30f256fa332a891ccd28b46f4b91b67e"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
index b412c2726..62b89fd47 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb
@@ -62,6 +62,7 @@ RRECOMMENDS_${PN} = " \
thunar-archive-plugin \
\
xfce4-appfinder \
+ xfce4-screensaver \
xfce4-screenshooter \
xfce4-power-manager \
ristretto \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb
index 712453a39..3139625ac 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb
@@ -8,8 +8,8 @@ inherit xfce distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[md5sum] = "4992a18f422918c33b562d6e66045754"
-SRC_URI[sha256sum] = "cd87291a427e8a561c566dca3aa7e93b56fdce4caefc755dde0f59198f6db359"
+SRC_URI[md5sum] = "af216d5b60820e7cd39aae1b5ad869a3"
+SRC_URI[sha256sum] = "b944b4299b73d2ca79184922dfea49782e4849f5960e209def71ac700a92ff27"
PACKAGECONFIG ??= ""
PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb
index 57667102c..4375ce065 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.4.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb
@@ -9,8 +9,8 @@ inherit xfce gobject-introspection distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
-SRC_URI[md5sum] = "6a5d0f4ddcc653c4791e555f0dc63828"
-SRC_URI[sha256sum] = "c2bf51da8ddec8f642d67818184ada2ca6e143151e6a45563991db73387a93b0"
+SRC_URI[md5sum] = "3cb40548d7c642176eab8b97a5ba6d29"
+SRC_URI[sha256sum] = "c0e5fb828e3d036941dfeb7ed7f9f2b17b729fc044c2bf7c4218c1c91b38ef2a"
S = "${WORKDIR}/Thunar-${PV}/"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb
index e9f6e28b4..309559646 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.2.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb
@@ -8,7 +8,7 @@ inherit xfce distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[md5sum] = "8b4c2ab413748fcd0cc51444418d5af3"
-SRC_URI[sha256sum] = "fd774acbcab08dbb88bcbf28eecf73ec9f55b13e1f2058021b63f703c4989d97"
+SRC_URI[md5sum] = "c2069a14c85c8a3e537b2d4c552d36d2"
+SRC_URI[sha256sum] = "d738082a5fb01e42ea6333803012fd80258061f444afbbbd7b05a0f620a32ba6"
FILES_${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb
index 18e054c9d..a4b200a7e 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.4.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb
@@ -8,8 +8,8 @@ inherit xfce gtk-doc gobject-introspection distro_features_check gtk-icon-cache
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[md5sum] = "c0f132fed2110d37f351aadc9e80a034"
-SRC_URI[sha256sum] = "36ffd26ef7f5867c01ba310475b4358ff0e588cfd5599a266f0037a6c20052a1"
+SRC_URI[md5sum] = "376e360fb87095edaea7df8ca34fe6a7"
+SRC_URI[sha256sum] = "0d05b6dd8c91c154a364a3e31583c5f423c33e26d44d43cc409165f7d578ca15"
SRC_URI += " \
file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb
index 1cdcb4160..0a44b1f5d 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb
@@ -12,8 +12,8 @@ REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS += "gtk+3 glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \
libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver"
-SRC_URI[md5sum] = "17f0e6464ad6b3bc6a657f595bf91430"
-SRC_URI[sha256sum] = "1ea825452343b895566068018b6d5078608f8f46ce8075ba6bbb4b848f48656b"
+SRC_URI[md5sum] = "2a49be4eca78fb519984db5aae38e4ab"
+SRC_URI[sha256sum] = "66ac34b33a2021b5af04c0181dfab6e6ee2bfab0ae07ed4527ca4552a66e1c01"
EXTRA_OECONF = " \
--enable-network-manager \
@@ -27,7 +27,7 @@ PACKAGES += "xfce4-powermanager-plugin"
FILES_${PN} += " \
${datadir}/polkit-1 \
- ${datadir}/appdata \
+ ${datadir}/metainfo \
"
FILES_xfce4-powermanager-plugin = " \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb
index 3b9525fff..dc44c4b0b 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb
@@ -2,8 +2,19 @@ SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
SECTION = "x11"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-DEPENDS = "virtual/libx11 libsm libxfce4util libxfce4ui gtk+ libwnck3 dbus dbus-glib xfconf polkit"
-RDEPENDS_${PN} = "netbase xinit dbus-x11 iceauth upower"
+
+DEPENDS = " \
+ dbus \
+ dbus-glib \
+ gtk+ \
+ libwnck3 \
+ libsm \
+ libxfce4ui \
+ libxfce4util \
+ polkit \
+ virtual/libx11 \
+ xfconf \
+"
inherit xfce update-alternatives distro_features_check
@@ -12,8 +23,8 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI += " \
file://0001-configure.in-hard-code-path-to-iceauth.patch \
"
-SRC_URI[md5sum] = "a47988a2c871a411c19e3af1eefe591e"
-SRC_URI[sha256sum] = "c789f0f8234e06f5266f0c6ccdbdcc3c085e8d9eea06a0eafe8f7cfc4fe23af4"
+SRC_URI[md5sum] = "1306b6166f47cdf6e0c61259abbb621f"
+SRC_URI[sha256sum] = "c0be0c7e602c962d0e8fca63bd86165e60313d07bfb72cf2c3f99ab53e2a22a1"
ALTERNATIVE_${PN} = "x-session-manager"
ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"
@@ -26,3 +37,12 @@ FILES_${PN} += " \
${datadir}/themes/Default/balou/* \
${datadir}/polkit-1 \
"
+
+RDEPENDS_${PN} = " \
+ dbus-x11 \
+ iceauth \
+ netbase \
+ upower \
+ xinit \
+ xrdb \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch
index 67df05a79..0463d2ebd 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0001-xsettings.xml-Set-default-themes.patch
@@ -9,6 +9,14 @@ Content-Transfer-Encoding: 8bit
Upstram status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+
+Theme Xfce doesn't work as expected. For example, no layout in start
+menu and applications' menu bar. And GtkColorButton is blank in config
+tab page from xfce4-terminal -> Edit -> Preference -> Colors.
+
+So use Adwaita as default theme instead.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
xfsettingsd/xsettings.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -23,7 +31,7 @@ index 65ba1ee..9efb3cd 100644
<property name="Net" type="empty">
- <property name="ThemeName" type="empty"/>
- <property name="IconThemeName" type="empty"/>
-+ <property name="ThemeName" type="string" value="Xfce"/>
++ <property name="ThemeName" type="string" value="Adwaita"/>
+ <property name="IconThemeName" type="string" value="Adwaita"/>
<property name="DoubleClickTime" type="int" value="400"/>
<property name="DoubleClickDistance" type="int" value="5"/>
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb
index ded3c44e5..9f08f74ed 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.6.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb
@@ -8,8 +8,8 @@ inherit xfce gtk-doc
EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
-SRC_URI[md5sum] = "da19df12dbc494c8a4da3974e376d639"
-SRC_URI[sha256sum] = "d1a3d442dae188b5a7380b5815377e5488578cdafb03ae363e9426e3b01185df"
+SRC_URI[md5sum] = "ea4c070c4ed8387e6435b56d0e871559"
+SRC_URI[sha256sum] = "5deb13fc48a4116f5ebdee5c21d0fd3deb85bec2f69602beb3c3adb4f85e5bde"
FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
${libdir}/gio/modules/libxfconfgsettingsbackend.so \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb
index 2c70a9c31..f02a6bffe 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.3.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb
@@ -8,8 +8,8 @@ inherit xfce distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[md5sum] = "f08944f1b69ce1c6e1fbb9d7f4cb1da7"
-SRC_URI[sha256sum] = "80f7f28ef17638fe1cf4481db694731c208785a56b6c840005202f9c2db238f5"
+SRC_URI[md5sum] = "d1174af12148141a07b62cc051c43c84"
+SRC_URI[sha256sum] = "f4f7fa5162512971c25066eb04ef78f0d075656da79b6f7425ffb619a5119ca0"
PACKAGECONFIG ??= ""
PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb
index 64ad9f64e..6075977f2 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb
@@ -8,8 +8,8 @@ inherit xfce update-alternatives distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[md5sum] = "1a78bcc2100c03f6fea0dbce0ca813cf"
-SRC_URI[sha256sum] = "75ebc20d313cff4905e76fc320254c30461dbfa985461b8e75dca04770cedf12"
+SRC_URI[md5sum] = "aee4a8375beeae09715e77479610ff02"
+SRC_URI[sha256sum] = "7be8a63e92077e42e6cc064a1dfdae608ab99fdc730adbd5200802dbdd86d5a9"
PACKAGECONFIG ?= " \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \
diff --git a/meta-openpower/classes/openpower-software-manager-ubi.bbclass b/meta-openpower/classes/openpower-software-manager-ubi.bbclass
index 5b60384f1..7ff62be57 100644
--- a/meta-openpower/classes/openpower-software-manager-ubi.bbclass
+++ b/meta-openpower/classes/openpower-software-manager-ubi.bbclass
@@ -1,12 +1,5 @@
-SRC_URI += "file://obmc-flash-bios"
-
PACKAGECONFIG_append = " ubifs_layout"
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/obmc-flash-bios ${D}${bindir}/obmc-flash-bios
-}
-
SYSTEMD_SERVICE_${PN} += " \
obmc-flash-bios-ubiattach.service \
obmc-flash-bios-ubimount@.service \
@@ -18,7 +11,6 @@ SYSTEMD_SERVICE_${PN} += " \
obmc-flash-bios-cleanup.service \
obmc-flash-bios-enable-clearvolatile@.service \
obmc-flash-bios-check-clearvolatile@.service \
- op-pnor-msl.service \
"
ENABLE_CLEAR_VOLATILE_TMPL = "obmc-flash-bios-enable-clearvolatile@.service"
diff --git a/meta-openpower/recipes-bsp/pdbg/pdbg_2.1.bb b/meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb
index b4f15f82d..cd2b8fe44 100644
--- a/meta-openpower/recipes-bsp/pdbg/pdbg_2.1.bb
+++ b/meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb
@@ -3,10 +3,10 @@ DESCRIPTION = "pdbg allows JTAG-like debugging of the host POWER processors"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
-PV = "2.1+git${SRCPV}"
+PV = "2.2+git${SRCPV}"
SRC_URI += "git://github.com/open-power/pdbg.git"
-SRCREV = "2463be165d7eaa50b648c343e410d851edfb70ce"
+SRCREV = "dbbb35af951e36cb1ff134bdf74a5346d316e782"
DEPENDS += "dtc-native"
diff --git a/meta-openpower/recipes-phosphor/bmcweb/bmcweb_%.bbappend b/meta-openpower/recipes-phosphor/bmcweb/bmcweb_%.bbappend
deleted file mode 100644
index 1035bf169..000000000
--- a/meta-openpower/recipes-phosphor/bmcweb/bmcweb_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_OECMAKE_append_df-openpower = " -DBMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES=ON"
diff --git a/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb b/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb
index bdc0c770a..23381bee9 100644
--- a/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb
+++ b/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb
@@ -13,9 +13,10 @@ inherit phosphor-dbus-yaml
DEPENDS += "autoconf-archive-native"
DEPENDS += "sdbus++-native"
+DEPENDS += "phosphor-dbus-interfaces"
SRC_URI += "git://github.com/openbmc/openpower-dbus-interfaces"
-SRCREV = "2f7e6758be4bfb4c02027b82e21b50861ffd90af"
+SRCREV = "84a750aeee62b90a5817f4eea39562d2f277cd63"
DEPENDS_remove_class-native = "sdbus++-native"
DEPENDS_remove_class-nativesdk = "sdbus++-native"
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios
deleted file mode 100644
index ff8818518..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios
+++ /dev/null
@@ -1,362 +0,0 @@
-#!/bin/sh
-
-# Get the mtd device number (mtdX)
-findmtd() {
- m="$(grep -xl "$1" /sys/class/mtd/*/name)"
- m="${m%/name}"
- m="${m##*/}"
- echo "${m}"
-}
-
-# Get the ubi device number (ubiX_Y)
-findubi() {
- u="$(grep -xl "$1" /sys/class/ubi/ubi?/subsystem/ubi*/name)"
- u="${u%/name}"
- u="${u##*/}"
- echo "${u}"
-}
-
-# Get the mount information
-is_mounted() {
- grep -q "$1" /proc/mounts
- return $?
-}
-
-# Attach the pnor mtd device to ubi.
-attach_ubi() {
- pnormtd="$(findmtd pnor)"
- pnor="${pnormtd#mtd}"
- pnordev="/dev/mtd${pnor}"
-
- if [ -d "/sys/class/ubi/ubi${pnor}" ]; then
- # Already attached
- return 0
- fi
-
- ubiattach /dev/ubi_ctrl -m "${pnor}" -d "${pnor}"
- rc=$?
- if [ ${rc} -ne 0 ]; then
- # Check the pnor mtd device is formatted as ubi by reading the first 3 byes,
- # which should be the ascii chars 'UBI'
- magic="$(hexdump -C -n 3 ${pnordev})"
- if [[ "${magic}" =~ "UBI" ]]; then
- # Device already formatted as ubi, ubiattach failed for some other reason
- return ${rc}
- else
- # Format device as ubi
- echo "Starting ubiformat ${pnordev}"
- ubiformat "${pnordev}" -y -q
- # Retry the ubiattach
- ubiattach /dev/ubi_ctrl -m "${pnor}" -d "${pnor}"
- fi
- fi
-}
-
-mount_squashfs() {
- pnormtd="$(findmtd pnor)"
- ubidev="/dev/ubi${pnormtd#mtd}"
- mountdir="/media/${name}"
- vol="$(findubi "${name}")"
- img="/tmp/images/${version}/pnor.xz.squashfs"
- filesize="$(ls -sh $img | awk -F " " {'print $1'})"
-
- if is_mounted "${name}"; then
- echo "${name} is already mounted."
- return 0
- fi
-
- if [ ! -z "${vol}" ]; then
- ubirmvol "${ubidev}" -N "${name}"
- fi
-
- if [ ! -d "${mountdir}" ]; then
- mkdir "${mountdir}"
- fi
-
- # Set size of read-only partition equal to pnor.xz.squashfs
- ubimkvol "${ubidev}" -N "${name}" -s "${filesize}"KiB --type=static
- vol="$(findubi "${name}")"
-
- if [ $? != 0 ]; then
- echo "Unable to create RO volume!"
- return 1
- fi
-
- ubidevid="${vol#ubi}"
- ubiupdatevol "/dev/ubi${ubidevid}" "${img}"
-
- if [ $? != 0 ]; then
- echo "Unable to update RO volume!"
- return 1
- fi
-
- ubiblock --create "/dev/ubi${ubidevid}"
-
- if [ $? != 0 ]; then
- echo "Unable to create UBI block for RO volume!"
- return 1
- fi
-
- mount -t squashfs -o ro "/dev/ubiblock${ubidevid}" "${mountdir}"
-
- if [ $? != 0 ]; then
- echo "Unable to mount RO volume!"
- return 1
- fi
-}
-
-mount_ubi() {
- pnormtd="$(findmtd pnor)"
- pnor="${pnormtd#mtd}"
- ubidev="/dev/ubi${pnor}"
- pnordev="/dev/mtd${pnor}"
-
- if [[ "${name}" == "pnor-patch" ]]; then
- if [[ "$(fw_printenv fieldmode 2>/dev/null)" == "fieldmode=true" ]]; then
- return 0
- fi
- if [[ ! "$(hexdump -C -n 3 ${pnordev})" =~ "UBI" ]]; then
- return 0
- fi
- mountdir="/usr/local/share/pnor"
- else
- mountdir="/media/${name}"
- fi
-
- if [[ "${name}" == "pnor-prsv" ]]; then
- size="2MiB"
- else
- size="16MiB"
- fi
-
- if [ ! -d "${mountdir}" ]; then
- mkdir -p "${mountdir}"
- fi
-
- vol="$(findubi "${name}")"
- if [ -z "${vol}" ]; then
- ubimkvol "${ubidev}" -N "${name}" -s "${size}"
- fi
-
- if ! is_mounted "${name}"; then
- mountdev="ubi${pnor}:${name}"
- mount -t ubifs "${mountdev}" "${mountdir}"
- fi
-}
-
-umount_ubi() {
- pnormtd="$(findmtd pnor)"
- pnor="${pnormtd#mtd}"
- ubidev="/dev/ubi${pnor}"
- mountdir="/media/${name}"
-
- if is_mounted "${name}"; then
- umount "${mountdir}"
- fi
-
- vol="$(findubi "${name}")"
- id="${vol##*_}"
- if [ -n "${id}" ]; then
- ubirmvol "${ubidev}" -n "${id}"
- fi
-
- if [ -d "${mountdir}" ]; then
- rm -r "${mountdir}"
- fi
-}
-
-remount_ubi() {
- pnormtd="$(findmtd pnor)"
- pnor="${pnormtd#mtd}"
- pnordev="/dev/mtd${pnor}"
-
- # Re-Attach the pnor mtd device to ubi
- if [[ $(hexdump -C -n 3 ${pnordev}) =~ "UBI" ]]; then
- ubiattach /dev/ubi_ctrl -m "${pnor}" -d "${pnor}"
- else
- # Device not formatted as ubi.
- return 0
- fi
-
- # Get information on all ubi volumes
- ubinfo=$(ubinfo -d ${pnor})
- presentVolumes=${ubinfo##*:}
- IFS=', ' read -r -a array <<< "$presentVolumes"
- for element in ${array[@]};
- do
- elementProperties=$(ubinfo -d $pnor -n $element)
- # Get ubi volume name by getting rid of additional properties
- name=${elementProperties#*Name:}
- name="${name%Character*}"
- name="$(echo -e "${name}" | tr -d '[:space:]')"
-
- if [[ ${name} == pnor-prsv ]] || [[ ${name} == pnor-rw* ]] || [[ ${name} == pnor-ro* ]]; then
- mountdir="/media/${name}"
- if [ ! -d "${mountdir}" ]; then
- mkdir -p "${mountdir}"
- fi
-
- if [[ ${name} == pnor-ro* ]]
- then
- ubiblock --create /dev/ubi${pnor}_${element}
- mount -t squashfs -o ro "/dev/ubiblock${pnor}_${element}" "${mountdir}"
- else
- mount -t ubifs "ubi${pnor}:${name}" "${mountdir}"
- fi
- fi
- done
-}
-
-update_symlinks() {
- PNOR_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/"
- PNOR_RO_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/ro"
- PNOR_RO_PREFIX="/media/pnor-ro-"
- PNOR_RW_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/rw"
- PNOR_RW_PREFIX="/media/pnor-rw-"
- PNOR_PRSV_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/prsv"
- PNOR_PRSV="/media/pnor-prsv"
- PERSISTENCE_PATH="/var/lib/obmc/openpower-pnor-code-mgmt/"
- PNOR_PATCH_LOCATION="/usr/local/share/pnor/"
-
- # Get a list of all active PNOR versions
- data="$(ls -d ${PNOR_RO_PREFIX}*)"
- IFS=$'\n' array=(${data})
-
- currentVersion=""
- lowestPriority=255
- for element in ${array[@]}; do
- #Remove the PNOR_RO_PREFIX from the path to get version ID.
- versionId="${element#${PNOR_RO_PREFIX}}"
-
- # Get the priority of active versions from persistence files.
- if [[ -f "${PERSISTENCE_PATH}${versionId}" ]]; then
- data="$(grep -r "priority" ${PERSISTENCE_PATH}${versionId})"
- priority="${data: -1}"
- if [[ priority -le lowestPriority ]]; then
- lowestPriority=${priority}
- currentVersion=${versionId}
- fi
- fi
- done
-
- # Return if no active version found
- if [ -z $currentVersion ]; then
- return 0;
- fi
-
- if [ ! -d "${PNOR_ACTIVE_PATH}" ]; then
- mkdir -p "${PNOR_ACTIVE_PATH}"
- fi
-
- # If the RW or RO active links doesn't point to the version with
- # lowest priority, then remove the symlink and create new ones.
- if [[ $(readlink -f "${PNOR_RO_ACTIVE_PATH}") != ${PNOR_RO_PREFIX}${currentVersion} ]]; then
- rm -f ${PNOR_RO_ACTIVE_PATH}
- rm -rf ${PNOR_PATCH_LOCATION}*
- ln -sfv ${PNOR_RO_PREFIX}${currentVersion} ${PNOR_RO_ACTIVE_PATH}
- fi
-
- if [[ $(readlink -f "${PNOR_RW_ACTIVE_PATH}") != ${PNOR_RW_PREFIX}${currentVersion} ]]; then
- rm -f ${PNOR_RW_ACTIVE_PATH}
- ln -sfv ${PNOR_RW_PREFIX}${currentVersion} ${PNOR_RW_ACTIVE_PATH}
- fi
-
- if [[ ! -h ${PNOR_PRSV_ACTIVE_PATH} ]]; then
- ln -sfv ${PNOR_PRSV} ${PNOR_PRSV_ACTIVE_PATH}
- fi
-}
-
-ubi_cleanup() {
- # When ubi_cleanup is run, it expects one or no active version.
- activeVersion=$(busctl --list --no-pager tree \
- org.open_power.Software.Host.Updater | \
- grep /xyz/openbmc_project/software/ | tail -c 9)
-
- if [[ -z "$activeVersion" ]]; then
- vols=$(ubinfo -a | grep -e "pnor-ro-" -e "pnor-rw-" | cut -c 14-)
- vols=(${vols})
- else
- vols=$(ubinfo -a | grep -e "pnor-ro-" -e "pnor-rw-" | \
- grep -v "$activeVersion" | cut -c 14-)
- vols=(${vols})
- fi
-
- for (( index=0; index<${#vols[@]}; index++ )); do
- name=${vols[index]}
- umount_ubi
- done
-}
-
-clear_volatile() {
- service=$(mapper get-service /org/open_power/control/volatile)
- clearVolatileEnabled=$(busctl get-property $service /org/open_power/control/volatile xyz.openbmc_project.Object.Enable Enabled)
- if [[ "$clearVolatileEnabled" != "b true" ]]; then
- return 0
- fi
-
- PNOR_TOC_FILE="pnor.toc"
- PNOR_RO_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/ro/"
- PNOR_RW_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/rw/"
- PNOR_PRSV_ACTIVE_PATH="/var/lib/phosphor-software-manager/pnor/prsv/"
-
- # toc partition string format:
- # partition27=HB_VOLATILE,0x02ba9000,0x02bae000,00,ECC,VOLATILE,READWRITE
- tocFilePath="${PNOR_RO_ACTIVE_PATH}${PNOR_TOC_FILE}"
- volatiles=($(grep VOLATILE "${tocFilePath}" | grep -Eo '^partition([0-9]+)=([A-Za-z0-9_]+)'))
- for (( index=0; index<${#volatiles[@]}; index++ )); do
- volatileName="$(echo ${volatiles[${index}]} | awk -F '=' '{print $2}')"
-
- rwVolatile="${PNOR_RW_ACTIVE_PATH}${volatileName}"
- if [ -f "${rwVolatile}" ]; then
- echo "Clear $rwVolatile"
- rm "${rwVolatile}"
- fi
- prsvVolatile="${PNOR_PRSV_ACTIVE_PATH}${volatileName}"
- if [ -f "${prsvVolatile}" ]; then
- echo "Clear $prsvVolatile"
- rm "${prsvVolatile}"
- fi
- done
- # Always reset the sensor after clearing
- busctl set-property $service /org/open_power/control/volatile xyz.openbmc_project.Object.Enable Enabled b false
-}
-
-case "$1" in
- ubiattach)
- attach_ubi
- ;;
- squashfsmount)
- name="$2"
- version="$3"
- mount_squashfs
- ;;
- ubimount)
- name="$2"
- mount_ubi
- ;;
- ubiumount)
- name="$2"
- umount_ubi
- ;;
- ubiremount)
- remount_ubi
- ;;
- updatesymlinks)
- update_symlinks
- ;;
- ubicleanup)
- ubi_cleanup
- ;;
- clearvolatile)
- clear_volatile
- ;;
- *)
- echo "Invalid argument"
- exit 1
- ;;
-esac
-rc=$?
-if [ ${rc} -ne 0 ]; then
- echo "$0: error ${rc}"
- exit ${rc}
-fi
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-check-clearvolatile@.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-check-clearvolatile@.service
deleted file mode 100644
index af66b4db9..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-check-clearvolatile@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Clear the Volatile PNOR partitions in host%i if Enabled
-After=obmc-flash-bios-enable-clearvolatile@%i.service
-Before=obmc-host-start-pre@%i.target
-ConditionPathExists=!/run/openbmc/host@%i-on
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios clearvolatile
-SyslogIdentifier=obmc-flash-bios-check-clearvolatile
-
-[Install]
-RequiredBy=obmc-host-startmin@%i.target
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-cleanup.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-cleanup.service
deleted file mode 100644
index 07642a0e0..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-cleanup.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Clean up UBI volumes unattached to a Host version
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios ubicleanup
-SyslogIdentifier=obmc-flash-bios
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-enable-clearvolatile@.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-enable-clearvolatile@.service
deleted file mode 100644
index e040738c7..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-enable-clearvolatile@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Enable the clearing of the Volatile PNOR partitions in host%i
-After=mapper-wait@-org-open_power-control-volatile.service
-Before=obmc-flash-bios-check-clearvolatile@%i.service
-ConditionPathExists=!/run/openbmc/host@%i-on
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/bin/sh -c "busctl set-property `mapper get-service /org/open_power/control/volatile` /org/open_power/control/volatile xyz.openbmc_project.Object.Enable Enabled b true"
-SyslogIdentifier=obmc-flash-bios-enable-clearvolatile
-
-[Install]
-RequiredBy=obmc-host-start@%i.target
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiattach.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiattach.service
deleted file mode 100644
index d0785c9b0..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiattach.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Attach the PNOR mtd device to UBI
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/bin/env obmc-flash-bios ubiattach
-SyslogIdentifier=obmc-flash-bios
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service
deleted file mode 100644
index d03041dad..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Mount UBIFS volumes pnor-ro-%I, pnor-rw-%I and pnor-prsv
-Requires=obmc-flash-bios-ubiattach.service
-After=obmc-flash-bios-ubiattach.service
-OnFailure=obmc-flash-bios-ubiumount-ro@%i.service obmc-flash-bios-ubiumount-rw@%i.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios squashfsmount pnor-ro-%i %i
-ExecStart=/usr/bin/env obmc-flash-bios ubimount pnor-rw-%i
-ExecStart=/usr/bin/env obmc-flash-bios ubimount pnor-prsv
-SyslogIdentifier=obmc-flash-bios
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubipatch.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubipatch.service
deleted file mode 100644
index 206d31448..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubipatch.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Create a ubi volume for pnor patches
-Before=mboxd.service
-Wants=usr-local.mount
-After=usr-local.mount
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios ubimount pnor-patch
-SyslogIdentifier=obmc-flash-bios
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiremount.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiremount.service
deleted file mode 100644
index b66834580..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiremount.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Remount the squashfs and ubi volumes after a reboot
-Wants=org.open_power.Software.Host.Updater.service
-Before=org.open_power.Software.Host.Updater.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/bin/env obmc-flash-bios ubiremount
-SyslogIdentifier=obmc-flash-bios
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-ro@.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-ro@.service
deleted file mode 100644
index c6dc553f4..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-ro@.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Remove UBIFS volume pnor-ro-%I
-Wants=obmc-flash-bios-ubiattach.service
-After=obmc-flash-bios-ubiattach.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios ubiumount pnor-ro-%i
-SyslogIdentifier=obmc-flash-bios
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service
deleted file mode 100644
index c0ea8e628..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Remove UBIFS volume pnor-rw-%I
-Wants=obmc-flash-bios-ubiattach.service
-After=obmc-flash-bios-ubiattach.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios ubiumount pnor-rw-%i
-SyslogIdentifier=obmc-flash-bios
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-updatesymlinks.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-updatesymlinks.service
deleted file mode 100644
index 8323ccf29..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-updatesymlinks.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=Updates symlinks for active PNOR version
-Before=mboxd.service
-Before=mboxd-reload@0.service
-After=org.open_power.Software.Host.Updater.service
-After=op-reset-chassis-running@0.service
-ConditionPathExists=!/run/openbmc/chassis@0-on
-
-[Service]
-Type=oneshot
-RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bios updatesymlinks
-SyslogIdentifier=obmc-flash-bios
-
-[Install]
-WantedBy=mboxd.service mboxd-reload@.service
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/op-pnor-msl.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/op-pnor-msl.service
deleted file mode 100644
index 92c599e93..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/op-pnor-msl.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=OpenPOWER PNOR Minimum Ship Level Verification
-After=obmc-flash-bios-updatesymlinks.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/env openpower-pnor-msl
-SyslogIdentifier=openpower-pnor-msl
-RemainAfterExit=yes
-
-[Install]
-WantedBy=obmc-flash-bios-updatesymlinks.service
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/org.open_power.Software.Host.Updater.service b/meta-openpower/recipes-phosphor/flash/openpower-software-manager/org.open_power.Software.Host.Updater.service
deleted file mode 100644
index 493df5618..000000000
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager/org.open_power.Software.Host.Updater.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=OpenPower Software Update Manager
-Wants=xyz.openbmc_project.Software.Version.service
-Before=xyz.openbmc_project.Software.Version.service
-Before=mboxd.service
-Wants=obmc-flash-bios-ubipatch.service
-Before=obmc-flash-bios-ubipatch.service
-Wants=obmc-mapper.target
-After=obmc-mapper.target
-
-[Service]
-ExecStart=/usr/bin/env openpower-update-manager
-SyslogIdentifier=openpower-update-manager
-Restart=always
-Type=dbus
-BusName={BUSNAME}
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
index 84647bc38..f753b1298 100644
--- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
+++ b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb
@@ -39,7 +39,7 @@ S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/openpower-pnor-code-mgmt"
-SRCREV = "b8cb0cc9d9b3253df47bf019a8f028f01110f9ab"
+SRCREV = "adf91f58dac9f177a061d9b206d853a9db3db70a"
DBUS_SERVICE_${PN} += "org.open_power.Software.Host.Updater.service"
diff --git a/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service b/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service
index fbd4c06cd..9ce81d79b 100644
--- a/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service
+++ b/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service
@@ -3,6 +3,7 @@ Description=Hostboot Boot Settings
[Service]
Type=oneshot
+RemainAfterExit=true
ExecStart=/usr/bin/hb_settings --uart vuart
[Install]
diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
index 9e7fb54c6..592633bcf 100644
--- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
+++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb
@@ -11,7 +11,7 @@ inherit autotools obmc-phosphor-utils pkgconfig pythonnative
inherit systemd
SRC_URI += "git://github.com/openbmc/openpower-proc-control"
-SRCREV = "b964c928156c2e71fe3bc9a2693b02cfbba5309c"
+SRCREV = "16ab00cb9383b17b8dd033a1cb300e2a013d55b1"
DEPENDS += " \
autoconf-archive-native \
@@ -19,9 +19,15 @@ DEPENDS += " \
phosphor-dbus-interfaces \
openpower-dbus-interfaces \
"
+RDEPENDS_${PN} += "pdbg"
TEMPLATE = "pcie-poweroff@.service"
INSTANCE_FORMAT = "pcie-poweroff@{}.service"
INSTANCES = "${@compose_list(d, 'INSTANCE_FORMAT', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "${TEMPLATE} ${INSTANCES}"
+
+SYSTEMD_SERVICE_${PN} += " \
+ xyz.openbmc_project.Control.Host.NMI.service \
+ nmi.service \
+ "
diff --git a/meta-openpower/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-openpower/recipes-phosphor/interfaces/bmcweb_%.bbappend
new file mode 100644
index 000000000..bc134aee2
--- /dev/null
+++ b/meta-openpower/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -0,0 +1,4 @@
+EXTRA_OECMAKE_append_df-openpower = " \
+ -DBMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES=ON \
+ -DBMCWEB_ENABLE_LOGGING_MW=ON \
+ "
diff --git a/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.service b/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.service
index ce59b3377..45e73b50c 100644
--- a/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.service
+++ b/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.service
@@ -2,6 +2,8 @@
Description=Init BMC Hostname
Wants=mapper-wait@-xyz-openbmc_project-inventory.service
After=mapper-wait@-xyz-openbmc_project-inventory.service
+Wants=op-vpd-parser.service
+After=op-vpd-parser.service
[Service]
ExecStart=/usr/bin/first-boot-set-hostname.sh
diff --git a/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh b/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh
index 541523760..42a85b873 100644
--- a/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh
+++ b/meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh
@@ -1,7 +1,11 @@
#!/bin/sh -eu
show_error() {
- echo "$@" >&2
+ if [ -n "${JOURNAL_STREAM-}" ]; then
+ echo "$@" | systemd-cat -t first-boot-set-hostname -p emerg
+ else
+ echo "$@" >&2
+ fi
}
sync_hostname() {
@@ -9,6 +13,7 @@ sync_hostname() {
MAPPER_PATH='/xyz/openbmc_project/object_mapper'
INVENTORY_PATH='/xyz/openbmc_project/inventory'
BMC_ITEM_IFACE='xyz.openbmc_project.Inventory.Item.Bmc'
+ INV_ASSET_IFACE='xyz.openbmc_project.Inventory.Decorator.Asset'
BMC_ITEM_PATH=$(busctl --no-pager --verbose call \
${MAPPER_IFACE} \
@@ -26,13 +31,13 @@ sync_hostname() {
${BMC_ITEM_PATH} 2>/dev/null || true)
if [[ -z "${BMC_ITEM_SERVICE}" ]]; then
- echo "No BMC item found in the Inventory. Is VPD EEPROM empty?" >&2
+ show_error "No BMC item found in the Inventory. Is VPD EEPROM empty?"
return
fi
BMC_SN=$(busctl get-property ${BMC_ITEM_SERVICE} \
${BMC_ITEM_PATH} \
- ${BMC_ITEM_IFACE} SerialNumber)
+ ${INV_ASSET_IFACE} SerialNumber)
# 's "002B0DH1000"'
BMC_SN=${BMC_SN#*\"}
BMC_SN=${BMC_SN%\"*}
@@ -43,4 +48,3 @@ sync_hostname() {
[ "$(hostname)" = "{MACHINE}" ] && sync_hostname
systemctl disable first-boot-set-hostname.service
-
diff --git a/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh b/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh
index 9f751a6c3..9668ed5f1 100755
--- a/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh
+++ b/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh
@@ -1,7 +1,11 @@
#!/bin/sh -eu
show_error() {
- logger -p user.error -t bmc-first-init $@
+ if [ -n "${JOURNAL_STREAM-}" ]; then
+ echo "$@" | systemd-cat -t first-boot-set-mac -p emerg
+ else
+ echo "$@" >&2
+ fi
}
sync_mac() {
@@ -47,8 +51,8 @@ sync_mac() {
fi
}
-if [ $# -eq 0 ]
- then echo 'No Ethernet interface name is given'
+if [ $# -eq 0 ]; then
+ show_error 'No Ethernet interface name is given'
exit 1
fi
diff --git a/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac@.service b/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac@.service
index a7c913eb6..8986efd46 100644
--- a/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac@.service
+++ b/meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac@.service
@@ -4,6 +4,8 @@ Wants=mapper-wait@-xyz-openbmc_project-inventory.service
After=mapper-wait@-xyz-openbmc_project-inventory.service
Wants=mapper-wait@-xyz-openbmc_project-network-%i.service
After=mapper-wait@-xyz-openbmc_project-network-%i.service
+Wants=op-vpd-parser.service
+After=op-vpd-parser.service
[Service]
ExecStart=/usr/bin/first-boot-set-mac.sh %i
diff --git a/meta-openpower/recipes-phosphor/network/first-boot-set-mac_1.0.bb b/meta-openpower/recipes-phosphor/network/first-boot-set-mac_1.0.bb
index 0fd040d41..1a1ee97dc 100644
--- a/meta-openpower/recipes-phosphor/network/first-boot-set-mac_1.0.bb
+++ b/meta-openpower/recipes-phosphor/network/first-boot-set-mac_1.0.bb
@@ -10,11 +10,11 @@ RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils}"
SYSTEMD_SERVICE_${PN} = "first-boot-set-mac@.service"
-SRC_URI = "file://${PN}.sh file://${PN}@.service"
+SRC_URI = "file://${BPN}.sh file://${BPN}@.service"
S = "${WORKDIR}"
do_install() {
install -d ${D}${bindir} ${D}${systemd_system_unitdir}
- install ${PN}.sh ${D}${bindir}/
- install -m 644 ${PN}@.service ${D}${systemd_system_unitdir}/
+ install ${BPN}.sh ${D}${bindir}/
+ install -m 644 ${BPN}@.service ${D}${systemd_system_unitdir}/
}
diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc
index 713509159..25c1700cc 100644
--- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc
+++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/openpower-occ-control"
-SRCREV = "6d6d1b380adc68adaa289e84665f7e774e514d4d"
+SRCREV = "eaaf3b284cf0adc40ce57bd27d7fb5fd5f994ba2"
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
index 54361c263..b3b125ba3 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/openpower-vpd-parser"
-SRCREV = "eb67ba13dd3f7dd74852919ee7ff704c7d399d04"
+SRCREV = "ee79ca842542c240d9f87166d2aecde32d6b6f80"
diff --git a/meta-openpower/recipes-phosphor/webui/phosphor-webui/df-openpower/config.json b/meta-openpower/recipes-phosphor/webui/phosphor-webui/df-openpower/config.json
new file mode 100644
index 000000000..0cc8e8b7d
--- /dev/null
+++ b/meta-openpower/recipes-phosphor/webui/phosphor-webui/df-openpower/config.json
@@ -0,0 +1,3 @@
+{
+ "redfishEventLogDisabled" : true
+}
diff --git a/meta-openpower/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-openpower/recipes-phosphor/webui/phosphor-webui_%.bbappend
new file mode 100644
index 000000000..fc087d7ed
--- /dev/null
+++ b/meta-openpower/recipes-phosphor/webui/phosphor-webui_%.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI_append_df-openpower = " file://config.json"
+
+do_configure_append_df-openpower() {
+ # Overwrite the config.json to turn off/on Web UI panels
+ # E.g. Turn off the Redfish Event Log Panel since openpower systems use
+ # the D-Bus Event Log Panel
+ cp ${WORKDIR}/config.json ${S}/
+}
diff --git a/meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch
index 2de2d8234..2de2d8234 100644
--- a/meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch
+++ b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/files/0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch
diff --git a/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc
index bc81be144..5329b2c89 100644
--- a/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc
+++ b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed.inc
@@ -12,6 +12,9 @@ SRC_URI_append_aspeed_df-obmc-ubi-fs = " \
SRC_URI_append_aspeed_df-isolate-bmc = " \
file://0001-aspeed-Disable-unnecessary-features.patch \
"
+SRC_URI_append_aspeed_df-aspeednic-use-mac2 = " \
+ file://0002-board-aspeed-aspeednic-Use-MAC2-for-networking.patch \
+ "
do_patch[depends] += "os-release:do_populate_sysroot"
diff --git a/meta-phosphor/classes/flto-automake.bbclass b/meta-phosphor/classes/flto-automake.bbclass
deleted file mode 100644
index 517bd5ea5..000000000
--- a/meta-phosphor/classes/flto-automake.bbclass
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit autotools
-
-# use gcc equivalents of AR and RANLIB
-# to use -flto with shared libs
-PACKAGECONFIG_CONFARGS += " AR=${TARGET_PREFIX}gcc-ar \
- RANLIB=${TARGET_PREFIX}gcc-ranlib"
diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
index e0fda775f..f5553a6a0 100644
--- a/meta-phosphor/classes/phosphor-networkd-rev.bbclass
+++ b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
@@ -1,2 +1,2 @@
SRC_URI += "git://github.com/openbmc/phosphor-networkd"
-SRCREV = "7bcaccfdae8f161c6677211e298c5570460f08a5"
+SRCREV = "2dae96946ba6ea78e20823ab3aeba75f2e033a41"
diff --git a/meta-phosphor/conf/distro/include/phosphor-aspeednic-use-mac2.inc b/meta-phosphor/conf/distro/include/phosphor-aspeednic-use-mac2.inc
new file mode 100644
index 000000000..20fad5bd7
--- /dev/null
+++ b/meta-phosphor/conf/distro/include/phosphor-aspeednic-use-mac2.inc
@@ -0,0 +1,2 @@
+DISTRO_FEATURES += "obmc-aspeednic-use-mac2"
+DISTROOVERRIDES .= ":df-aspeednic-use-mac2"
diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc
index f99fbed43..55b6e0fec 100644
--- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc
@@ -160,13 +160,6 @@ PREFERRED_PROVIDER_virtual/phosphor-ipmi-sensor-inventory ?= \
"phosphor-ipmi-sensor-inventory-native"
# The phosphor-host-ipmid application is data-driven and requires an input
-# yaml of entity association record metadata.
-# This virtual is a native recipe that provides that mapping by installing
-# configuration files in the format and native sysroot location expected by
-# the phosphor-host-ipmid build process in the native sysroot.
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-entity-config ?= "phosphor-ipmi-entity-inventory-native"
-
-# The phosphor-host-ipmid application is data-driven and requires an input
# mapping of inventory object path to the sensor number and sensor metadata.
# This virtual is a native recipe that provides that mapping by installing
# configuration files in the format and native sysroot location expected by
diff --git a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
index f9195476d..6f0afc633 100644
--- a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
+++ b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb
@@ -15,7 +15,7 @@ RDEPENDS_${PN} += "nbd-client"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/jsnbd"
-SRCREV = "d5b9857609401e3cf9c53b111134a6aab8e4573c"
+SRCREV = "bcc6cc5bcadb20005ae03c8c4a4eb87006f0d222"
NBD_PROXY_CONFIG_JSON ??= "${S}/config.sample.json"
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-fix-link_up-12505.patch b/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-fix-link_up-12505.patch
new file mode 100644
index 000000000..1c101056c
--- /dev/null
+++ b/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-fix-link_up-12505.patch
@@ -0,0 +1,66 @@
+From 467ac87e75c1045bc6affa89de99e21c4e7a1762 Mon Sep 17 00:00:00 2001
+From: Susant Sahani <ssahani@gmail.com>
+Date: Thu, 9 May 2019 07:35:35 +0530
+Subject: [PATCH 1/2] networkd: fix link_up() (#12505)
+
+Fillup IFLA_INET6_ADDR_GEN_MODE while we do link_up.
+
+Fixes the following error:
+```
+dummy-test: Could not bring up interface: Invalid argument
+```
+
+After reading the kernel code when we do a link up
+```
+net/core/rtnetlink.c
+IFLA_AF_SPEC
+ af_ops->set_link_af(dev, af);
+ inet6_set_link_af
+ if (tb[IFLA_INET6_ADDR_GEN_MODE])
+ Here it looks for IFLA_INET6_ADDR_GEN_MODE
+```
+Since link up we didn't filling up that it's failing.
+
+Closes #12504.
+
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ src/network/networkd-link.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 3e334c8d29cc..3a0706e0a894 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -2079,6 +2079,8 @@ static int link_up(Link *link) {
+ }
+
+ if (link_ipv6_enabled(link)) {
++ uint8_t ipv6ll_mode;
++
+ r = sd_netlink_message_open_container(req, IFLA_AF_SPEC);
+ if (r < 0)
+ return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m");
+@@ -2094,6 +2096,19 @@ static int link_up(Link *link) {
+ return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
+ }
+
++ if (!link_ipv6ll_enabled(link))
++ ipv6ll_mode = IN6_ADDR_GEN_MODE_NONE;
++ else if (sysctl_read_ip_property(AF_INET6, link->ifname, "stable_secret", NULL) < 0)
++ /* The file may not exist. And event if it exists, when stable_secret is unset,
++ * reading the file fails with EIO. */
++ ipv6ll_mode = IN6_ADDR_GEN_MODE_EUI64;
++ else
++ ipv6ll_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY;
++
++ r = sd_netlink_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode);
++ if (r < 0)
++ return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m");
++
+ r = sd_netlink_message_close_container(req);
+ if (r < 0)
+ return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
+--
+2.20.1
+
diff --git a/meta-phosphor/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6-token-to-kernel.patch b/meta-phosphor/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6-token-to-kernel.patch
new file mode 100644
index 000000000..c359a1f33
--- /dev/null
+++ b/meta-phosphor/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6-token-to-kernel.patch
@@ -0,0 +1,96 @@
+From e6be20d87c400258a966b0bb0e1c4c94b91017df Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github@gmail.com>
+Date: Thu, 9 May 2019 14:39:46 +0900
+Subject: [PATCH 2/2] network: do not send ipv6 token to kernel
+
+We disabled kernel RA support. Then, we should not send
+IFLA_INET6_TOKEN.
+Thus, we do not need to send IFLA_INET6_ADDR_GEN_MODE twice.
+
+Follow-up for 0e2fdb83bb5e22047e0c7cc058b415d0e93f02cf and
+4eb086a38712ea98faf41e075b84555b11b54362.
+
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ src/network/networkd-link.c | 51 +++++--------------------------------
+ 1 file changed, 6 insertions(+), 45 deletions(-)
+
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 3a0706e0a894..b709aaa71b4d 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -1985,6 +1985,9 @@ static int link_configure_addrgen_mode(Link *link) {
+ assert(link->manager);
+ assert(link->manager->rtnl);
+
++ if (!socket_ipv6_is_supported())
++ return 0;
++
+ log_link_debug(link, "Setting address genmode for link");
+
+ r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
+@@ -2078,46 +2081,6 @@ static int link_up(Link *link) {
+ return log_link_error_errno(link, r, "Could not set MAC address: %m");
+ }
+
+- if (link_ipv6_enabled(link)) {
+- uint8_t ipv6ll_mode;
+-
+- r = sd_netlink_message_open_container(req, IFLA_AF_SPEC);
+- if (r < 0)
+- return log_link_error_errno(link, r, "Could not open IFLA_AF_SPEC container: %m");
+-
+- /* if the kernel lacks ipv6 support setting IFF_UP fails if any ipv6 options are passed */
+- r = sd_netlink_message_open_container(req, AF_INET6);
+- if (r < 0)
+- return log_link_error_errno(link, r, "Could not open AF_INET6 container: %m");
+-
+- if (!in_addr_is_null(AF_INET6, &link->network->ipv6_token)) {
+- r = sd_netlink_message_append_in6_addr(req, IFLA_INET6_TOKEN, &link->network->ipv6_token.in6);
+- if (r < 0)
+- return log_link_error_errno(link, r, "Could not append IFLA_INET6_TOKEN: %m");
+- }
+-
+- if (!link_ipv6ll_enabled(link))
+- ipv6ll_mode = IN6_ADDR_GEN_MODE_NONE;
+- else if (sysctl_read_ip_property(AF_INET6, link->ifname, "stable_secret", NULL) < 0)
+- /* The file may not exist. And event if it exists, when stable_secret is unset,
+- * reading the file fails with EIO. */
+- ipv6ll_mode = IN6_ADDR_GEN_MODE_EUI64;
+- else
+- ipv6ll_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY;
+-
+- r = sd_netlink_message_append_u8(req, IFLA_INET6_ADDR_GEN_MODE, ipv6ll_mode);
+- if (r < 0)
+- return log_link_error_errno(link, r, "Could not append IFLA_INET6_ADDR_GEN_MODE: %m");
+-
+- r = sd_netlink_message_close_container(req);
+- if (r < 0)
+- return log_link_error_errno(link, r, "Could not close AF_INET6 container: %m");
+-
+- r = sd_netlink_message_close_container(req);
+- if (r < 0)
+- return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m");
+- }
+-
+ r = netlink_call_async(link->manager->rtnl, NULL, req, link_up_handler,
+ link_netlink_destroy_callback, link);
+ if (r < 0)
+@@ -3204,11 +3167,9 @@ static int link_configure(Link *link) {
+ if (r < 0)
+ return r;
+
+- if (socket_ipv6_is_supported()) {
+- r = link_configure_addrgen_mode(link);
+- if (r < 0)
+- return r;
+- }
++ r = link_configure_addrgen_mode(link);
++ if (r < 0)
++ return r;
+
+ return link_configure_after_setting_mtu(link);
+ }
+--
+2.20.1
+
diff --git a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
index f9d830157..5660e7cbf 100644
--- a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
@@ -8,6 +8,10 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://default.network"
SRC_URI += "file://0001-sd-bus-Don-t-automatically-add-ObjectManager.patch"
+# Backport from master to fix https://github.com/systemd/systemd/issues/12784
+SRC_URI += "file://0001-networkd-fix-link_up-12505.patch"
+SRC_URI += "file://0002-network-do-not-send-ipv6-token-to-kernel.patch"
+
RRECOMMENDS_${PN} += "obmc-targets"
FILES_${PN} += "${systemd_unitdir}/network/default.network"
diff --git a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
index 5a67b20ba..81f08f42c 100644
--- a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
+++ b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb
@@ -14,6 +14,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/gpioplus"
-SRCREV = "48e6288da8486a25fd52e944fb0f7148fc1c02db"
+SRCREV = "d67babcdbe7854b14afb421861c25769519d0fc8"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/rsyslog/rsyslog-policy.bb b/meta-phosphor/recipes-extended/rsyslog/rsyslog-policy.bb
deleted file mode 100644
index 96eee0796..000000000
--- a/meta-phosphor/recipes-extended/rsyslog/rsyslog-policy.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Policy configuration for rsyslog"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-DEPENDS += "rsyslog"
-
-FILES_${PN} += "${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf"
-
-SRC_URI += "file://rsyslog-override.conf"
-
-do_install() {
- install -d ${D}${systemd_system_unitdir}/rsyslog.service.d
- install -m 0644 ${WORKDIR}/rsyslog-override.conf \
- ${D}${systemd_system_unitdir}/rsyslog.service.d/rsyslog-override.conf
-}
diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
index c92f76cf8..891d02204 100644
--- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
+++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb
@@ -37,7 +37,7 @@ DEPENDS_append_class-native = " \
"
SRC_URI += "git://github.com/openbmc/sdbusplus"
-SRCREV = "c14699f63e909ed6d8599e65503ee9c1e3a104d6"
+SRCREV = "4212292bcf136d04b38ba5116aa568b0fa312798"
PACKAGECONFIG ??= "libsdbusplus transaction"
PACKAGECONFIG[libsdbusplus] = "--enable-libsdbusplus,--disable-libsdbusplus,systemd,libsystemd"
diff --git a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
index 60dabc7b7..f5404ce9f 100644
--- a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
+++ b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb
@@ -20,6 +20,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/sdeventplus"
-SRCREV = "e19c3cf6493d068d600db959de44a00a8097bbf5"
+SRCREV = "b315a2ab41ab6408a2185162fdd56c836249abdc"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
index 3eaa31d16..97e6239ac 100644
--- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
+++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb
@@ -14,6 +14,6 @@ EXTRA_OEMESON = " \
"
SRC_URI += "git://github.com/openbmc/stdplus"
-SRCREV = "8f1700e7ab886ed602c371265ff2c653a2deb485"
+SRCREV = "4ef36e7904aa354256ab5818c543df0a9c61f90f"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
index 239dbbd6b..15395148d 100644
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb
@@ -9,7 +9,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
SRC_URI = "git://github.com/openbmc/phosphor-certificate-manager"
-SRCREV = "dec5877c7e1219299042671cdf82589a081d583f"
+SRCREV = "b57d75e2b1871fe048216ae98ae3a224ca3adb9e"
inherit autotools \
pkgconfig \
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index 0a9746259..08f3c0b9f 100644
--- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \
and configures system sensors"
SRC_URI = "git://github.com/openbmc/entity-manager.git"
-SRCREV = "15c49902cf030a91a5b4bd325d185ee74b760359"
+SRCREV = "96cdaefe75b8b4eebee21757d9e826d99cf87ab5"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
index 006f9418e..7316d8ee6 100644
--- a/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
+++ b/meta-phosphor/recipes-phosphor/console/obmc-console_git.bb
@@ -16,9 +16,9 @@ DEPENDS += "autoconf-archive-native \
"
SRC_URI += "git://github.com/openbmc/obmc-console"
-SRC_URI += "file://${PN}.conf"
+SRC_URI += "file://${BPN}.conf"
-SRCREV = "1cecc5deeae236e9886f624ea7168e075f057047"
+SRCREV = "c5ce2cbd12e395749c3b4abedf0d81f49b402b70"
PV = "1.0+git${SRCPV}"
REGISTERED_SERVICES_${PN} += "obmc_console:tcp:2200"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
index 25e49ba34..12c5ee108 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb
@@ -14,7 +14,7 @@ DEPENDS += "autoconf-archive-native"
DEPENDS += "sdbus++-native"
SRC_URI += "git://github.com/openbmc/phosphor-dbus-interfaces"
-SRCREV = "1f0e2ce6e1cb78a59a0015b160816b71156b03c6"
+SRCREV = "ddc9e9f9d6ed0282ec6c1421a706b45f3c09ebcc"
DEPENDS_remove_class-native = "sdbus++-native"
DEPENDS_remove_class-nativesdk = "sdbus++-native"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb
index 80954f61f..6fadcae21 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb
@@ -1,12 +1,11 @@
SUMMARY = "Phosphor DBus Monitor Configuration"
-DESCRIPTION = "Meta-recipe, pulling in native recipes that wish to add \
+DESCRIPTION = "Meta-recipe, pulling in non-native recipes that wish to add \
configuration files to the /usr/share/phosphor-dbus-monitor filesystem."
HOMEPAGE = "http://github.com/openbmc/phosphor-dbus-monitor"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-inherit native
inherit phosphor-dbus-monitor
PHOSPHOR_DBUS_MONITOR_CONFIGS ??= ""
@@ -19,3 +18,5 @@ DEPENDS += "${PHOSPHOR_DBUS_MONITOR_CONFIGS}"
do_install() {
mkdir -p ${D}${config_dir}
}
+
+FILES_${PN} += "${config_dir}"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
index 463bd8364..ae2274369 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
@@ -20,7 +20,7 @@ SYSTEMD_PACKAGES = "${PN} phosphor-msl-verify"
SYSTEMD_SERVICE_phosphor-msl-verify = "phosphor-msl-verify.service"
DEPENDS += " \
- ${PN}-config-native \
+ ${PN}-config \
phosphor-logging \
autoconf-archive-native \
sdbusplus-native \
@@ -34,5 +34,5 @@ FILES_phosphor-msl-verify = "${bindir}/phosphor-msl-verify"
S = "${WORKDIR}/git"
EXTRA_OECONF = " \
- YAML_PATH=${STAGING_DIR_NATIVE}${config_dir} \
+ YAML_PATH=${STAGING_DIR_HOST}${config_dir} \
"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
index f49201721..eb753cb69 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-debug-collector"
-SRCREV = "fa180596fe2a3c6fe65e48055e02e0c3e4ef5977"
+SRCREV = "004938eb17af464fc1ba02f883adb78ad3bd40dd"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
index 780f889df..922124798 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb
@@ -56,11 +56,11 @@ MGR_SVC ?= "xyz.openbmc_project.Dump.Manager.service"
SYSTEMD_SUBSTITUTIONS += "BMC_DUMP_PATH:${bmc_dump_path}:${MGR_SVC}"
FILES_${PN}-manager += " \
- ${sbindir}/phosphor-dump-manager \
+ ${bindir}/phosphor-dump-manager \
${exec_prefix}/lib/tmpfiles.d/coretemp.conf \
${datadir}/dump/ \
"
-FILES_${PN}-monitor += "${sbindir}/phosphor-dump-monitor"
+FILES_${PN}-monitor += "${bindir}/phosphor-dump-monitor"
FILES_${PN}-dreport += "${bindir}/dreport"
FILES_${PN}-scripts += "${dreport_dir}"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb
index 30da6eab8..d4176c512 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb
@@ -1,7 +1,7 @@
# Provides the config file for the phosphor-fan-presence application.
# The default config file is empty. To provide a real one,
# append this recipe in a layer, add:
-# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+# FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
# and provide a config file.
SUMMARY = "Config file for phosphor-fan-presence"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
index 141ec0ffb..85619eab0 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-fan-presence"
-SRCREV = "d9a580aa5037fdb08911940263a580b036f2d9fa"
+SRCREV = "efbe7abd508a3e24fc4d1f4ed0ac6c04836c3d72"
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
index 9b204fe04..276feee0b 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
@@ -6,14 +6,15 @@ PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-inherit flto-automake pkgconfig
+inherit autotools pkgconfig
inherit phosphor-pid-control
inherit obmc-phosphor-ipmiprovider-symlink
+inherit systemd
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-pid-control"
-SRCREV = "2192a6daefe48055e063861b3a33a6c2d91ddf40"
+SRCREV = "a7ec8350d17b70153cebe666d3fbe88bddd02a1a"
# Each platform will need a service file that starts
# at an appropriate time per system. For instance, if
@@ -32,6 +33,14 @@ DEPENDS += "boost"
# We depend on this to be built first so we can build our providers.
DEPENDS += "phosphor-ipmi-host"
+SERVICE_FILE = "phosphor-pid-control.service"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "${SERVICE_FILE}"
+
+EXTRA_OECONF = " \
+ SYSTEMD_TARGET="multi-user.target" \
+ "
+
FILES_${PN} = "${bindir}/swampd ${bindir}/setsensor"
# The following installs the OEM IPMI handler for the fan controls.
diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index 4cbac906b..8b4886e64 100644
--- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
+++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b"
SRC_URI = "git://github.com/openbmc/bmcweb.git"
PV = "1.0+git${SRCPV}"
-SRCREV = "286b9118a35ba8c212972b9c30a257ee41c5d7d2"
+SRCREV = "336e96c667adf8401c8ed772d681a17c35b94b44"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
index 3b504e1c0..e77ecd8e6 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "ipmi-blob-tool"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs"
-SRCREV = "826e17355db0a575e0ad60e25bf82480ac711135"
+SRCREV = "8bc117792fbf118dd74d015546c22612961ccc26"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory-native.bb
deleted file mode 100644
index acc693eba..000000000
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory-native.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Sample entity configuration for phosphor-host-ipmid"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-PROVIDES += "virtual/phosphor-ipmi-entity-config"
-
-SRC_URI += "file://entity.yaml"
-
-S = "${WORKDIR}"
-
-do_install() {
- # This recipe is supposed to create an output yaml file with
- # a sample output file.
-
- DEST=${D}${sensor_datadir}
- install -d ${DEST}
- install entity.yaml ${DEST}/entity.yaml
-}
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
index 9be1ab3a5..0b6701efd 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb
@@ -14,7 +14,7 @@ DEPENDS += "phosphor-ipmi-host"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-ethstats"
-SRCREV = "c3f5618ffd64bc8d1718cafe499c38b359861e97"
+SRCREV = "7a1b2033e8cce2fe711d8a033885d9048325332d"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
index 69b10a11f..686b5bf58 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -2,30 +2,64 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-ipmi-flash"
SUMMARY = "Phosphor OEM IPMI In-band Firmware Update over BLOB"
DESCRIPTION = "This package handles a series of OEM IPMI commands that implement the firmware update handler over the BLOB protocol."
PR = "r1"
-PV = "0.1+git${SRCPV}"
+PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
inherit autotools pkgconfig
inherit obmc-phosphor-ipmiprovider-symlink
+inherit systemd
DEPENDS += "autoconf-archive-native"
DEPENDS += "phosphor-ipmi-blobs"
DEPENDS += "phosphor-logging"
DEPENDS += "sdbusplus"
+DEPENDS += "systemd"
DEPENDS += "ipmi-blob-tool"
DEPENDS += "pciutils"
+PACKAGECONFIG ?= "cleanup-delete"
+PACKAGECONFIG[cleanup-delete] = "--enable-cleanup-delete, --disable-cleanup-delete"
+# If using static-layout, reboot-update is a good option to handle updating.
+PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
+
+# Default options for supporting various flash types:
+PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout"
+PACKAGECONFIG[ubitar-bmc] = "--enable-tarball-ubi, --disable-tarball-ubi"
+PACKAGECONFIG[host-bios] = "--enable-host-bios, --disable-host-bios"
+
+# Hardware options to enable transmitting the data from the host.
+PACKAGECONFIG[aspeed-p2a] = "--enable-aspeed-p2a, --disable-aspeed-p2a"
+PACKAGECONFIG[aspeed-lpc] = "--enable-aspeed-lpc, --disable-aspeed-lpc"
+PACKAGECONFIG[nuvoton-lpc] = "--enable-nuvoton-lpc, --disable-nuvoton-lpc"
+
EXTRA_OECONF = "--disable-tests --disable-build-host-tool"
+# Set this variable in your recipe to set it instead of using MAPPED_ADDRESS directly.
+IPMI_FLASH_BMC_ADDRESS ?= "0"
+EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
+
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
-SRCREV = "7a5dcd8c213972b5abc6e05c663d37cf004bda7f"
+SRCREV = "cf0e5de3f838898861208f8e2743aaf5221a5d5e"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
+ phosphor-ipmi-flash-bmc-verify.target \
+ phosphor-ipmi-flash-bmc-update.target"
+
+# If they enabled host-bios, add those three extra targets.
+HOST_BIOS_TARGETS = "phosphor-ipmi-flash-bios-prepare.target \
+ phosphor-ipmi-flash-bios-verify.target \
+ phosphor-ipmi-flash-bios-update.target"
+
+SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'host-bios', '${HOST_BIOS_TARGETS}', '', d)}"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/blob-ipmid/lib*${SOLIBS}"
FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la"
BLOBIPMI_PROVIDER_LIBRARY += "libfirmwareblob.so"
+BLOBIPMI_PROVIDER_LIBRARY += "${@bb.utils.contains('PACKAGECONFIG', 'cleanup-delete', 'libfirmwarecleanupblob.so', '', d)}"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
index e8e89bf2e..b50d18e9e 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/ipmi-fru-parser"
LICENSE = "GPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7702f203b58979ebbc31bfaeb44f219c"
SRC_URI += "git://github.com/openbmc/ipmi-fru-parser"
-SRCREV = "fcb1a256189a67012b5bd630597454c6e9d75bd3"
+SRCREV = "de0a59ee05cfd97cca16654fc21654fc89ab72fa"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index d148d4c6e..fa82004f3 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid"
-SRCREV = "2a5d8d1ffeabb0484e52b591bb43bfa886d45731"
+SRCREV = "894d022017215acceafc9e3f21379534f5396d21"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory/entity.yaml b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml
index f41c2fda6..f41c2fda6 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-entity-inventory/entity.yaml
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/merge_yamls.py b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/merge_yamls.py
index 5e6c4b5e6..877e3eb57 100755
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/merge_yamls.py
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/merge_yamls.py
@@ -12,6 +12,11 @@ import sys
import yaml
import copy
+# Custom representer for None types. This is to handle empty dictionaries.
+# By default Pyyaml outputs these as "null", whereas we want an empty character.
+def represent_none(self, _):
+ return self.represent_scalar('tag:yaml.org,2002:null', '')
+
def dict_merge(target, source):
"""Deep merge for dicts.
@@ -43,6 +48,8 @@ if len(sys.argv) == 2:
# No overrides to handle
sys.exit(0)
+yaml.add_representer(type(None), represent_none)
+
target_filename = sys.argv[1]
with open(target_filename) as target_file:
data = yaml.safe_load(target_file)
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
index 314b70fd3..f5606cbf7 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
@@ -14,6 +14,8 @@ inherit obmc-phosphor-systemd
inherit phosphor-ipmi-host
inherit pythonnative
+SRC_URI += "file://entity.yaml"
+
def ipmi_whitelists(d):
whitelists = d.getVar(
'VIRTUAL-RUNTIME_phosphor-ipmi-providers', True) or ''
@@ -33,7 +35,6 @@ DEPENDS += "sdbus++-native"
DEPENDS += "virtual/phosphor-ipmi-inventory-sel"
DEPENDS += "virtual/phosphor-ipmi-fru-merge-config"
DEPENDS += "virtual/phosphor-ipmi-sensor-inventory"
-DEPENDS += "virtual/phosphor-ipmi-entity-config"
DEPENDS += "boost"
DEPENDS += "sdeventplus"
@@ -74,7 +75,6 @@ EXTRA_OECONF = " \
SENSOR_YAML_GEN=${STAGING_DIR_NATIVE}${sensor_datadir}/sensor.yaml \
INVSENSOR_YAML_GEN=${STAGING_DIR_NATIVE}${sensor_datadir}/invsensor.yaml \
FRU_YAML_GEN=${STAGING_DIR_NATIVE}${config_datadir}/fru_config.yaml \
- ENTITY_YAML_GEN=${STAGING_DIR_NATIVE}${sensor_datadir}/entity.yaml \
"
EXTRA_OECONF_append = " \
WHITELIST_CONF="${WHITELIST_CONF}" \
@@ -103,6 +103,16 @@ SOFT_TGTFMT = "obmc-host-shutdown@{0}.target"
SOFT_FMT = "../${SOFT_SVC}:${SOFT_TGTFMT}.requires/${SOFT_SVC}"
SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'SOFT_FMT', 'OBMC_HOST_INSTANCES')}"
+do_replace_entity_default() {
+ # The in-repo provided default is tailored to testing the ipmid code.
+ # Replace it with a reasonable default for users.
+ cp entity.yaml ${S}/scripts/entity-example.yaml
+}
+
+do_patch_append() {
+ bb.build.exec_func('do_replace_entity_default', d)
+}
+
#Collect all hardcoded sensor yamls from different recipes and
#merge all of them with sensor.yaml.
python do_merge_sensors () {
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
index 1ef93d5db..127a8c659 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The IPMB bridge implements a Dbus compliant interface for \
implementing IPMB interfaces"
SRC_URI = "git://github.com/openbmc/ipmbbridge.git"
-SRCREV = "8188d7651c23502f88f9bf850ab7e549f6463997"
+SRCREV = "bbfd00abdbc6d2f7c0389eae91cc055a1d4fe0c3"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
index 370e585ea..a26d7cd97 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "systemd"
DEPENDS += "phosphor-ipmi-host"
SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid"
-SRCREV = "052b7cf37411a1bb69af1e6ce541a16021fffa9f"
+SRCREV = "0a269046d0d9fcd690ccbb129ae58a3c1450b04e"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml
index ec82afed6..8188612b3 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml
@@ -207,6 +207,7 @@ gpu_func_sensor:
type: "bool"
assert: true
deassert: false
+ xyz.openbmc_project.Inventory.Item.Accelerator:
# Field replaceable doesn't come as a sensor data
# but we know that GPU is Field replaceable so setting
# true in both cases.
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
index 7dcdc6645..5decc70c8 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb
@@ -13,12 +13,13 @@ DEPENDS += "autoconf-archive-native"
DEPENDS += "sdbusplus"
DEPENDS += "systemd"
DEPENDS += "phosphor-dbus-interfaces"
+DEPENDS += "boost"
DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service"
SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs"
SRC_URI += "file://70-leds.rules"
-SRCREV = "5b1417bd21d1e9c00b25bb6db700aec442af746d"
+SRCREV = "97ddb72359663b5ca9d8e0c22588f0022f729ced"
S = "${WORKDIR}/git"
do_install_append() {
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index f710ed087..69da44c97 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -23,6 +23,7 @@ DEPENDS += "virtual/phosphor-logging-callouts"
DEPENDS += "phosphor-logging-error-logs-native"
DEPENDS += "phosphor-logging-native"
DEPENDS += "libcereal"
+DEPENDS += "sdeventplus"
PACKAGE_BEFORE_PN = "${PN}-test"
FILES_${PN}-test = "${bindir}/*-test"
@@ -53,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "0a0b5ea558adeb109a3ac52e55ad720e188adb90"
+SRCREV = "0a2c1a23327ac720b19eb1b12521d8fde95de2d5"
S = "${WORKDIR}/git"
@@ -64,6 +65,7 @@ DEPENDS_remove_class-native = " \
sdbus++ \
systemd \
libcereal \
+ sdeventplus \
"
# Do not DEPEND on the specified packages for native SDK build
@@ -74,6 +76,7 @@ DEPENDS_remove_class-nativesdk = " \
libcereal \
systemd \
phosphor-dbus-interfaces \
+ sdeventplus \
"
PACKAGECONFIG ??= "metadata-processing install_scripts"
diff --git a/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules b/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules
deleted file mode 100644
index 12e90d86c..000000000
--- a/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules
+++ /dev/null
@@ -1 +0,0 @@
-SUBSYSTEM=="misc", KERNEL=="aspeed-mbox", TAG+="systemd"
diff --git a/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service b/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service
index abc97e522..c491b1812 100644
--- a/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service
+++ b/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service
@@ -2,8 +2,6 @@
Description=Phosphor MBOX Daemon
BindsTo=dev-aspeed\x2dlpc\x2dctrl.device
After=dev-aspeed\x2dlpc\x2dctrl.device
-BindsTo=dev-aspeed\x2dmbox.device
-After=dev-aspeed\x2dmbox.device
Requires=xyz.openbmc_project.Control.Host.service
After=xyz.openbmc_project.Control.Host.service
diff --git a/meta-phosphor/recipes-phosphor/mboxd/mboxd_git.bb b/meta-phosphor/recipes-phosphor/mboxd/mboxd_git.bb
index e49daa195..79de7fa24 100644
--- a/meta-phosphor/recipes-phosphor/mboxd/mboxd_git.bb
+++ b/meta-phosphor/recipes-phosphor/mboxd/mboxd_git.bb
@@ -16,11 +16,10 @@ S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/mboxbridge.git"
-SRC_URI += "file://99-aspeed-mbox.rules"
SRC_URI += "file://99-aspeed-lpc-ctrl.rules"
SRC_URI += "file://aspeed-lpc-ctrl-h.patch"
-SRCREV="fac3689e77d37aca9c85dafabf921a847b1c4e02"
+SRCREV="4b8203d721b1114f09712e5ca04e18d10147d8cd"
PROVIDES += "mboxctl"
@@ -33,7 +32,6 @@ CFLAGS_append = " -I include"
do_install_append() {
install -d ${D}/lib/udev/rules.d
- install -m 0644 ${WORKDIR}/99-aspeed-mbox.rules ${D}/lib/udev/rules.d
install -m 0644 ${WORKDIR}/99-aspeed-lpc-ctrl.rules ${D}/lib/udev/rules.d
}
diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
index 175b37862..96a65c182 100644
--- a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
+++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
@@ -40,6 +40,8 @@ SUMMARY_${PN}-extras = "Extra features"
RDEPENDS_${PN}-extras = " \
bmcweb \
phosphor-bmcweb-cert-config \
+ phosphor-nslcd-cert-config \
+ phosphor-nslcd-authority-cert-config \
obmc-ikvm \
phosphor-dbus-monitor \
phosphor-systemd-policy \
diff --git a/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb b/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
index 8eea299ae..44305c423 100644
--- a/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
+++ b/meta-phosphor/recipes-phosphor/sel-logger/phosphor-sel-logger_git.bb
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
DEPENDS += "systemd sdbusplus boost phosphor-ipmi-host"
SRC_URI = "git://github.com/openbmc/phosphor-sel-logger.git;protocol=git"
-SRCREV = "c4a336fb15464b9f4a7328c02cb43285a6eb1e58"
+SRCREV = "3d300fca24b30864b3e9a4f5768cfe5e769458ae"
PV = "0.1+git${SRCPV}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index c5062701f..5bf754749 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "15266a96d758d4dbc1d3095e652ae083b24732c7"
+SRCREV = "1cbd1c6da17a85ec7213744cf2d1e56fcba3e34e"
PV = "0.1+git${SRCPV}"
@@ -17,6 +17,7 @@ SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.exitairsensor.service"
SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.ipmbsensor.service"
SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.intrusionsensor.service"
SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.psusensor.service"
+SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.mcutempsensor.service"
DEPENDS = "boost nlohmann-json sdbusplus i2c-tools libgpiod"
inherit cmake systemd
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
index de38de08c..8515f21a8 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
@@ -39,7 +39,7 @@ SRC_URI += "file://70-hwmon.rules"
SRC_URI += "file://70-iio.rules"
SRC_URI += "file://start_hwmon.sh"
-SRCREV = "d0ce7925d77c56c142f64b2c6ae55f0020c06ba8"
+SRCREV = "2227bd52c5bb8d62dcfe33b58d65515d21e9be17"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
index 5ba755456..b02038c36 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
@@ -132,6 +132,6 @@ HOST_RST_RBT_ATTEMPTS_SVC_FMT = "../${HOST_RST_RBT_ATTEMPTS_SVC}:${HOST_START_TG
SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_RST_RBT_ATTEMPTS_SVC_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
SRC_URI += "git://github.com/openbmc/phosphor-state-manager"
-SRCREV = "5b95027528483ec7ce8761a2fdd018d671979d0b"
+SRCREV = "d6fe3150e1949fbada806d271644eb7590535047"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
index 2e4533d61..1acefd1a7 100644
--- a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb
@@ -39,5 +39,5 @@ DBUS_SERVICE_phosphor-ldap = " \
xyz.openbmc_project.LDAP.PrivilegeMapper.service \
"
SRC_URI += "git://github.com/openbmc/phosphor-user-manager"
-SRCREV = "75b5a6fc4c0c06f43623fe0e746fd55e667dceb3"
+SRCREV = "1af1223304dbf7aaecd5f238227abee95cce8b39"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb
index f791d68b4..79fa6206a 100644
--- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb
+++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb
@@ -20,7 +20,7 @@ DEPENDS += "phosphor-logging"
DEPENDS += "systemd"
SRC_URI += "git://github.com/openbmc/phosphor-watchdog"
-SRCREV = "9062ed11e4b2cd96cf96d09ff99d1734b96a1780"
+SRCREV = "c35135d32f9cb84b62de7b72eee3a2e87b4b3d4d"
S = "${WORKDIR}/git"
EXTRA_OEMESON = " \
diff --git a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
index 5d36313c9..89944bfbd 100644
--- a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
+++ b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
@@ -6,7 +6,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-webui.git"
-SRCREV = "5bd1dec7fdc8f6a3a20e6c23dc491b3d31392bc5"
+SRCREV = "f1aadb9093df7ee0789e9d3caf4e3c83a0bfbb6c"
S = "${WORKDIR}/git"
DEPENDS_prepend = "nodejs-native "
diff --git a/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb
new file mode 100644
index 000000000..86303c359
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb
@@ -0,0 +1,26 @@
+SUMMARY = "OpenBMC Quanta Detect Fan Fail Service"
+DESCRIPTION = "OpenBMC Quanta Detect Fan Fail Daemon."
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "bash"
+
+FILESEXTRAPATHS_append_gsj := "${THISDIR}/files:"
+SRC_URI_append_gsj = " file://detect-fan-fail.sh \
+ file://detect-fan-fail.service \
+ "
+
+do_install_append_gsj() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/detect-fan-fail.sh ${D}${bindir}/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/detect-fan-fail.service ${D}${systemd_unitdir}/system
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "detect-fan-fail.service"
diff --git a/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.service b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.service
new file mode 100644
index 000000000..0ccafe35d
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Detect Fan Fail Manager
+After=phosphor-pid-control.service
+
+[Service]
+ExecStart=/usr/bin/detect-fan-fail.sh
+Restart=always
+StandardOutput=syslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.sh b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.sh
new file mode 100644
index 000000000..80f1f69c5
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.sh
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+# get fan state by d-bus command
+function get_fan_state() {
+ get_property_path='xyz.openbmc_project.Sensor.Threshold.Critical CriticalAlarmLow'
+ fan_state="$(busctl get-property $1 $2 $get_property_path | awk '{print $2}')"
+ echo "$fan_state"
+}
+
+# set fan pwm by d-bus command
+function set_fan_value() {
+ set_property_path='xyz.openbmc_project.Control.FanPwm'
+ busctl set-property $1 $2 $set_property_path Target t 255
+}
+
+fan_tach_path=( '/xyz/openbmc_project/sensors/fan_tach/Fan0_0_RPM'
+ '/xyz/openbmc_project/sensors/fan_tach/Fan0_1_RPM'
+ '/xyz/openbmc_project/sensors/fan_tach/Fan1_0_RPM'
+ '/xyz/openbmc_project/sensors/fan_tach/Fan1_1_RPM'
+ '/xyz/openbmc_project/sensors/fan_tach/Fan2_0_RPM'
+ '/xyz/openbmc_project/sensors/fan_tach/Fan2_1_RPM'
+ )
+
+check_fail_flag=0
+current_fan_state=()
+while true; do
+ hwmon_path="$(mapper get-service ${fan_tach_path[0]})"
+ for i in ${!fan_tach_path[@]};
+ do
+ current_fan_state[$i%2]=$(get_fan_state $hwmon_path ${fan_tach_path[$i]})
+
+ #Compare state of dual rotors with CriticalAlarmLow to check if fan fail
+ if [ ${#current_fan_state[@]} -eq 2 ];then
+ if [ "${current_fan_state[0]}" == "true" ] && \
+ [ "${current_fan_state[1]}" == "true" ] ;then
+ if [ $check_fail_flag -eq 0 ];then
+ systemctl stop phosphor-pid-control
+ for j in ${!fan_tach_path[@]};
+ do
+ #If fan fail is detect, set other fan rpm to pwm 255.
+ set_fan_value $hwmon_path ${fan_tach_path[$j]}
+ check_fail_flag=1
+ done
+ fi
+ current_fan_state=()
+ break
+ fi
+ current_fan_state=()
+ fi
+
+ #fans are going to normal.
+ if [ $i -eq $((${#fan_tach_path[@]}-1)) ] && [ $check_fail_flag -eq 1 ]; then
+ check_fail_flag=0
+ systemctl restart phosphor-pid-control
+ fi
+ done
+ sleep 2
+done
diff --git a/meta-quanta/meta-gsj/recipes-gsj/mac-address/files/mac-address.service b/meta-quanta/meta-gsj/recipes-gsj/mac-address/files/mac-address.service
new file mode 100644
index 000000000..e18d69493
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-gsj/mac-address/files/mac-address.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Initialize MAC Address
+Before=usb_network.service network-pre.target
+Wants=network-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/mac-address
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb b/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
new file mode 100644
index 000000000..8d3fbf376
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
@@ -0,0 +1,27 @@
+SRC_URI = "git://github.com/quanta-bmc/mac-address.git;protocol=git"
+SRCREV = "${AUTOREV}"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit autotools pkgconfig
+inherit systemd
+
+DEPENDS += "systemd"
+DEPENDS += "autoconf-archive-native"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI_append = " file://mac-address.service"
+
+HASHSTYLE = "gnu"
+S = "${WORKDIR}/git"
+CXXFLAGS += "-std=c++17"
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/mac-address.service \
+ ${D}${systemd_unitdir}/system
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} += "mac-address.service" \ No newline at end of file
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json
new file mode 100644
index 000000000..a4552bc5b
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json
@@ -0,0 +1,412 @@
+{
+ "sensors" : [
+ {
+ "name": "Fan0_0_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan0_0_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm1",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan0_1_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan0_1_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm1",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan1_0_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan1_0_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm2",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan1_1_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan1_1_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm2",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan2_0_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan2_0_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm3",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan2_1_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan2_1_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm3",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "KL0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/KL0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ }
+ ],
+ "zones" : [
+ {
+ "id": 0,
+ "minThermalOutput": 0.0,
+ "failsafePercent": 100.0,
+ "pids": [
+ {
+ "name": "Fan0_0_RPM",
+ "type": "fan",
+ "inputs": ["Fan0_0_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan0_1_RPM",
+ "type": "fan",
+ "inputs": ["Fan0_1_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan1_0_RPM",
+ "type": "fan",
+ "inputs": ["Fan1_0_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan1_1_RPM",
+ "type": "fan",
+ "inputs": ["Fan1_1_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan2_0_RPM",
+ "type": "fan",
+ "inputs": ["Fan2_0_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan2_1_RPM",
+ "type": "fan",
+ "inputs": ["Fan2_1_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "nvme0",
+ "type": "temp",
+ "inputs": ["nvme0"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme1",
+ "type": "temp",
+ "inputs": ["nvme1"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "KL0",
+ "type": "stepwise",
+ "inputs": ["KL0"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 0.0,
+ "negativeHysteresis": 0.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 25,
+ "1": 26,
+ "2": 27,
+ "3": 28,
+ "4": 29,
+ "5": 30,
+ "6": 31,
+ "7": 32,
+ "8": 33,
+ "9": 34,
+ "10": 35,
+ "11": 36,
+ "12": 37,
+ "13": 38,
+ "14": 39,
+ "15": 40,
+ "16": 42,
+ "17": 44,
+ "18": 45,
+ "19": 50
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 10,
+ "3": 10,
+ "4": 10,
+ "5": 10,
+ "6": 20,
+ "7": 30,
+ "8": 40,
+ "9": 50,
+ "10": 60,
+ "11": 73,
+ "12": 76,
+ "13": 79,
+ "14": 82,
+ "15": 86,
+ "16": 90,
+ "17": 90,
+ "18": 100,
+ "19": 100
+ }
+ }
+ },
+ {
+ "name": "nvme00",
+ "type": "stepwise",
+ "inputs": ["nvme0"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 5,
+ "1": 5,
+ "2": 5,
+ "3": 6,
+ "4": 6,
+ "5": 7,
+ "6": 7,
+ "7": 8,
+ "8": 10,
+ "9": 12,
+ "10": 14,
+ "11": 16,
+ "12": 18,
+ "13": 20,
+ "14": 21,
+ "15": 21,
+ "16": 22,
+ "17": 22,
+ "18": 25,
+ "19": 25
+ }
+ }
+ },
+ {
+ "name": "nvme10",
+ "type": "stepwise",
+ "inputs": ["nvme1"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 5,
+ "1": 5,
+ "2": 5,
+ "3": 6,
+ "4": 6,
+ "5": 7,
+ "6": 7,
+ "7": 8,
+ "8": 10,
+ "9": 12,
+ "10": 14,
+ "11": 16,
+ "12": 18,
+ "13": 20,
+ "14": 21,
+ "15": 21,
+ "16": 22,
+ "17": 22,
+ "18": 25,
+ "19": 25
+ }
+ }
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json
new file mode 100644
index 000000000..7cfa861cb
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json
@@ -0,0 +1,928 @@
+{
+ "sensors" : [
+ {
+ "name": "Fan0_0_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan0_0_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm1",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan0_1_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan0_1_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm1",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan1_0_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan1_0_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm2",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan1_1_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan1_1_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm2",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan2_0_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan2_0_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm3",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Fan2_1_RPM",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/Fan2_1_RPM",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm3",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "KL0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/KL0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme2",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme2",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme3",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme3",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme4",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme4",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme5",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme5",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme6",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme6",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "nvme7",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/nvme7",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ }
+ ],
+ "zones" : [
+ {
+ "id": 0,
+ "minThermalOutput": 0.0,
+ "failsafePercent": 100.0,
+ "pids": [
+ {
+ "name": "Fan0_0_RPM",
+ "type": "fan",
+ "inputs": ["Fan0_0_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan0_1_RPM",
+ "type": "fan",
+ "inputs": ["Fan0_1_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan1_0_RPM",
+ "type": "fan",
+ "inputs": ["Fan1_0_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan1_1_RPM",
+ "type": "fan",
+ "inputs": ["Fan1_1_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan2_0_RPM",
+ "type": "fan",
+ "inputs": ["Fan2_0_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "Fan2_1_RPM",
+ "type": "fan",
+ "inputs": ["Fan2_1_RPM"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": 0.0,
+ "integralCoeff": 0.0,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 1.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 3.0,
+ "outLim_max": 100.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0
+ }
+ },
+ {
+ "name": "nvme0",
+ "type": "temp",
+ "inputs": ["nvme0"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme1",
+ "type": "temp",
+ "inputs": ["nvme1"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme2",
+ "type": "temp",
+ "inputs": ["nvme2"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme3",
+ "type": "temp",
+ "inputs": ["nvme3"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme4",
+ "type": "temp",
+ "inputs": ["nvme4"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme5",
+ "type": "temp",
+ "inputs": ["nvme5"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme6",
+ "type": "temp",
+ "inputs": ["nvme6"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "nvme7",
+ "type": "temp",
+ "inputs": ["nvme7"],
+ "setpoint": 65.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "proportionalCoeff": -20.0,
+ "integralCoeff": -0.1,
+ "feedFwdOffsetCoeff": 0.0,
+ "feedFwdGainCoeff": 0.0,
+ "integralLimit_min": 0.0,
+ "integralLimit_max": 0.0,
+ "outLim_min": 0.0,
+ "outLim_max": 16000.0,
+ "slewNeg": 0.0,
+ "slewPos": 0.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0
+ }
+ },
+ {
+ "name": "KL0",
+ "type": "stepwise",
+ "inputs": ["KL0"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 0.0,
+ "negativeHysteresis": 0.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 25,
+ "1": 26,
+ "2": 27,
+ "3": 28,
+ "4": 29,
+ "5": 30,
+ "6": 31,
+ "7": 32,
+ "8": 33,
+ "9": 34,
+ "10": 35,
+ "11": 36,
+ "12": 37,
+ "13": 38,
+ "14": 39,
+ "15": 40,
+ "16": 42,
+ "17": 44,
+ "18": 45,
+ "19": 50
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 10,
+ "3": 10,
+ "4": 10,
+ "5": 10,
+ "6": 20,
+ "7": 30,
+ "8": 40,
+ "9": 50,
+ "10": 60,
+ "11": 73,
+ "12": 76,
+ "13": 79,
+ "14": 82,
+ "15": 86,
+ "16": 90,
+ "17": 90,
+ "18": 100,
+ "19": 100
+ }
+ }
+ },
+ {
+ "name": "nvme00",
+ "type": "stepwise",
+ "inputs": ["nvme0"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme10",
+ "type": "stepwise",
+ "inputs": ["nvme1"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme20",
+ "type": "stepwise",
+ "inputs": ["nvme2"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme30",
+ "type": "stepwise",
+ "inputs": ["nvme3"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme40",
+ "type": "stepwise",
+ "inputs": ["nvme4"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme50",
+ "type": "stepwise",
+ "inputs": ["nvme5"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme60",
+ "type": "stepwise",
+ "inputs": ["nvme6"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ },
+ {
+ "name": "nvme70",
+ "type": "stepwise",
+ "inputs": ["nvme7"],
+ "setpoint": 30.0,
+ "pid": {
+ "samplePeriod": 1.0,
+ "positiveHysteresis": 1.0,
+ "negativeHysteresis": 1.0,
+ "isCeiling": false,
+ "reading": {
+ "0": 45,
+ "1": 46,
+ "2": 47,
+ "3": 48,
+ "4": 49,
+ "5": 50,
+ "6": 51,
+ "7": 52,
+ "8": 53,
+ "9": 54,
+ "10": 55,
+ "11": 56,
+ "12": 57,
+ "13": 58,
+ "14": 59,
+ "15": 60,
+ "16": 61,
+ "17": 62,
+ "18": 63,
+ "19": 64
+ },
+ "output": {
+ "0": 10,
+ "1": 10,
+ "2": 13,
+ "3": 15,
+ "4": 18,
+ "5": 21,
+ "6": 24,
+ "7": 26,
+ "8": 28,
+ "9": 30,
+ "10": 32,
+ "11": 34,
+ "12": 36,
+ "13": 38,
+ "14": 40,
+ "15": 41,
+ "16": 42,
+ "17": 43,
+ "18": 44,
+ "19": 45
+ }
+ }
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-boot-control.service b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-boot-control.service
new file mode 100644
index 000000000..2149c3da5
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-boot-control.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Set Fan to Default Duty as Booting Up
+DefaultDependencies=no
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/fan-default-speed.sh
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-control.sh b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-control.sh
new file mode 100644
index 000000000..3c84ce418
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-control.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+NVME_GPIO_NUM=( 148 149 150 151 152 153 154 155 )
+NVME=( 1 1 1 1 1 1 1 1 )
+FAN_TABLE_PATH="/usr/share/swampd/config.json"
+FAN_TABLE=( "/usr/share/swampd/config-8ssd.json" "/usr/share/swampd/config-2ssd.json" )
+TYPE=-1
+
+# get nvme presence
+for i in {0..7}
+do
+ gpioNum=${NVME_GPIO_NUM[$i]}
+ NVME[$i]=$(cat /sys/class/gpio/gpio$gpioNum/value)
+done
+
+# distinguish between 8-ssd and 2-ssd sku
+for i in {2..7}
+do
+ if [ ${NVME[$i]} -eq 0 ]; then
+ TYPE=0
+ fi
+done
+if [ $TYPE -eq -1 ]; then
+ for i in {0..1}
+ do
+ if [ ${NVME[$i]} -eq 0 ]; then
+ TYPE=1
+ fi
+ done
+fi
+
+if [ $TYPE -eq 1 ]; then
+ cp ${FAN_TABLE[1]} $FAN_TABLE_PATH
+else
+ cp ${FAN_TABLE[0]} $FAN_TABLE_PATH
+fi
+
+# start pid control
+/usr/bin/swampd
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh
new file mode 100644
index 000000000..2cd31066c
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh
@@ -0,0 +1,5 @@
+#!bin/bash
+
+echo 230 > /sys/class/hwmon/*/pwm1
+echo 230 > /sys/class/hwmon/*/pwm2
+echo 230 > /sys/class/hwmon/*/pwm3
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
new file mode 100644
index 000000000..681bdbe00
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Set Fan to Default Duty as Rebooting
+DefaultDependencies=no
+After=shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/bin/fan-default-speed.sh
+
+[Install]
+WantedBy=shutdown.target
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
new file mode 100644
index 000000000..0e18819f8
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OpenBMC Fan Control Daemon
+After=xyz.openbmc_project.nvme.manager.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/fan-control.sh
+Restart=always
+RestartSec=5
+StartLimitInterval=0
+ExecStopPost=/usr/bin/fan-default-speed.sh
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
new file mode 100644
index 000000000..13d037e41
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -0,0 +1,40 @@
+FILESEXTRAPATHS_prepend_gsj := "${THISDIR}/${PN}:"
+SRC_URI_append_gsj = " file://config-8ssd.json"
+SRC_URI_append_gsj = " file://config-2ssd.json"
+SRC_URI_append_gsj = " file://fan-control.sh"
+SRC_URI_append_gsj = " file://fan-default-speed.sh"
+SRC_URI_append_gsj = " file://phosphor-pid-control.service"
+SRC_URI_append_gsj = " file://fan-reboot-control.service"
+SRC_URI_append_gsj = " file://fan-boot-control.service"
+
+FILES_${PN}_append_gsj = " ${datadir}/swampd/config-8ssd.json"
+FILES_${PN}_append_gsj = " ${datadir}/swampd/config-2ssd.json"
+FILES_${PN}_append_gsj = " ${bindir}/fan-control.sh"
+FILES_${PN}_append_gsj = " ${bindir}/fan-default-speed.sh"
+
+inherit systemd
+RDEPENDS_${PN} += "bash"
+
+SYSTEMD_SERVICE_${PN}_append_gsj = " phosphor-pid-control.service"
+SYSTEMD_SERVICE_${PN}_append_gsj = " fan-reboot-control.service"
+SYSTEMD_SERVICE_${PN}_append_gsj = " fan-boot-control.service"
+
+do_install_append_gsj() {
+ install -d ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/fan-control.sh ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/fan-default-speed.sh ${D}/${bindir}
+
+ install -d ${D}${datadir}/swampd
+ install -m 0644 -D ${WORKDIR}/config-8ssd.json \
+ ${D}${datadir}/swampd/config-8ssd.json
+ install -m 0644 -D ${WORKDIR}/config-2ssd.json \
+ ${D}${datadir}/swampd/config-2ssd.json
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/phosphor-pid-control.service \
+ ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/fan-reboot-control.service \
+ ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/fan-boot-control.service \
+ ${D}${systemd_unitdir}/system
+}
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gsj/recipes-phosphor/images/obmc-phosphor-image.bbappend
index b4f8d0665..60de2fcd4 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ b/meta-quanta/meta-gsj/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -1 +1,3 @@
OBMC_IMAGE_EXTRA_INSTALL_append_gsj = " phosphor-ipmi-flash"
+OBMC_IMAGE_EXTRA_INSTALL_append_gsj = " phosphor-pid-control"
+OBMC_IMAGE_EXTRA_INSTALL_append_gsj = " detect-fan-fail"
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf
index 9eaee659e..8b0e37e99 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf
+++ b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-fan-controller@103000.conf
@@ -1,8 +1,8 @@
LABEL_fan1= "Fan0_0_RPM"
TARGET_fan1= "Fan0_0_RPM"
-WARNHI_fan1= "19000"
-WARNLO_fan1= "230"
-CRITHI_fan1= "20000"
+WARNHI_fan1= "19250"
+WARNLO_fan1= "150"
+CRITHI_fan1= "19250"
CRITLO_fan1= "150"
MINVALUE_fan1 = "0"
MAXVALUE_fan1 = "20145"
@@ -11,9 +11,9 @@ EVENT_fan1= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_fan2= "Fan0_1_RPM"
TARGET_fan2= "Fan0_1_RPM"
-WARNHI_fan2= "19000"
-WARNLO_fan2= "230"
-CRITHI_fan2= "20000"
+WARNHI_fan2= "17600"
+WARNLO_fan2= "150"
+CRITHI_fan2= "17600"
CRITLO_fan2= "150"
MINVALUE_fan2 = "0"
MAXVALUE_fan2 = "20145"
@@ -22,9 +22,9 @@ EVENT_fan2= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_fan3= "Fan1_0_RPM"
TARGET_fan3= "Fan1_0_RPM"
-WARNHI_fan3= "19000"
-WARNLO_fan3= "230"
-CRITHI_fan3= "20000"
+WARNHI_fan3= "19250"
+WARNLO_fan3= "150"
+CRITHI_fan3= "19250"
CRITLO_fan3= "150"
MINVALUE_fan3 = "0"
MAXVALUE_fan3 = "20145"
@@ -33,9 +33,9 @@ EVENT_fan3= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_fan4= "Fan1_1_RPM"
TARGET_fan4= "Fan1_1_RPM"
-WARNHI_fan4= "19000"
-WARNLO_fan4= "230"
-CRITHI_fan4= "20000"
+WARNHI_fan4= "17600"
+WARNLO_fan4= "150"
+CRITHI_fan4= "17600"
CRITLO_fan4= "150"
MINVALUE_fan4 = "0"
MAXVALUE_fan4 = "20145"
@@ -44,9 +44,9 @@ EVENT_fan4= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_fan5= "Fan2_0_RPM"
TARGET_fan5= "Fan2_0_RPM"
-WARNHI_fan5= "19000"
-WARNLO_fan5= "230"
-CRITHI_fan5= "20000"
+WARNHI_fan5= "19250"
+WARNLO_fan5= "150"
+CRITHI_fan5= "19250"
CRITLO_fan5= "150"
MINVALUE_fan5 = "0"
MAXVALUE_fan5 = "20145"
@@ -55,11 +55,11 @@ EVENT_fan5= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_fan6= "Fan2_1_RPM"
TARGET_fan6= "Fan2_1_RPM"
-WARNHI_fan6= "19000"
-WARNLO_fan6= "230"
-CRITHI_fan6= "20000"
+WARNHI_fan6= "17600"
+WARNLO_fan6= "150"
+CRITHI_fan6= "17600"
CRITLO_fan6= "150"
MINVALUE_fan6 = "0"
MAXVALUE_fan6 = "20145"
PWM_TARGET_fan6 = 3
-EVENT_fan6= "WARNHI,WARNLO,CRITHI,CRITLO" \ No newline at end of file
+EVENT_fan6= "WARNHI,WARNLO,CRITHI,CRITLO"
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
index 0313b0444..e2d753040 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -15,9 +15,9 @@ ITEMSFMT = "ahb/apb/{0}.conf"
ITEMS += "${@compose_list(d, 'ITEMSFMT', 'NAMES')}"
ENVS = "obmc/hwmon/{0}"
-SYSTEMD_ENVIRONMENT_FILE_${PN} += "${@compose_list(d, 'ENVS', 'ITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gsj = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
# Fan sensors
FITEMS = "pwm-fan-controller@103000.conf"
FENVS = "obmc/hwmon/ahb/apb/{0}"
-SYSTEMD_ENVIRONMENT_FILE_${PN} += "${@compose_list(d, 'FENVS', 'FITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_gsj = " ${@compose_list(d, 'FENVS', 'FITEMS')}"
diff --git a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
index 538803d8e..6cbee8b37 100644
--- a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
+++ b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
@@ -143,7 +143,7 @@ IMAGE_CMD_rpi-sdimg () {
fi
fi
- if [ -n ${FATPAYLOAD} ] ; then
+ if [ -n "${FATPAYLOAD}" ] ; then
echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do
# add the || true to stop aborting on vfat issues like not supporting .~lock files
diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
index a5fe6d707..9983b61a6 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
@@ -1,3 +1,3 @@
# RaspberryPi BSP default versions
-PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%"
+PREFERRED_VERSION_linux-raspberrypi ??= "4.19.%"
diff --git a/meta-raspberrypi/recipes-bsp/common/firmware.inc b/meta-raspberrypi/recipes-bsp/common/firmware.inc
index d19525ffd..e2c3b1a14 100644
--- a/meta-raspberrypi/recipes-bsp/common/firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/firmware.inc
@@ -1,10 +1,10 @@
-RPIFW_DATE ?= "20190220"
-SRCREV ?= "ebf7b40cdc6effe7ffa3fd5195e8be01b94f80da"
+RPIFW_DATE ?= "20190517"
+SRCREV ?= "e1900836948f6c6bdf4571da1b966a9085c95d37"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "611077d343e3802496dd99118ca4e977"
-SRC_URI[sha256sum] = "e911f6342ea8aa9380cae97c6f5ac4ddd370527265f23d5b5d4b2c6f679d4ba8"
+SRC_URI[md5sum] = "ba272fed3661f0c8d5e4c424d2617246"
+SRC_URI[sha256sum] = "2a4c566e98b16575ebf295b795b40a5772f81282948e957bdc9733cf72fdcd39"
PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
index cea215dad..b2bd46f6f 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch
@@ -1,4 +1,4 @@
-From 829dff626d423ad34c8e710cd10d5fc9a4ea80b3 Mon Sep 17 00:00:00 2001
+From e94675aa943c114ff801167c69bdd2d366d01665 Mon Sep 17 00:00:00 2001
From: Dom Cobley <dc4@broadcom.com>
Date: Tue, 9 Jul 2013 09:26:26 -0400
Subject: [PATCH 01/18] Allow applications to set next resource handle
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
index 5501000e3..5efc7a4d3 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch
@@ -1,4 +1,4 @@
-From 469840d211beb22085e57934bda3caabb71a4695 Mon Sep 17 00:00:00 2001
+From ad6f485d9eb809b67398ce0948844dd30ea1c8e3 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
Subject: [PATCH 02/18] wayland: Add support for the Wayland winsys
@@ -91,11 +91,11 @@ index cfc8ae5..673a5ad 100644
# Global include paths
diff --git a/README.md b/README.md
-index de5754d..2097036 100644
+index 404e4d4..97a6b8f 100644
--- a/README.md
+++ b/README.md
-@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile
- https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
+@@ -8,3 +8,7 @@ https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linu
+ Whilst 64-bit userspace is not officially supported, some of the libraries will work for it. To cross compile, install gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu first. For both native and cross compiles, add the option ```--aarch64``` to the buildme command.
Note that this repository does not contain the source for the edidparser and vcdbg binaries due to licensing restrictions.
+
@@ -103,10 +103,10 @@ index de5754d..2097036 100644
+
+$ BUILD_WAYLAND=1 ./buildme.
diff --git a/buildme b/buildme
-index b8fd440..a780bb6 100755
+index cee90a6..d1d76a7 100755
--- a/buildme
+++ b/buildme
-@@ -8,6 +8,10 @@ fi
+@@ -17,6 +17,10 @@ fi
BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
@@ -114,10 +114,10 @@ index b8fd440..a780bb6 100755
+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
+fi
+
- if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
+ if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then
# Native compile on the Raspberry Pi
mkdir -p build/raspberry/$BUILDSUBDIR
-@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then
+@@ -41,9 +45,13 @@ elif [ "$1" = "--native" ]; then
make -j `nproc` $*
else
# Cross compile on a more capable machine
@@ -127,8 +127,8 @@ index b8fd440..a780bb6 100755
+ fi
mkdir -p build/arm-linux/$BUILDSUBDIR
pushd build/arm-linux/$BUILDSUBDIR
-- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
-+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../..
+- cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../..
++ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 $WAYLAND_VARS ../../..
make -j `nproc`
if [ "$1" != "" ]; then
@@ -1894,5 +1894,5 @@ index 0000000..ad90d30
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
+endfunction()
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
index 74b97b821..ba83db8c7 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch
@@ -1,4 +1,4 @@
-From 2391bba64116135369147e930fb14b5824a9cef0 Mon Sep 17 00:00:00 2001
+From 642110bbc9ebcb9ad497f4f1c1ccbc5a9afda753 Mon Sep 17 00:00:00 2001
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Tue, 1 Oct 2013 13:19:20 +0200
Subject: [PATCH 03/18] wayland: Add Wayland example
@@ -862,5 +862,5 @@ index 8225dd5..0be6ce7 100755
-
+make -C hello_wayland
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
index 9621afa7f..c806e7b6b 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
@@ -1,4 +1,4 @@
-From 3d1d046281b90d6777864b0d9a032657fad78d76 Mon Sep 17 00:00:00 2001
+From 33374e6b19a28d52a0089aa7b9af9b698fb98a86 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 10 Aug 2015 02:38:27 -0700
Subject: [PATCH 04/18] wayland-egl: Add bcm_host to dependencies
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
Libs: -L${libdir} -lwayland-egl
Cflags: -I${includedir}
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
index 004e2eb11..bcf828ce0 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
@@ -1,4 +1,4 @@
-From d17e5b9285635dcbe1c6e5a7398f6e5b1560a0c0 Mon Sep 17 00:00:00 2001
+From e2d13265a34519364bd7d27d54a860967b320504 Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sat, 24 Jan 2015 22:07:19 +0100
Subject: [PATCH 05/18] interface: remove faulty assert() to make weston happy
@@ -25,5 +25,5 @@ index eab146e..29e0dee 100755
}
} else {
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
index 955dfa1a6..ed7baf869 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch
@@ -1,4 +1,4 @@
-From 7d4559c2418f4997dfdddefa9281250d0d8082db Mon Sep 17 00:00:00 2001
+From 0c64a21bd90b9dea9916dcdc7c8c23b93518ccb8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:10:47 -0800
Subject: [PATCH 06/18] zero-out wl buffers in egl_surface_free
@@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644
#endif
}
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
index 514782f17..3bc633f39 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch
@@ -1,4 +1,4 @@
-From 19e63107670bb15833744402d68c8fcae9e53a12 Mon Sep 17 00:00:00 2001
+From 4e0f83d815461d501fef788236dab356c9b60ea5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:11:41 -0800
Subject: [PATCH 07/18] initialize front back wayland buffers
@@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644
}
#endif
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
index bd6c2ff0f..94dee0710 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch
@@ -1,4 +1,4 @@
-From 4312ce4f9320b25f513c4d8fa163f9d8faebfd97 Mon Sep 17 00:00:00 2001
+From 67384449b85e65661558b9ebe059792cdd737fc7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 11:09:18 -0800
Subject: [PATCH 08/18] Remove RPC_FLUSH
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
index e138ae250..375b1815e 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch
@@ -1,4 +1,4 @@
-From cb454ad44fcb35fc28b823f05f3538c1f997e89e Mon Sep 17 00:00:00 2001
+From a4a31696bddb72f3bf58f6b5303816fd31081566 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 6 Feb 2016 13:12:47 -0800
Subject: [PATCH 09/18] fix cmake dependency race
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
index 70d90455f..20a374389 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch
@@ -1,4 +1,4 @@
-From 2f0b25266d0b4b04ef78b8950f5bd9749857b4f0 Mon Sep 17 00:00:00 2001
+From c7acd48a9044e24d64ef453ff35202d6a697eb5d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Mar 2016 20:38:30 -0700
Subject: [PATCH 10/18] Fix for framerate with nested composition
@@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644
#ifdef ANDROID
CLIENT_UNLOCK();
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
index da37102ca..5e141358b 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch
@@ -1,4 +1,4 @@
-From 5bc4118e7861f35ead6565530cb4213987296fb9 Mon Sep 17 00:00:00 2001
+From a49fbbc6abc3d57d45011a3410d3b8f04349e424 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:37:24 -0700
Subject: [PATCH 11/18] build shared library for vchostif
@@ -24,5 +24,5 @@ index c415176..d0cca1a 100755
#add_library(bufman vc_vchi_bufman.c )
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
index 40666fde9..0bb9ef703 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
@@ -1,4 +1,4 @@
-From 27194bc05a7a488827590208285a8757164edcef Mon Sep 17 00:00:00 2001
+From 70c5c684fbfbc8ebd890b0aafb2bb5c13d6cfb11 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Apr 2016 10:54:59 -0700
Subject: [PATCH 12/18] implement buffer wrapping interface for dispmanx
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
</protocol>
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
index 519785699..aae0b0257 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch
@@ -1,4 +1,4 @@
-From e99b2eafba5260b8087fc1a85830b08ea3228292 Mon Sep 17 00:00:00 2001
+From 789d16a9d5aa57b201e9d6be9427671f48fec5e4 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Thu, 19 Jan 2017 18:56:07 +0000
Subject: [PATCH 13/18] Implement triple buffering for wayland
@@ -86,5 +86,5 @@ index e328b77..58a3184 100644
back_wl_buffer
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
index 7f7e73227..dd27e6819 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
@@ -1,4 +1,4 @@
-From a9726c7fdcd386bd104b13c494d261f693dde792 Mon Sep 17 00:00:00 2001
+From 49604e158b8171033bc8a9db5d8893887fb98557 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 10 May 2017 06:39:34 +0000
Subject: [PATCH 14/18] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
@@ -31,5 +31,5 @@ index 4eacf7f..b1acc9f 100644
#ifndef GL_EXT_texture_type_2_10_10_10_REV
#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
index cfcc12088..5a5a0322d 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch
@@ -1,4 +1,4 @@
-From 3ba79e86cdec88440885fefc7aadf793b301b000 Mon Sep 17 00:00:00 2001
+From 90f6ebc04c688720f45c7009d12d524d33f51781 Mon Sep 17 00:00:00 2001
From: Andrea Galbusera <gizero@gmail.com>
Date: Fri, 14 Jul 2017 09:52:54 +0200
Subject: [PATCH 15/18] EGL/glplatform.h: define EGL_CAST
@@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644
+
#endif /* __eglplatform_h */
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
index 2d1b8828c..da18541b6 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
@@ -1,4 +1,4 @@
-From 5c53b2ff4d14b988ae9ab453fb2ef97b6a277ded Mon Sep 17 00:00:00 2001
+From b8a1516fd1d8c8a5f2400a7fb7bd6b9e05d33a55 Mon Sep 17 00:00:00 2001
From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Date: Sat, 27 Jan 2018 12:28:31 -0500
Subject: [PATCH 16/18] Allow multiple wayland compositor state data per
@@ -141,5 +141,5 @@ index 9ef89cd..abd5ab3 100644
CLIENT_UNLOCK();
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
index 9c223abea..9d96d5fe9 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch
@@ -1,4 +1,4 @@
-From 0d3c6b7ca5d352cc00d9501b9d5576c4ece70a83 Mon Sep 17 00:00:00 2001
+From d65939b5bdc6cfddb68803e87efffac13182ae46 Mon Sep 17 00:00:00 2001
From: Hugo Hromic <hhromic@gmail.com>
Date: Sun, 13 May 2018 10:49:04 +0100
Subject: [PATCH 17/18] khronos: backport typedef for
@@ -34,5 +34,5 @@ index d7e5ba7..dcc90ce 100755
#ifndef EGL_WL_bind_wayland_display
#define EGL_WL_bind_wayland_display 1
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
index 03499d40d..86f7b3635 100644
--- a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch
@@ -1,4 +1,4 @@
-From 0f98ccac128265b85af3c5e310413fc9fce9f78c Mon Sep 17 00:00:00 2001
+From e5fcfe7af2c7f75b66356680bb641f4f6555d0c5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Jul 2018 00:48:38 -0700
Subject: [PATCH 18/18] Add EGL_IMG_context_priority related defines
@@ -31,5 +31,5 @@ index dcc90ce..6842bf9 100755
#define EGL_KHR_vg_parent_image 1
#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */
--
-2.20.1
+2.21.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index 2815942e8..2b5ac3301 100644
--- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -12,11 +12,11 @@ COMPATIBLE_MACHINE = "^rpi$"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
-SRCREV = "e5803f2c986cbf8c919c60278b3231dcdf4271a6"
+SRCREV = "517cdc30da167d81a485e7a994e02cec2390a269"
# Use the date of the above commit as the package version. Update this when
# SRCREV is changed.
-PV = "20190114"
+PV = "20190501"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
diff --git a/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc b/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
index cd0d57b22..4d8b282f1 100644
--- a/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
+++ b/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
@@ -25,9 +25,6 @@ do_install () {
install -d ${D}${bindir}
cp -R bin/* ${D}${bindir}
- install -d ${D}${sbindir}
- cp -R sbin/* ${D}${sbindir}
-
install -d ${D}${libdir}
# note: -H option to deref symlinked .so
cp -R -H lib/* ${D}${libdir}
@@ -49,7 +46,6 @@ INITSCRIPT_NAME = "vchiq.sh"
INITSCRIPT_PARAMS = "start 03 S ."
FILES_${PN} = "${bindir}/* \
- ${sbindir}/* \
${libdir}/lib*.so \
${sysconfdir}/init.d \
${libdir}/plugins"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
index 8842e715b..396dd6f75 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
@@ -1,9 +1,9 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
-LINUX_VERSION ?= "4.19.34"
+LINUX_VERSION ?= "4.19.44"
LINUX_RPI_BRANCH ?= "rpi-4.19.y"
-SRCREV = "ab8652c03fa081b27de7e28a74c2536cb2aa3e5b"
+SRCREV = "b45a32b47b76cb64225d19841c20ee85ea97874d"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
"
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
deleted file mode 100644
index ed8645e94..000000000
--- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Fri, 4 Dec 2015 18:39:59 +0100
-Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
- timeout releasing the buffers taken by the egl_render out port
-
----
- omx/gstomxvideodec.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-Index: gst-omx-1.14.0/omx/gstomxvideodec.c
-===================================================================
---- gst-omx-1.14.0.orig/omx/gstomxvideodec.c
-+++ gst-omx-1.14.0/omx/gstomxvideodec.c
-@@ -2214,7 +2214,9 @@ gst_omx_video_dec_disable (GstOMXVideoDe
- return FALSE;
- if (gst_omx_port_wait_buffers_released (out_port,
- 1 * GST_SECOND) != OMX_ErrorNone)
-+#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL))
- return FALSE;
-+#endif
- if (gst_omx_video_dec_deallocate_output_buffers (self) != OMX_ErrorNone)
- return FALSE;
- if (gst_omx_port_wait_enabled (out_port, 1 * GST_SECOND) != OMX_ErrorNone)
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
index 85fea67be..c8af7da0e 100644
--- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
+++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
@@ -1,8 +1,10 @@
-From cfb432fcd8868c7a4f32010c61e47e2bf0ff80c6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Mon, 25 May 2015 14:53:35 +0200
+From 160181edf5fc73288abfe99fa04de4a550cd9c65 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 11 Feb 2016 12:53:20 -0800
Subject: [PATCH] Don't try to acquire buffer when src pad isn't active
+From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
+
This solves a race condition when setting the pipeline from PAUSE to
NULL while the decoder loop is still running. Without this patch, the
thread which interacts with the decode sink pad gets blocked here:
@@ -29,11 +31,11 @@ arrive:
1 file changed, 5 insertions(+)
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index d12ee8f..fb0100a 100644
+index abe6e30..c4dc33f 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
-@@ -1250,6 +1250,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
- GstClockTimeDiff deadline;
+@@ -1598,6 +1598,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
+ GstOMXAcquireBufferReturn acq_return;
OMX_ERRORTYPE err;
+ if (!gst_pad_is_active(GST_VIDEO_DECODER_SRC_PAD (self))) {
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch
index 6903c1770..6903c1770 100644
--- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0001-config-files-path.patch
+++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0001-config-files-path.patch
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch
index 4124bccf8..434232661 100644
--- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0003-no-timeout-on-get-state.patch
+++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0003-no-timeout-on-get-state.patch
@@ -1,4 +1,4 @@
-From 02e49cba402a783fa1b30e445b83a5c280949c1e Mon Sep 17 00:00:00 2001
+From 21f776bff596bc0bd09708efa6497f8bdcd065c0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 13 Feb 2016 11:42:29 -0800
@@ -7,10 +7,10 @@ Date: Sat, 13 Feb 2016 11:42:29 -0800
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index fb0100a..bad6335 100644
+index c4dc33f..ba5304f 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
-@@ -1713,9 +1713,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder)
+@@ -2021,9 +2021,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder)
g_cond_broadcast (&self->drain_cond);
g_mutex_unlock (&self->drain_lock);
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch
index 3c9dd2c88..144ced6ab 100644
--- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.14/0004-Properly-handle-drain-requests-while-flushing.patch
+++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0004-Properly-handle-drain-requests-while-flushing.patch
@@ -1,4 +1,4 @@
-From f00912f0628aff15e882bdc1619f5de1ddf5c720 Mon Sep 17 00:00:00 2001
+From 140bf8548843a98b0af2ddc1765ab59c16c8994c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
Date: Tue, 17 Nov 2015 16:51:27 +0000
Subject: [PATCH] Properly handle drain requests while flushing
@@ -10,11 +10,11 @@ the drain request, leaving the decoder input thread waiting forever.
omx/gstomx.c | 7 +++++++
1 file changed, 7 insertions(+)
-Index: gst-omx-1.14.0/omx/gstomx.c
-===================================================================
---- gst-omx-1.14.0.orig/omx/gstomx.c
-+++ gst-omx-1.14.0/omx/gstomx.c
-@@ -837,6 +837,13 @@ gst_omx_component_new (GstObject * paren
+diff --git a/omx/gstomx.c b/omx/gstomx.c
+index 038ce32..5202d33 100644
+--- a/omx/gstomx.c
++++ b/omx/gstomx.c
+@@ -1011,6 +1011,13 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name,
g_mutex_lock (&comp->lock);
gst_omx_component_handle_messages (comp);
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
new file mode 100644
index 000000000..3245294ea
--- /dev/null
+++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.16/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
@@ -0,0 +1,36 @@
+From cf6cf2060c5a7a7ddc0396a0c20c234fc56c79b6 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@gherzan.ro>
+Date: Tue, 28 May 2019 18:02:24 +0100
+Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
+ timeout releasing the buffers taken by the egl_render out port
+
+From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?=
+<eocanha@igalia.com>
+Date: Fri, 4 Dec 2015 18:39:59 +0100
+Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
+timeout releasing the buffers taken by the egl_render out port
+
+Upstream-status: Pending
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+---
+ omx/gstomxvideodec.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
+index ba5304f..8bd5d3d 100644
+--- a/omx/gstomxvideodec.c
++++ b/omx/gstomxvideodec.c
+@@ -2229,7 +2229,9 @@ gst_omx_video_dec_disable (GstOMXVideoDec * self)
+ return FALSE;
+ if (gst_omx_port_wait_buffers_released (out_port,
+ 1 * GST_SECOND) != OMX_ErrorNone)
++#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL))
+ return FALSE;
++#endif
+ if (!gst_omx_video_dec_deallocate_output_buffers (self))
+ return FALSE;
+ if (gst_omx_port_wait_enabled (out_port, 1 * GST_SECOND) != OMX_ErrorNone)
+--
+2.17.1
+
diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend
index cb7986bb3..79b35c411 100644
--- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14%.bbappend
+++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend
@@ -9,4 +9,4 @@ SRC_URI_append_rpi = " \
file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \
"
-FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.14:"
+FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.16:"
diff --git a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch
new file mode 100644
index 000000000..03319739b
--- /dev/null
+++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch
@@ -0,0 +1,8 @@
+--- a/Makefile 2019-06-20 15:04:53.390282996 +0200
++++ b/Makefile 2019-06-20 15:03:45.538763872 +0200
+@@ -1,4 +1,4 @@
+-CFLAGS=-pipe -mfloat-abi=hard -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog
++CFLAGS+= -fomit-frame-pointer -mabi=aapcs-linux -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog
+ CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
+
+ LDFLAGS=-L$(SDKSTAGE)/opt/vc/lib/
diff --git a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
index aad2fed04..831a91be6 100644
--- a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
+++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
@@ -33,6 +33,7 @@ SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master
file://0006-Prevent-ffmpeg-configure-compile-race-condition.patch \
file://0001-Specify-cc-cxx-and-ld-variables-from-environment.patch \
file://cross-crompile-ffmpeg.patch \
+ file://0007-Remove-Makefile-hardcoded-arch-tune.patch \
"
SRC_URI_append = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " file://0001-Fix-build-with-vc4-driver.patch ", "", d)}"
diff --git a/meta-security/lib/oeqa/runtime/cases/checksec.py b/meta-security/lib/oeqa/runtime/cases/checksec.py
new file mode 100644
index 000000000..ff6d2f319
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/checksec.py
@@ -0,0 +1,33 @@
+# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class CheckSecTest(OERuntimeTestCase):
+
+ @OEHasPackage(['checksec'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_checksec_help(self):
+ status, output = self.target.run('checksec --help ')
+ msg = ('checksec command does not work as expected. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['checksec.CheckSecTest.test_checksec_help'])
+ def test_checksec_xml(self):
+ status, output = self.target.run('checksec --format xml --proc-all')
+ msg = ('checksec xml failed. Output: %s' % output)
+ self.assertEqual(status, 0, msg = msg)
+
+ @OETestDepends(['checksec.CheckSecTest.test_checksec_xml'])
+ def test_checksec_fortify(self):
+ status, output = self.target.run('checksec --fortify-proc 1')
+ match = re.search('FORTIFY_SOURCE support:', output)
+ if not match:
+ msg = ('checksec : fortify-proc failed. '
+ 'Status and output:%s and %s' % (status, output))
+ self.assertEqual(status, 1, msg = msg)
diff --git a/meta-security/meta-integrity/README.md b/meta-security/meta-integrity/README.md
new file mode 100644
index 000000000..5bef76e8d
--- /dev/null
+++ b/meta-security/meta-integrity/README.md
@@ -0,0 +1,250 @@
+This README file contains information on the contents of the
+integrity layer.
+
+Please see the corresponding sections below for details.
+
+
+Dependencies
+============
+
+This layer depends on:
+
+ URI: git://git.openembedded.org/bitbake
+ branch: master
+
+ URI: git://git.openembedded.org/openembedded-core
+ layers: meta
+ branch: master
+
+ URI: git://github.com/01org/meta-security/meta-integrate
+ layers: security-framework
+ branch: master
+
+
+Patches
+=======
+
+For discussion or patch submission via email, use the
+yocto@yoctoproject.org mailing list. When submitting patches that way,
+make sure to copy the maintainer and add a "[meta-integrity]"
+prefix to the subject of the mails.
+
+Maintainer: Armin Kuster <akuster808@gmail.com>
+
+
+Table of Contents
+=================
+
+1. Adding the integrity layer to your build
+2. Usage
+3. Known Issues
+
+
+1. Adding the integrity layer to your build
+===========================================
+
+In order to use this layer, you need to make the build system aware of
+it.
+
+Assuming the security repository exists at the top-level of your
+yocto build tree, you can add it to the build system by adding the
+location of the integrity layer to bblayers.conf, along with any
+other layers needed. e.g.:
+
+ BBLAYERS ?= " \
+ /path/to/yocto/meta \
+ /path/to/yocto/meta-yocto \
+ /path/to/yocto/meta-yocto-bsp \
+ /path/to/yocto/meta-security/meta-integrity \
+ "
+
+It has some dependencies on a suitable BSP; in particular the kernel
+must have a recent enough IMA/EVM subsystem. The layer was tested with
+Linux 3.19 and uses some features (like loading X509 certificates
+directly from the kernel) which were added in that release. Your
+mileage may vary with older kernels.
+
+The necessary kernel configuration parameters are added to all kernel
+versions by this layer. Watch out for QA warnings about unused kernel
+configuration parameters: those indicate that the kernel used by the BSP
+does not have the necessary IMA/EVM features.
+
+Adding the layer only enables IMA (see below regarding EVM) during
+compilation of the Linux kernel. To also activate it when building
+the image, enable image signing in the local.conf like this:
+
+ INHERIT += "ima-evm-rootfs"
+ IMA_EVM_KEY_DIR = "${IMA_EVM_BASE}/data/debug-keys"
+
+This uses the default keys provided in the "data" directory of the layer.
+Because everyone has access to these private keys, such an image
+should never be used in production!
+
+For that, create your own keys first. All tools and scripts required
+for that are included in the layer. This is also how the
+``debug-keys`` were generated:
+
+ # Choose a directory for storing keys. Preserve this
+ # across builds and keep its private keys secret!
+ export IMA_EVM_KEY_DIR=/tmp/imaevm
+ mkdir -p $IMA_EVM_KEY_DIR
+ # Build the required tools.
+ bitbake openssl-native
+ # Set up shell for use of the tools.
+ bitbake -c devshell openssl-native
+ cd $IMA_EVM_KEY_DIR
+ # In that shell, create the keys. Several options exist:
+
+ # 1. Self-signed keys.
+ $IMA_EVM_BASE/scripts/ima-gen-self-signed.sh
+
+ # 2. Keys signed by a new CA.
+ # When asked for a PEM passphrase, that will be for the root CA.
+ # Signing images then will not require entering that passphrase,
+ # only creating new certificates does. Most likely the default
+ # attributes for these certificates need to be adapted; modify
+ # the scripts as needed.
+ # $IMA_EVM_BASE/scripts/ima-gen-local-ca.sh
+ # $IMA_EVM_BASE/scripts/ima-gen-CA-signed.sh
+
+ # 3. Keys signed by an existing CA.
+ # $IMA_EVM_BASE/scripts/ima-gen-CA-signed.sh <CA.pem> <CA.priv>
+ exit
+
+When using ``ima-self-signed.sh`` as described above, self-signed keys
+are created. Alternatively, one can also use keys signed by a CA. The
+``ima-gen-local-ca.sh`` and ``ima-gen.sh`` scripts create a root CA
+and sign the signing keys with it. The ``ima-evm-rootfs.bbclass`` then
+supports adding tha CA's public key to the kernel's system keyring by
+compiling it directly into the kernel. Because it is unknown whether
+that is necessary (for example, the CA might also get added to the
+system key ring via UEFI Secure Boot), one has to enable compilation
+into the kernel explicitly in a local.conf with:
+
+ IMA_EVM_ROOT_CA = "<path to .x509 file, for example the ima-local-ca.x509 created by ima-gen-local-ca.sh>"
+
+
+
+
+To use the personal keys, override the default IMA_EVM_KEY_DIR in your
+local.conf and/or override the individual variables from
+ima-evm-rootfs.bbclass:
+
+ IMA_EVM_KEY_DIR = "<full path>"
+ IMA_EVM_PRIVKEY = "<some other path/privkey_ima.pem>"
+
+By default, the entire file system gets signed. When using a policy which
+does not require that, the set of files to be labelled can be chosen
+by overriding the default "find" expression, for example like this:
+
+ IMA_EVM_ROOTFS_FILES = "usr sbin bin lib -type f"
+
+
+2. Usage
+========
+
+After creating an image with IMA/EVM enabled, one needs to enable
+the built-in policies before IMA/EVM is active at runtime. To do this,
+add one or both of these boot parameters:
+
+ ima_tcb # measures all files read as root and all files executed
+ ima_appraise_tcb # appraises all files owned by root, beware of
+ # the known issue mentioned below
+
+Instead of booting with default policies, one can also activate custom
+policies in different ways. First, boot without any IMA policy and
+then cat a policy file into
+`/sys/kernel/security/ima/policy`. This can only be done once
+after booting and is useful for debugging.
+
+In production, the long term goal is to load a verified policy
+directly from the kernel, using a patch which still needs to be
+included upstream ("ima: load policy from the kernel",
+<https://lwn.net/Articles/595759/>).
+
+Loading via systemd also works with systemd, but is considered less
+secure (policy file is not checked before activating it). Beware that
+IMA policy loading became broken in systemd 2.18. The modified systemd
+2.19 in meta-security-smack has a patch reverting the broken
+changes. To activate policy loading via systemd, place a policy file
+in `/etc/ima/ima-policy`, for example with:
+
+ IMA_EVM_POLICY_SYSTEMD = "${IMA_EVM_BASE}/data/ima_policy_simple"
+
+To check that measuring works, look at `/sys/kernel/security/ima/ascii_runtime_measurements`
+
+To check that appraisal works, try modifying executables and ensure
+that executing them fails:
+
+ echo "foobar" >>/usr/bin/rpm
+ evmctl ima_verify /usr/bin/rpm
+ rpm --version
+
+Depending on the current appraisal policy, the `echo` command may
+already fail because writing is not allowed. If the file was modified
+and the current appraisal policy allows reading, then `evmctl` will
+report (the errno value seems to be printed always and is unrelated to
+the actual verification failure here):
+
+ Verification failed: 35
+ errno: No such file or directory (2)
+
+After enabling a suitable IMA appraisal policy, reading and/or
+executing the file is no longer allowed:
+
+ # evmctl ima_verify /usr/bin/rpm
+ Failed to open: /usr/bin/rpm
+ errno: Permission denied (13)
+ # rpm --version
+ -sh: /usr/bin/rpm: Permission denied
+
+Enabling the audit kernel subsystem may help to debug appraisal
+issues. Enable it by adding the meta-security-framework layer and
+changing your local.conf:
+ SRC_URI_append_pn-linux-yocto = " file://audit.cfg"
+ CORE_IMAGE_EXTRA_INSTALL += "auditd"
+
+Then boot with "ima_appraise=log ima_appraise_tcb".
+
+Adding auditd is not strictly necessary but helps to capture a
+more complete set of events in /var/log/audit/ and search in
+them with ausearch.
+
+
+3. Known Issues
+===============
+
+EVM is not enabled, for multiple reasons:
+* Signing files in advance with a X509 certificate and then not having
+ any confidential keys on the device would be the most useful mode,
+ but is not supported by EVM [1].
+* EVM signing in advance would only work on the final file system and thus
+ will require further integration work with image creation. The content
+ of the files can be signed for IMA in the rootfs, with the extended
+ attributes remaining valid when copying the files to the final image.
+ But for EVM that copy operation changes relevant parameters (for example,
+ inode) and thus invalidates the EVM hash.
+* On device creation of EVM hashes depends on secure key handling on the
+ device (TPM) and booting at least once in a special mode (file system
+ writable, evm=fix as boot parameter, reboot after opening all files);
+ such a mode is too device specific to be implemented in a generic way.
+
+IMA appraisal with "ima_appraise_tcb" enables rules which are too strict
+for most distros. For example, systemd needs to write certain files
+as root, which is prevented by the ima_appraise_tcb appraise rules. As
+a result, the system fails to boot:
+
+ [FAILED] Failed to start Commit a transient machine-id on disk.
+ See "systemctl status systemd-machine-id-commit.service" for details.
+ ...
+ [FAILED] Failed to start Network Service.
+ See "systemctl status systemd-networkd.service" for details.
+ [FAILED] Failed to start Login Service.
+ See "systemctl status systemd-logind.service" for details.
+
+No package manager is integrated with IMA/EVM. When updating packages,
+files will end up getting installed without correct IMA/EVM attributes
+and thus will not be usable when appraisal is turned on.
+
+[1] http://permalink.gmane.org/gmane.comp.handhelds.tizen.devel/6281
+[2] http://permalink.gmane.org/gmane.comp.handhelds.tizen.devel/6275
diff --git a/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass b/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass
new file mode 100644
index 000000000..8aec388df
--- /dev/null
+++ b/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass
@@ -0,0 +1,92 @@
+# No default! Either this or IMA_EVM_PRIVKEY/IMA_EVM_X509 have to be
+# set explicitly in a local.conf before activating ima-evm-rootfs.
+# To use the insecure (because public) example keys, use
+# IMA_EVM_KEY_DIR = "${IMA_EVM_BASE}/data/debug-keys"
+IMA_EVM_KEY_DIR ?= "IMA_EVM_KEY_DIR_NOT_SET"
+
+# Private key for IMA signing. The default is okay when
+# using the example key directory.
+IMA_EVM_PRIVKEY ?= "${IMA_EVM_KEY_DIR}/privkey_ima.pem"
+
+# Public part of certificates (used for both IMA and EVM).
+# The default is okay when using the example key directory.
+IMA_EVM_X509 ?= "${IMA_EVM_KEY_DIR}/x509_ima.der"
+
+# Root CA to be compiled into the kernel, none by default.
+# Must be the absolute path to a der-encoded x509 CA certificate
+# with a .x509 suffix. See linux-%.bbappend for details.
+#
+# ima-local-ca.x509 is what ima-gen-local-ca.sh creates.
+IMA_EVM_ROOT_CA ?= ""
+
+# Sign all regular files by default.
+IMA_EVM_ROOTFS_SIGNED ?= ". -type f"
+# Hash nothing by default.
+IMA_EVM_ROOTFS_HASHED ?= ". -depth 0 -false"
+
+# Mount these file systems (identified via their mount point) with
+# the iversion flags (needed by IMA when allowing writing).
+IMA_EVM_ROOTFS_IVERSION ?= ""
+
+ima_evm_sign_rootfs () {
+ cd ${IMAGE_ROOTFS}
+
+ # Beware that all operations below must also work when
+ # ima_evm_sign_rootfs was already called earlier for the same
+ # rootfs. That's because do_image might again run for various
+ # reasons (including a change of the signing keys) without also
+ # re-running do_rootfs.
+
+ # Copy file(s) which must be on the device. Note that
+ # evmctl uses x509_evm.der also for "ima_verify", which is probably
+ # a bug (should default to x509_ima.der). Does not matter for us
+ # because we use the same key for both.
+ install -d ./${sysconfdir}/keys
+ rm -f ./${sysconfdir}/keys/x509_evm.der
+ install "${IMA_EVM_X509}" ./${sysconfdir}/keys/x509_evm.der
+ ln -sf x509_evm.der ./${sysconfdir}/keys/x509_ima.der
+
+ # Fix /etc/fstab: it must include the "i_version" mount option for
+ # those file systems where writing files is allowed, otherwise
+ # these changes will not get detected at runtime.
+ #
+ # Note that "i_version" is documented in "man mount" only for ext4,
+ # whereas "iversion" is said to be filesystem-independent. In practice,
+ # there is only one MS_I_VERSION flag in the syscall and ext2/ext3/ext4
+ # all support it.
+ #
+ # coreutils translates "iversion" into MS_I_VERSION. busybox rejects
+ # "iversion" and only understands "i_version". systemd only understands
+ # "iversion". We pick "iversion" here for systemd, whereas rootflags
+ # for initramfs must use "i_version" for busybox.
+ #
+ # Deduplicates iversion in case that this gets called more than once.
+ if [ -f etc/fstab ]; then
+ perl -pi -e 's;(\S+)(\s+)(${@"|".join((d.getVar("IMA_EVM_ROOTFS_IVERSION", True) or "no-such-mount-point").split())})(\s+)(\S+)(\s+)(\S+);\1\2\3\4\5\6\7,iversion;; s/(,iversion)+/,iversion/;' etc/fstab
+ fi
+
+ # Sign file with private IMA key. EVM not supported at the moment.
+ bbnote "IMA/EVM: signing files 'find ${IMA_EVM_ROOTFS_SIGNED}' with private key '${IMA_EVM_PRIVKEY}'"
+ find ${IMA_EVM_ROOTFS_SIGNED} | xargs -d "\n" --no-run-if-empty --verbose evmctl ima_sign --key ${IMA_EVM_PRIVKEY}
+ bbnote "IMA/EVM: hashing files 'find ${IMA_EVM_ROOTFS_HASHED}'"
+ find ${IMA_EVM_ROOTFS_HASHED} | xargs -d "\n" --no-run-if-empty --verbose evmctl ima_hash
+
+ # Optionally install custom policy for loading by systemd.
+ if [ "${IMA_EVM_POLICY_SYSTEMD}" ]; then
+ install -d ./${sysconfdir}/ima
+ rm -f ./${sysconfdir}/ima/ima-policy
+ install "${IMA_EVM_POLICY_SYSTEMD}" ./${sysconfdir}/ima/ima-policy
+ fi
+}
+
+# Signing must run as late as possible in the do_rootfs task.
+# IMAGE_PREPROCESS_COMMAND runs after ROOTFS_POSTPROCESS_COMMAND, so
+# append (not prepend!) to IMAGE_PREPROCESS_COMMAND, and do it with
+# _append instead of += because _append gets evaluated later. In
+# particular, we must run after prelink_image in
+# IMAGE_PREPROCESS_COMMAND, because prelinking changes executables.
+
+IMAGE_PREPROCESS_COMMAND_append = " ima_evm_sign_rootfs ; "
+
+# evmctl must have been installed first.
+do_rootfs[depends] += "ima-evm-utils-native:do_populate_sysroot"
diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf
new file mode 100644
index 000000000..2f696cf7c
--- /dev/null
+++ b/meta-security/meta-integrity/conf/layer.conf
@@ -0,0 +1,24 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have a packages directory, add to BBFILES
+BBFILES := "${BBFILES} \
+ ${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "integrity"
+BBFILE_PATTERN_integrity := "^${LAYERDIR}/"
+BBFILE_PRIORITY_integrity = "6"
+
+# Set a variable to get to the top of the metadata location. Needed
+# for finding scripts (when following the README.md instructions) and
+# default debug keys (in ima-evm-rootfs.bbclass).
+IMA_EVM_BASE := '${LAYERDIR}'
+
+# We must not export this path to all shell scripts (as in "export
+# IMA_EVM_BASE"), because that causes problems with sstate (becames
+# dependent on location of the layer). Exporting it to just the
+# interactive shell is enough.
+OE_TERMINAL_EXPORTS += "IMA_EVM_BASE"
+
+LAYERSERIES_COMPAT_integrity = "warrior"
diff --git a/meta-security/meta-integrity/data/debug-keys/privkey_ima.pem b/meta-security/meta-integrity/data/debug-keys/privkey_ima.pem
new file mode 100644
index 000000000..502a0b68d
--- /dev/null
+++ b/meta-security/meta-integrity/data/debug-keys/privkey_ima.pem
@@ -0,0 +1,16 @@
+-----BEGIN PRIVATE KEY-----
+MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJw2G3d0fM36rcQU
+Bt8V/SapJe0lxWJ+CY+HcMx8AhWY9XQ66AXcqBsRHiUnYCaFGXFI35VKGC6d/Gs6
+IWlHgI0tcTyzy5eul+BKRLy/3PNjkK2jJETlbetQy+gE6gUtg4RmPV5ALGksK74p
+OrAfKnahoMi82NVIiBitwmRimms1AgMBAAECgYBTxciRFU1hAVBy2PKebKJoO0n1
+lc329fSWnmHlp5NOlcr8XCLWEfGtIk7ySd2MitCMKjKNU0EIrv0RXAlS9l9/gBYW
+HY+eEaa6l80sp8q4aPKImSi0pb3LVNqWKXJg8qr4AZ45/TEL/fzILFv5QcY8xDjV
+aj6DOlEnNDjlBlBbQQJBAMyYDlKItes/Rnmtp9roXj3XUfiBDHTLY2HVgDBe87sA
+TOSnbgIv+6urd1h9XvBmJlRYH7YKJmBSZWcSlfdC6XkCQQDDdfkUMxQZo9PC/Eue
+WYzytx4xUm3ItWcuKILtFgcNh3c4s4dMx4X/WhQj5/H/nVOIWDioQ0mrW3ap/qcb
+SBydAkAf/gb/UPFhf9t9W3JMANn7wZfHzCYufT9lJQWOisqCC2H6v1Osc+Rey8k1
+xST7Yn3L4pvS03N8zGWe4IEi0QvBAkAWdTWbNos2rvYjzy05Enz5XkTf0eK/Tuh+
+CzWP3BoPWeM+5pHDJqGkx0rNHVdW0VLJtak83A5Y2/d0bMfygISZAkBFGui4HW+Q
+1BlpmDeslsE11wm5jSmm6Ti12a2dVKGFo9QLQcSj4bfgxtqU2dQaYRmajXtSBrGQ
+3vVaxg2EfqB1
+-----END PRIVATE KEY-----
diff --git a/meta-security/meta-integrity/data/debug-keys/x509_ima.der b/meta-security/meta-integrity/data/debug-keys/x509_ima.der
new file mode 100644
index 000000000..087ca6bea
--- /dev/null
+++ b/meta-security/meta-integrity/data/debug-keys/x509_ima.der
Binary files differ
diff --git a/meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py b/meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py
new file mode 100644
index 000000000..0c8617a56
--- /dev/null
+++ b/meta-security/meta-integrity/lib/oeqa/runtime/cases/ima.py
@@ -0,0 +1,129 @@
+#!/usr/bin/env python
+#
+# Authors: Cristina Moraru <cristina.moraru@intel.com>
+# Alexandru Cornea <alexandru.cornea@intel.com>
+
+import string
+from time import sleep
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.data import skipIfNotFeature
+from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar
+import bb
+blacklist = ["/usr/bin/uz", "/bin/su.shadow"]
+
+class IMACheck(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ locations = ["/bin", "/usr/bin"]
+ cls.binaries = []
+ for l in locations:
+ status, output = cls.tc.target.run("find %s -type f" % l)
+ cls.binaries.extend(output.split("\n"))
+
+ cls.total = len(cls.binaries)
+
+
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_ima_enabled(self):
+ ''' Test if IMA policy is loaded before systemd starts'''
+
+ ima_search = "ima: "
+ systemd_search = "systemd .* running"
+ status, output = self.target.run("dmesg | grep -n '%s'" % ima_search)
+ self.assertEqual( status, 0, "Did not find '%s' in dmesg" % ima_search)
+
+
+ @skipIfNotFeature('systemd',
+ 'Test requires systemd to be in DISTRO_FEATURES')
+ @skipIfNotDataVar('VIRTUAL-RUNTIME_init_manager', 'systemd',
+ 'systemd is not the init manager for this image')
+ @OETestDepends(['ima.IMACheck.test_ima_enabled'])
+ def test_ima_before_systemd(self):
+ ''' Test if IMA policy is loaded before systemd starts'''
+ ima_search = "ima: "
+ systemd_search = "systemd .* running"
+ status, output = self.target.run("dmesg | grep -n '%s'" % ima_search)
+ self.assertEqual( status, 0, "Did not find '%s' in dmesg" % ima_search)
+ ima_id = int(output.split(":")[0])
+ status, output = self.target.run("dmesg | grep -n '%s'" % systemd_search)
+ self.assertEqual(status, 0, "Did not find '%s' in dmesg" % systemd_search)
+ init_id = int(output.split(":")[0])
+ if ima_id > init_id:
+ self.fail("IMA does not start before systemd")
+
+
+ @OETestDepends(['ima.IMACheck.test_ima_enabled'])
+ def test_ima_hash(self):
+ ''' Test if IMA stores correct file hash '''
+ filename = "/etc/filetest"
+ ima_measure_file = "/sys/kernel/security/ima/ascii_runtime_measurements"
+ status, output = self.target.run("echo test > %s" % filename)
+ self.assertEqual(status, 0, "Cannot create file %s on target" % filename)
+
+ # wait for the IMA system to update the entry
+ maximum_tries = 30
+ tries = 0
+ status, output = self.target.run("sha1sum %s" %filename)
+ sleep(2)
+ current_hash = output.split()[0]
+ ima_hash = ""
+
+ while tries < maximum_tries:
+ status, output = self.target.run("cat %s | grep %s" \
+ % (ima_measure_file, filename))
+ # get last entry, 4th field
+ if status == 0:
+ tokens = output.split("\n")[-1].split()[3]
+ ima_hash = tokens.split(":")[1]
+ if ima_hash == current_hash:
+ break
+
+ tries += 1
+ sleep(1)
+
+ # clean target
+ self.target.run("rm %s" % filename)
+ if ima_hash != current_hash:
+ self.fail("Hash stored by IMA does not match actual hash")
+
+
+ @OETestDepends(['ima.IMACheck.test_ima_enabled'])
+ def test_ima_signature(self):
+ ''' Test if IMA stores correct signature for system binaries'''
+ passed = 0
+ failed = 0
+ for b in self.binaries:
+ if b in blacklist:
+ continue
+ status, output = self.target.run("evmctl ima_verify %s" % b)
+ if status != 0:
+ failed += 1
+ else:
+ passed += 1
+
+ if failed == self.total:
+ self.fail("Signature verifications failed (%s)" % self.total)
+
+ #bb.warn("pass: %s, fail: %s, Total: %s" % (passed, failed, total))
+
+ @OETestDepends(['ima.IMACheck.test_ima_enabled'])
+ def test_ima_overwrite(self):
+ ''' Test if IMA prevents overwriting signed files '''
+ passed = 0
+ failed = 0
+ for b in self.binaries:
+ if b in blacklist:
+ continue
+ self.target.run("echo 'foo' >> %s" % b )
+ status, output = self.target.run("evmctl ima_verify %s" % b)
+
+ if status != 0:
+ failed += 1
+ else:
+ passed += 1
+
+ if failed == self.total:
+ self.fail("Overwritting verifications failed (%s)" % self.total)
diff --git a/meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc b/meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc
new file mode 100644
index 000000000..7e9e2108d
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/base-files/base-files-ima.inc
@@ -0,0 +1,5 @@
+# Append iversion option for auto types
+do_install_append() {
+ sed -i 's/\s*auto\s*defaults/&,iversion/' "${D}${sysconfdir}/fstab"
+ echo 'securityfs /sys/kernel/security securityfs defaults 0 0' >> "${D}${sysconfdir}/fstab"
+}
diff --git a/meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend b/meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend
new file mode 100644
index 000000000..c006f0e62
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/base-files/base-files_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'base-files-ima.inc', '', d)}
diff --git a/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb b/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb
new file mode 100644
index 000000000..6ed724df2
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "An image as an exmaple for Ima support"
+
+IMAGE_FEATURES += "ssh-server-openssh"
+
+
+IMAGE_INSTALL = "\
+ packagegroup-base \
+ packagegroup-core-boot \
+ packagegroup-ima-evm-utils \
+ os-release"
+
+
+LICENSE = "MIT"
+
+inherit core-image
+
+export IMAGE_BASENAME = "integrity-image-minimal"
+
+INHERIT += "ima-evm-rootfs"
+IMA_EVM_KEY_DIR = "${IMA_EVM_BASE}/data/debug-keys"
+
+QB_KERNEL_CMDLINE_APPEND_append = " ima_appraise=fix ima_policy=tcb ima_policy=appraise_tcb"
diff --git a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
new file mode 100644
index 000000000..6057e8daf
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
@@ -0,0 +1,28 @@
+# This recipe creates a module for the initramfs-framework in OE-core
+# which initializes IMA by loading a policy before transferring
+# control to the init process in the rootfs. The advantage over having
+# that init process doing the policy loading (which systemd could do)
+# is that already the integrity of the init binary itself will be
+# checked by the kernel.
+
+SUMMARY = "IMA module for the modular initramfs system"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+# This policy file will get installed as /etc/ima/ima-policy.
+# It is located via the normal file search path, so a .bbappend
+# to this recipe can just point towards one of its own files.
+IMA_POLICY ?= "ima_policy_hashed"
+
+SRC_URI = " file://ima"
+
+do_install () {
+ install -d ${D}/${sysconfdir}/ima
+ install -d ${D}/init.d
+ install ${WORKDIR}/ima ${D}/init.d/20-ima
+}
+
+FILES_${PN} = "/init.d ${sysconfdir}"
+
+RDEPENDS_${PN} = "keyutils ${IMA_POLICY}"
+RDEPENDS_${PN} += "initramfs-framework-base"
diff --git a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima
new file mode 100644
index 000000000..8616f9924
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima/ima
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# Loads IMA policy into the kernel.
+
+ima_enabled() {
+ if [ "$bootparam_no_ima" = "true" ]; then
+ return 1
+ fi
+}
+
+ima_run() {
+ info "Initializing IMA (can be skipped with no_ima boot parameter)."
+ if ! grep -w securityfs /proc/mounts >/dev/null; then
+ if ! mount -t securityfs securityfs /sys/kernel/security; then
+ fatal "Could not mount securityfs."
+ fi
+ fi
+ if [ ! -d /sys/kernel/security/ima ]; then
+ fatal "No /sys/kernel/security/ima. Cannot proceed without IMA enabled in the kernel."
+ fi
+
+ # Instead of depending on the kernel to load the IMA X.509 certificate,
+ # use keyctl. This avoids a bug in certain kernels (https://lkml.org/lkml/2015/9/10/492)
+ # where the loaded key was not checked sufficiently. We use keyctl here because it is
+ # slightly smaller than evmctl and is needed anyway.
+ # (see http://sourceforge.net/p/linux-ima/ima-evm-utils/ci/v0.9/tree/README#l349).
+ for kind in ima evm; do
+ key=/etc/keys/x509_$kind.der
+ if [ -s $key ]; then
+ id=$(grep -w -e "\.$kind" /proc/keys | cut -d ' ' -f1 | head -n 1)
+ if [ "$id" ]; then
+ id=$(printf "%d" 0x$id)
+ fi
+ if [ -z "$id" ]; then
+ id=`keyctl search @u keyring _$kind 2>/dev/null`
+ if [ -z "$id" ]; then
+ id=`keyctl newring _$kind @u`
+ fi
+ fi
+ info "Loading $key into $kind keyring $id"
+ keyctl padd asymmetric "" $id <$key
+ fi
+ done
+
+ # In theory, a simple "cat" should be enough. In practice, loading sometimes fails randomly
+ # ("[Linux-ima-user] IMA policy loading via cat") and we get better error reporting when
+ # checking the write of each line. To minimize the risk of policy loading going wrong we
+ # also remove comments and blank lines ourselves.
+ if ! (set -e; while read i; do if echo "$i" | grep -q -e '^#' -e '^ *$'; then debug "Skipping IMA policy: $i"; else debug "Writing IMA policy: $i"; if echo $i; then sleep ${bootparam_ima_delay:-0}; else fatal "Invalid line in IMA policy: $i"; exit 1; fi; fi; done) </etc/ima-policy >/sys/kernel/security/ima/policy; then
+ fatal "Could not load IMA policy."
+ fi
+}
diff --git a/meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb b/meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb
new file mode 100644
index 000000000..18acc9dca
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/packagegroups/packagegroup-ima-evm-utils.bb
@@ -0,0 +1,9 @@
+SUMMARY = "IMA/EVM userspace tools"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+# Only one at the moment, but perhaps more will come in the future.
+RDEPENDS_${PN} = " \
+ ima-evm-utils \
+"
diff --git a/meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf b/meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf
new file mode 100644
index 000000000..d6d3240f9
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/systemd/files/machine-id-commit-sync.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecStartPost=/bin/sync
diff --git a/meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf b/meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf
new file mode 100644
index 000000000..f4c170bda
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/systemd/files/random-seed-sync.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStopPost=/bin/sync
+ExecStartPost=/bin/sync
diff --git a/meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend b/meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend
new file mode 100644
index 000000000..3b4554162
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-core/systemd/systemd_%.bbappend
@@ -0,0 +1,13 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+ file://machine-id-commit-sync.conf \
+ file://random-seed-sync.conf \
+"
+
+do_install_append () {
+ for i in machine-id-commit random-seed; do
+ install -d ${D}/${systemd_system_unitdir}/systemd-$i.service.d
+ install -m 0644 ${WORKDIR}/$i-sync.conf ${D}/${systemd_system_unitdir}/systemd-$i.service.d
+ done
+}
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend
new file mode 100644
index 000000000..931854ef8
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
+
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ima', ' file://ima.cfg', '', d)}"
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch b/meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch
new file mode 100644
index 000000000..64016dd3e
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/0001-ima-fix-ima_inode_post_setattr.patch
@@ -0,0 +1,51 @@
+From 45ea681ebc0dd44aaec5d3cc4143b9722070d3ac Mon Sep 17 00:00:00 2001
+From: Mimi Zohar <zohar@linux.vnet.ibm.com>
+Date: Tue, 8 Mar 2016 16:43:55 -0500
+Subject: [PATCH] ima: fix ima_inode_post_setattr
+
+Changing file metadata (eg. uid, guid) could result in having to
+re-appraise a file's integrity, but does not change the "new file"
+status nor the security.ima xattr. The IMA_PERMIT_DIRECTIO and
+IMA_DIGSIG_REQUIRED flags are policy rule specific. This patch
+only resets these flags, not the IMA_NEW_FILE or IMA_DIGSIG flags.
+
+With this patch, changing the file timestamp will not remove the
+file signature on new files.
+
+Upstream-Status: Accepted [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/security/integrity/ima/ima_appraise.c?id=42a4c603198f0d45b7aa936d3ac6ba1b8bd14a1b]
+
+Reported-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
+Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
+---
+ security/integrity/ima/ima_appraise.c | 2 +-
+ security/integrity/integrity.h | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
+index 4df493e..a384ba1 100644
+--- a/security/integrity/ima/ima_appraise.c
++++ b/security/integrity/ima/ima_appraise.c
+@@ -327,7 +327,7 @@ void ima_inode_post_setattr(struct dentry *dentry)
+ if (iint) {
+ iint->flags &= ~(IMA_APPRAISE | IMA_APPRAISED |
+ IMA_APPRAISE_SUBMASK | IMA_APPRAISED_SUBMASK |
+- IMA_ACTION_FLAGS);
++ IMA_ACTION_RULE_FLAGS);
+ if (must_appraise)
+ iint->flags |= IMA_APPRAISE;
+ }
+diff --git a/security/integrity/integrity.h b/security/integrity/integrity.h
+index 0fc9519..f9decae 100644
+--- a/security/integrity/integrity.h
++++ b/security/integrity/integrity.h
+@@ -28,6 +28,7 @@
+
+ /* iint cache flags */
+ #define IMA_ACTION_FLAGS 0xff000000
++#define IMA_ACTION_RULE_FLAGS 0x06000000
+ #define IMA_DIGSIG 0x01000000
+ #define IMA_DIGSIG_REQUIRED 0x02000000
+ #define IMA_PERMIT_DIRECTIO 0x04000000
+--
+2.5.0
+
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch b/meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch
new file mode 100644
index 000000000..6ab7ce277
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/0002-ima-add-support-for-creating-files-using-the-mknodat.patch
@@ -0,0 +1,138 @@
+From baaec960e9e7be0b526eaf831b079ddfe5c15124 Mon Sep 17 00:00:00 2001
+From: Mimi Zohar <zohar@linux.vnet.ibm.com>
+Date: Thu, 10 Mar 2016 18:19:20 +0200
+Subject: [PATCH] ima: add support for creating files using the mknodat
+ syscall
+
+Commit 3034a14 "ima: pass 'opened' flag to identify newly created files"
+stopped identifying empty files as new files. However new empty files
+can be created using the mknodat syscall. On systems with IMA-appraisal
+enabled, these empty files are not labeled with security.ima extended
+attributes properly, preventing them from subsequently being opened in
+order to write the file data contents. This patch marks these empty
+files, created using mknodat, as new in order to allow the file data
+contents to be written.
+
+Files with security.ima xattrs containing a file signature are considered
+"immutable" and can not be modified. The file contents need to be
+written, before signing the file. This patch relaxes this requirement
+for new files, allowing the file signature to be written before the file
+contents.
+
+Upstream-Status: Accepted [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/security/integrity/ima/ima_appraise.c?id=05d1a717ec0430c916a749b94eb90ab74bbfa356]
+
+Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
+---
+ fs/namei.c | 2 ++
+ include/linux/ima.h | 7 ++++++-
+ security/integrity/ima/ima_appraise.c | 3 +++
+ security/integrity/ima/ima_main.c | 32 +++++++++++++++++++++++++++++++-
+ 4 files changed, 42 insertions(+), 2 deletions(-)
+
+diff --git a/fs/namei.c b/fs/namei.c
+index ccd7f98..19502da 100644
+--- a/fs/namei.c
++++ b/fs/namei.c
+@@ -3526,6 +3526,8 @@ retry:
+ switch (mode & S_IFMT) {
+ case 0: case S_IFREG:
+ error = vfs_create(path.dentry->d_inode,dentry,mode,true);
++ if (!error)
++ ima_post_path_mknod(dentry);
+ break;
+ case S_IFCHR: case S_IFBLK:
+ error = vfs_mknod(path.dentry->d_inode,dentry,mode,
+diff --git a/include/linux/ima.h b/include/linux/ima.h
+index 120ccc5..7f51971 100644
+--- a/include/linux/ima.h
++++ b/include/linux/ima.h
+@@ -20,7 +20,7 @@ extern void ima_file_free(struct file *file);
+ extern int ima_file_mmap(struct file *file, unsigned long prot);
+ extern int ima_module_check(struct file *file);
+ extern int ima_fw_from_file(struct file *file, char *buf, size_t size);
+-
++extern void ima_post_path_mknod(struct dentry *dentry);
+ #else
+ static inline int ima_bprm_check(struct linux_binprm *bprm)
+ {
+@@ -52,6 +52,11 @@ static inline int ima_fw_from_file(struct file *file, char *buf, size_t size)
+ return 0;
+ }
+
++static inline void ima_post_path_mknod(struct dentry *dentry)
++{
++ return;
++}
++
+ #endif /* CONFIG_IMA */
+
+ #ifdef CONFIG_IMA_APPRAISE
+diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
+index 4df493e..20806ea 100644
+--- a/security/integrity/ima/ima_appraise.c
++++ b/security/integrity/ima/ima_appraise.c
+@@ -274,6 +274,11 @@ out:
+ xattr_value->type != EVM_IMA_XATTR_DIGSIG)) {
+ if (!ima_fix_xattr(dentry, iint))
+ status = INTEGRITY_PASS;
++ } else if ((inode->i_size == 0) &&
++ (iint->flags & IMA_NEW_FILE) &&
++ (xattr_value &&
++ xattr_value->type == EVM_IMA_XATTR_DIGSIG)) {
++ status = INTEGRITY_PASS;
+ }
+ integrity_audit_msg(AUDIT_INTEGRITY_DATA, inode, filename,
+ op, cause, rc, 0);
+diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c
+index eeee00dc..705bf78 100644
+--- a/security/integrity/ima/ima_main.c
++++ b/security/integrity/ima/ima_main.c
+@@ -242,7 +242,8 @@ static int process_measurement(struct file *file, int mask, int function,
+ ima_audit_measurement(iint, pathname);
+
+ out_digsig:
+- if ((mask & MAY_WRITE) && (iint->flags & IMA_DIGSIG))
++ if ((mask & MAY_WRITE) && (iint->flags & IMA_DIGSIG) &&
++ !(iint->flags & IMA_NEW_FILE))
+ rc = -EACCES;
+ kfree(xattr_value);
+ out_free:
+@@ -310,6 +311,35 @@ int ima_file_check(struct file *file, int mask, int opened)
+ EXPORT_SYMBOL_GPL(ima_file_check);
+
+ /**
++ * ima_post_path_mknod - mark as a new inode
++ * @dentry: newly created dentry
++ *
++ * Mark files created via the mknodat syscall as new, so that the
++ * file data can be written later.
++ */
++void ima_post_path_mknod(struct dentry *dentry)
++{
++ struct integrity_iint_cache *iint;
++ struct inode *inode;
++ int must_appraise;
++
++ if (!dentry || !dentry->d_inode)
++ return;
++
++ inode = dentry->d_inode;
++ if (inode->i_size != 0)
++ return;
++
++ must_appraise = ima_must_appraise(inode, MAY_ACCESS, FILE_CHECK);
++ if (!must_appraise)
++ return;
++
++ iint = integrity_inode_get(inode);
++ if (iint)
++ iint->flags |= IMA_NEW_FILE;
++}
++
++/**
+ * ima_module_check - based on policy, collect/store/appraise measurement.
+ * @file: pointer to the file to be measured/appraised
+ *
+--
+2.5.0
+
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch b/meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch
new file mode 100644
index 000000000..157c007ba
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/Revert-ima-limit-file-hash-setting-by-user-to-fix-an.patch
@@ -0,0 +1,60 @@
+From a34d61850b680c152e1dcc958ee83c3ab3261c3d Mon Sep 17 00:00:00 2001
+From: Patrick Ohly <patrick.ohly@intel.com>
+Date: Tue, 15 Nov 2016 10:10:23 +0100
+Subject: [PATCH] Revert "ima: limit file hash setting by user to fix and log
+ modes"
+
+This reverts commit c68ed80c97d9720f51ef31fe91560fdd1e121533.
+
+The original motivation was security hardening ("File hashes are
+automatically set and updated and should not be manually set.")
+
+However, that hardening ignores and breaks some valid use cases:
+- File hashes might not be set because the file is currently
+ outside of the policy and therefore have to be set by the
+ creator. Examples:
+ - Booting into an initramfs with an IMA-enabled kernel but
+ without setting an IMA policy, then installing
+ the OS onto the target partition by unpacking a rootfs archive
+ which has the file hashes pre-computed.
+ - Unpacking a file into a staging area with meta data (like owner)
+ that leaves the file outside of the current policy, then changing
+ the meta data such that it becomes part of the current policy.
+- "should not be set manually" implies that the creator is aware
+ of IMA semantic, the current system's configuration, and then
+ skips setting file hashes in security.ima if (and only if) the
+ kernel would prevent it. That's not the case for standard, unmodified
+ tools. Example: unpacking an archive with security.ima xattrs with
+ bsdtar or GNU tar.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/linux-ima/mailman/message/35492824/]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+---
+ security/integrity/ima/ima_appraise.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
+index 4b9b4a4..b8b2dd9 100644
+--- a/security/integrity/ima/ima_appraise.c
++++ b/security/integrity/ima/ima_appraise.c
+@@ -385,14 +385,10 @@ int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name,
+ result = ima_protect_xattr(dentry, xattr_name, xattr_value,
+ xattr_value_len);
+ if (result == 1) {
+- bool digsig;
+-
+ if (!xattr_value_len || (xvalue->type >= IMA_XATTR_LAST))
+ return -EINVAL;
+- digsig = (xvalue->type == EVM_IMA_XATTR_DIGSIG);
+- if (!digsig && (ima_appraise & IMA_APPRAISE_ENFORCE))
+- return -EPERM;
+- ima_reset_appraise_flags(d_backing_inode(dentry), digsig);
++ ima_reset_appraise_flags(d_backing_inode(dentry),
++ (xvalue->type == EVM_IMA_XATTR_DIGSIG) ? 1 : 0);
+ result = 0;
+ }
+ return result;
+--
+2.1.4
+
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg
new file mode 100644
index 000000000..b3e47ba37
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg
@@ -0,0 +1,18 @@
+CONFIG_IMA=y
+CONFIG_IMA_MEASURE_PCR_IDX=10
+CONFIG_IMA_NG_TEMPLATE=y
+CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
+CONFIG_IMA_DEFAULT_HASH_SHA1=y
+CONFIG_IMA_DEFAULT_HASH="sha1"
+CONFIG_IMA_APPRAISE=y
+CONFIG_IMA_APPRAISE_BOOTPARAM=y
+CONFIG_IMA_TRUSTED_KEYRING=y
+CONFIG_SIGNATURE=y
+CONFIG_IMA_WRITE_POLICY=y
+CONFIG_IMA_READ_POLICY=y
+CONFIG_IMA_LOAD_X509=y
+CONFIG_IMA_X509_PATH="/etc/keys/x509_ima.der"
+
+#CONFIG_INTEGRITY_SIGNATURE=y
+#CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
+#CONFIG_INTEGRITY_TRUSTED_KEYRING=y
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg
new file mode 100644
index 000000000..9a454257a
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg
@@ -0,0 +1,3 @@
+# CONFIG_IMA_APPRAISE_SIGNED_INIT is not set
+CONFIG_EVM_LOAD_X509=y
+CONFIG_EVM_X509_PATH="/etc/keys/x509_evm.der"
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch
new file mode 100644
index 000000000..5ccb73d9b
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch
@@ -0,0 +1,65 @@
+From 4feaf9b61f93e4043eca26b4ec9f9f68d0cf5e68 Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Date: Wed, 6 Mar 2019 01:08:43 +0300
+Subject: [PATCH 1/4] ima-evm-utils: link to libcrypto instead of OpenSSL
+
+There is no need to link to full libssl. evmctl uses functions from
+libcrypto, so let's link only against that library.
+
+Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+---
+ configure.ac | 4 +---
+ src/Makefile.am | 9 ++++-----
+ 2 files changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 60f3684..32e8d85 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -24,9 +24,7 @@ LT_INIT
+ # Checks for header files.
+ AC_HEADER_STDC
+
+-PKG_CHECK_MODULES(OPENSSL, [ openssl >= 0.9.8 ])
+-AC_SUBST(OPENSSL_CFLAGS)
+-AC_SUBST(OPENSSL_LIBS)
++PKG_CHECK_MODULES(LIBCRYPTO, [libcrypto >= 0.9.8 ])
+ AC_SUBST(KERNEL_HEADERS)
+ AC_CHECK_HEADER(unistd.h)
+ AC_CHECK_HEADERS(openssl/conf.h)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index d74fc6f..b81281a 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,11 +1,11 @@
+ lib_LTLIBRARIES = libimaevm.la
+
+ libimaevm_la_SOURCES = libimaevm.c
+-libimaevm_la_CPPFLAGS = $(OPENSSL_CFLAGS)
++libimaevm_la_CPPFLAGS = $(LIBCRYPTO_CFLAGS)
+ # current[:revision[:age]]
+ # result: [current-age].age.revision
+ libimaevm_la_LDFLAGS = -version-info 0:0:0
+-libimaevm_la_LIBADD = $(OPENSSL_LIBS)
++libimaevm_la_LIBADD = $(LIBCRYPTO_LIBS)
+
+ include_HEADERS = imaevm.h
+
+@@ -17,12 +17,11 @@ hash_info.h: Makefile
+ bin_PROGRAMS = evmctl
+
+ evmctl_SOURCES = evmctl.c
+-evmctl_CPPFLAGS = $(OPENSSL_CFLAGS)
++evmctl_CPPFLAGS = $(LIBCRYPTO_CFLAGS)
+ evmctl_LDFLAGS = $(LDFLAGS_READLINE)
+-evmctl_LDADD = $(OPENSSL_LIBS) -lkeyutils libimaevm.la
++evmctl_LDADD = $(LIBCRYPTO_LIBS) -lkeyutils libimaevm.la
+
+ INCLUDES = -I$(top_srcdir) -include config.h
+
+ CLEANFILES = hash_info.h
+ DISTCLEANFILES = @DISTCLEANFILES@
+-
+--
+2.17.1
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch
new file mode 100644
index 000000000..8237274ca
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch
@@ -0,0 +1,43 @@
+From 5bb10f3da420f4c46e44423276a9da0d4bc1b691 Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Date: Wed, 6 Mar 2019 01:17:12 +0300
+Subject: [PATCH 2/4] ima-evm-utils: replace INCLUDES with AM_CPPFLAGS
+
+Replace INCLUDES variable with AM_CPPFLAGS to stop Automake from warning
+about deprecated variable usage.
+
+Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+---
+ src/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index b81281a..164e7e4 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,7 +1,7 @@
+ lib_LTLIBRARIES = libimaevm.la
+
+ libimaevm_la_SOURCES = libimaevm.c
+-libimaevm_la_CPPFLAGS = $(LIBCRYPTO_CFLAGS)
++libimaevm_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBCRYPTO_CFLAGS)
+ # current[:revision[:age]]
+ # result: [current-age].age.revision
+ libimaevm_la_LDFLAGS = -version-info 0:0:0
+@@ -17,11 +17,11 @@ hash_info.h: Makefile
+ bin_PROGRAMS = evmctl
+
+ evmctl_SOURCES = evmctl.c
+-evmctl_CPPFLAGS = $(LIBCRYPTO_CFLAGS)
++evmctl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBCRYPTO_CFLAGS)
+ evmctl_LDFLAGS = $(LDFLAGS_READLINE)
+ evmctl_LDADD = $(LIBCRYPTO_LIBS) -lkeyutils libimaevm.la
+
+-INCLUDES = -I$(top_srcdir) -include config.h
++AM_CPPFLAGS = -I$(top_srcdir) -include config.h
+
+ CLEANFILES = hash_info.h
+ DISTCLEANFILES = @DISTCLEANFILES@
+--
+2.17.1
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch
new file mode 100644
index 000000000..3d250d2fc
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch
@@ -0,0 +1,31 @@
+From c587ec307a6259a990bfab727cea7db28dba4c23 Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Date: Wed, 6 Mar 2019 01:22:30 +0300
+Subject: [PATCH 3/4] ima-evm-utils: include hash-info.gen into distribution
+
+Include hash-info.gen into tarball and call it from the sourcedir to fix
+out-of-tree build (and thus 'make distcheck').
+
+Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+---
+ src/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 164e7e4..9c037e2 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -11,8 +11,9 @@ include_HEADERS = imaevm.h
+
+ nodist_libimaevm_la_SOURCES = hash_info.h
+ BUILT_SOURCES = hash_info.h
++EXTRA_DIST = hash_info.gen
+ hash_info.h: Makefile
+- ./hash_info.gen $(KERNEL_HEADERS) >$@
++ $(srcdir)/hash_info.gen $(KERNEL_HEADERS) >$@
+
+ bin_PROGRAMS = evmctl
+
+--
+2.17.1
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch
new file mode 100644
index 000000000..4ada1a271
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch
@@ -0,0 +1,34 @@
+From b9f327c5c513ccea9cb56d4bbd50c1f66d629099 Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Date: Wed, 6 Mar 2019 01:24:04 +0300
+Subject: [PATCH 4/4] ima-evm-utils: update .gitignore files
+
+Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+---
+ .gitignore | 1 +
+ src/.gitignore | 1 +
+ 2 files changed, 2 insertions(+)
+ create mode 100644 src/.gitignore
+
+diff --git a/.gitignore b/.gitignore
+index ca7a06e..cb82166 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -45,6 +45,7 @@ cscope.*
+ ncscope.*
+
+ # Generated documentation
++*.1
+ *.8
+ *.5
+ manpage.links
+diff --git a/src/.gitignore b/src/.gitignore
+new file mode 100644
+index 0000000..38e8e3c
+--- /dev/null
++++ b/src/.gitignore
+@@ -0,0 +1 @@
++hash_info.h
+--
+2.17.1
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch
new file mode 100644
index 000000000..35c316270
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/command-line-apply-operation-to-all-paths.patch
@@ -0,0 +1,68 @@
+From 5834216fb3aa4e5e59ee13e871c70db1b4e13f02 Mon Sep 17 00:00:00 2001
+From: Patrick Ohly <patrick.ohly@intel.com>
+Date: Fri, 30 Sep 2016 10:22:16 +0200
+Subject: [PATCH] command line: apply operation to all paths
+
+Previously, invocations like "evmctl ima_hash foo bar" silently
+ignored all parameters after the first path name ("foo" in this
+example).
+
+Now evmctl iterates over all specified paths. It aborts with an
+error as soon as the selected operation fails for a path.
+
+Supporting more than one parameter is useful in combination with
+"find" and "xargs" because it is noticably faster than invoking
+evmutil separately for each file, in particular when run under pseudo
+(a fakeroot environment used by the OpenEmbedded build system).
+
+This complements the recursive mode and can be used when more control
+over file selection is needed.
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+---
+ src/evmctl.c | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/src/evmctl.c b/src/evmctl.c
+index 23cf54c..2072034 100644
+--- a/src/evmctl.c
++++ b/src/evmctl.c
+@@ -626,7 +626,7 @@ static int get_file_type(const char *path, const char *search_type)
+ static int do_cmd(struct command *cmd, find_cb_t func)
+ {
+ char *path = g_argv[optind++];
+- int err, dts = REG_MASK; /* only regular files by default */
++ int err = 0, dts = REG_MASK; /* only regular files by default */
+
+ if (!path) {
+ log_err("Parameters missing\n");
+@@ -634,15 +634,18 @@ static int do_cmd(struct command *cmd, find_cb_t func)
+ return -1;
+ }
+
+- if (recursive) {
+- if (search_type) {
+- dts = get_file_type(path, search_type);
+- if (dts < 0)
+- return dts;
++ while (path && !err) {
++ if (recursive) {
++ if (search_type) {
++ dts = get_file_type(path, search_type);
++ if (dts < 0)
++ return dts;
++ }
++ err = find(path, dts, func);
++ } else {
++ err = func(path);
+ }
+- err = find(path, dts, func);
+- } else {
+- err = func(path);
++ path = g_argv[optind++];
+ }
+
+ return err;
+--
+2.1.4
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch
new file mode 100644
index 000000000..75076f52f
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/disable-doc-creation.patch
@@ -0,0 +1,50 @@
+From 321a602098d11ee712ebd01f51033b5fd369eae9 Mon Sep 17 00:00:00 2001
+From: Patrick Ohly <patrick.ohly@intel.com>
+Date: Wed, 13 May 2015 03:41:02 -0700
+Subject: [PATCH] Makefile.am: disable man page creation
+
+Depends on asciidoc, which is not available.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+---
+ Makefile.am | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 06ebf59..4ddd52c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,5 @@
+ SUBDIRS = src
+-dist_man_MANS = evmctl.1
++# dist_man_MANS = evmctl.1
+
+ doc_DATA = examples/ima-genkey-self.sh examples/ima-genkey.sh examples/ima-gen-local-ca.sh
+ EXTRA_DIST = autogen.sh $(doc_DATA)
+@@ -39,4 +39,21 @@ rmman:
+
+ doc: evmctl.1.html rmman evmctl.1
+
++# requires asciidoc, xslproc, docbook-xsl
++# FIXME Disabled until docbook-xsl is unavaliable on tizen.org
++#MANPAGE_DOCBOOK_XSL = /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl
++#
++#evmctl.1.html: README
++# @asciidoc -o $@ $<
++#
++#evmctl.1:
++# asciidoc -d manpage -b docbook -o evmctl.1.xsl README
++# xsltproc --nonet -o $@ $(MANPAGE_DOCBOOK_XSL) evmctl.1.xsl
++# rm -f evmctl.1.xsl
++#
++#rmman:
++# rm -f evmctl.1
++#
++#doc: evmctl.1.html rmman evmctl.1
++
+ .PHONY: $(tarname)
+--
+1.8.4.5
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch
new file mode 100644
index 000000000..c0bdd9b49
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch
@@ -0,0 +1,47 @@
+From 2dec9199f8a8a2c84b25a3d3e7e2f41b71e07834 Mon Sep 17 00:00:00 2001
+From: Patrick Ohly <patrick.ohly@intel.com>
+Date: Wed, 17 Jun 2015 14:28:18 +0200
+Subject: [PATCH 20/20] evmctl.c: do not depend on xattr.h with IMA defines
+
+Compilation on older Linux distros (like Ubuntu 12.04) fails
+because linux/xattr.h does not yet have the IMA defines. Compiling
+there makes sense when only the tools are needed, for example when
+signing an image in cross-compile mode.
+
+To support this, add fallbacks for the two defines which are needed.
+Their value is part of the Linux ABI and thus fixed.
+
+Upstream-status: Submitted [linux-ima-devel@lists.sourceforge.net]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+
+---
+ src/evmctl.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/evmctl.c b/src/evmctl.c
+index c54efbb..23cf54c 100644
+--- a/src/evmctl.c
++++ b/src/evmctl.c
+@@ -56,6 +56,18 @@
+ #include <ctype.h>
+ #include <termios.h>
+
++/*
++ * linux/xattr.h might be old to have this. Allow compilation on older
++ * Linux distros (like Ubuntu 12.04) by falling back to our own
++ * definition.
++ */
++#ifndef XATTR_IMA_SUFFIX
++# define XATTR_IMA_SUFFIX "ima"
++#endif
++#ifndef XATTR_NAME_IMA
++# define XATTR_NAME_IMA XATTR_SECURITY_PREFIX XATTR_IMA_SUFFIX
++#endif
++
+ #include <openssl/sha.h>
+ #include <openssl/pem.h>
+ #include <openssl/hmac.h>
+--
+2.1.4
+
diff --git a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb
new file mode 100644
index 000000000..929d85348
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "IMA/EVM control utility"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "openssl attr keyutils"
+
+DEPENDS_class-native += "openssl-native keyutils-native"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "0267fa16990fd0ddcc89984a8e55b27d43e80167"
+SRC_URI = "git://git.code.sf.net/p/linux-ima/ima-evm-utils"
+
+# Documentation depends on asciidoc, which we do not have, so
+# do not build documentation.
+SRC_URI += "file://disable-doc-creation.patch"
+
+# Workaround for upstream incompatibility with older Linux distros.
+# Relevant for us when compiling ima-evm-utils-native.
+SRC_URI += "file://evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch"
+
+# Required for xargs with more than one path as argument (better for performance).
+SRC_URI += "file://command-line-apply-operation-to-all-paths.patch"
+
+SRC_URI += "\
+ file://0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch \
+ file://0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch \
+ file://0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch \
+ file://0004-ima-evm-utils-update-.gitignore-files.patch \
+"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+EXTRA_OECONF_append_class-target = " --with-kernel-headers=${STAGING_KERNEL_BUILDDIR}"
+
+# blkid is called by evmctl when creating evm checksums.
+# This is less useful when signing files on the build host,
+# so disable it when compiling on the host.
+RDEPENDS_${PN}_append_class-target = " util-linux-blkid libcrypto attr libattr keyutils"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all
new file mode 100644
index 000000000..36e71a7d6
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/files/ima_policy_appraise_all
@@ -0,0 +1,29 @@
+#
+# Integrity measure policy (http://sourceforge.net/p/linux-ima/wiki/Home/#measure-nothing-appraise-everything)
+#
+# Do not measure anything, but appraise everything
+#
+# PROC_SUPER_MAGIC
+dont_appraise fsmagic=0x9fa0
+# SYSFS_MAGIC
+dont_appraise fsmagic=0x62656572
+# DEBUGFS_MAGIC
+dont_appraise fsmagic=0x64626720
+# TMPFS_MAGIC
+dont_appraise fsmagic=0x01021994
+# RAMFS_MAGIC
+dont_appraise fsmagic=0x858458f6
+# DEVPTS_SUPER_MAGIC
+dont_appraise fsmagic=0x1cd1
+# BIFMT
+dont_appraise fsmagic=0x42494e4d
+# SECURITYFS_MAGIC
+dont_appraise fsmagic=0x73636673
+# SELINUXFS_MAGIC
+dont_appraise fsmagic=0xf97cff8c
+# NSFS_MAGIC (introduced in 3.19, see cd025f7 and e149ed2 in the upstream Linux kernel)
+dont_appraise fsmagic=0x6e736673
+# EFIVARFS_MAGIC
+dont_appraise fsmagic=0xde5e81e4
+
+appraise
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb
new file mode 100644
index 000000000..b58d3fed9
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_appraise_all/ima-policy-appraise-all_1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "IMA sample simple appraise policy "
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+# This policy file will get installed as /etc/ima/ima-policy.
+# It is located via the normal file search path, so a .bbappend
+# to this recipe can just point towards one of its own files.
+IMA_POLICY ?= "ima_policy_appraise_all"
+
+SRC_URI = " file://${IMA_POLICY}"
+
+do_install () {
+ install -d ${D}/${sysconfdir}/ima
+ install ${WORKDIR}/${IMA_POLICY} ${D}/${sysconfdir}/ima/ima-policy
+}
+
+FILES_${PN} = "${sysconfdir}/ima"
+RDEPENDS_${PN} = "ima-evm-utils"
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed
new file mode 100644
index 000000000..7f89c8d98
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/files/ima_policy_hashed
@@ -0,0 +1,77 @@
+# With this policy, all files on regular partitions are
+# appraised. Files with signed IMA hash and normal hash are
+# accepted. Signed files cannot be modified while hashed files can be
+# (which will also update the hash). However, signed files can
+# be deleted, so in practice it is still possible to replace them
+# with a modified version.
+#
+# Without EVM, this is obviously not very secure, so this policy is
+# just an example and/or basis for further improvements. For that
+# purpose, some comments show what could be added to make the policy
+# more secure.
+#
+# With EVM the situation might be different because access
+# to the EVM key can be restricted.
+#
+# Files which are appraised are also measured. This allows
+# debugging whether a file is in policy by looking at
+# /sys/kernel/security/ima/ascii_runtime_measurements
+
+# PROC_SUPER_MAGIC
+dont_appraise fsmagic=0x9fa0
+dont_measure fsmagic=0x9fa0
+# SYSFS_MAGIC
+dont_appraise fsmagic=0x62656572
+dont_measure fsmagic=0x62656572
+# DEBUGFS_MAGIC
+dont_appraise fsmagic=0x64626720
+dont_measure fsmagic=0x64626720
+# TMPFS_MAGIC
+dont_appraise fsmagic=0x01021994
+dont_measure fsmagic=0x01021994
+# RAMFS_MAGIC
+dont_appraise fsmagic=0x858458f6
+dont_measure fsmagic=0x858458f6
+# DEVPTS_SUPER_MAGIC
+dont_appraise fsmagic=0x1cd1
+dont_measure fsmagic=0x1cd1
+# BIFMT
+dont_appraise fsmagic=0x42494e4d
+dont_measure fsmagic=0x42494e4d
+# SECURITYFS_MAGIC
+dont_appraise fsmagic=0x73636673
+dont_measure fsmagic=0x73636673
+# SELINUXFS_MAGIC
+dont_appraise fsmagic=0xf97cff8c
+dont_measure fsmagic=0xf97cff8c
+# NSFS_MAGIC (introduced in 3.19, see cd025f7 and e149ed2 in the upstream Linux kernel)
+dont_appraise fsmagic=0x6e736673
+dont_measure fsmagic=0x6e736673
+# SMACK_MAGIC
+dont_appraise fsmagic=0x43415d53
+dont_measure fsmagic=0x43415d53
+# CGROUP_SUPER_MAGIC
+dont_appraise fsmagic=0x27e0eb
+dont_measure fsmagic=0x27e0eb
+# EFIVARFS_MAGIC
+dont_appraise fsmagic=0xde5e81e4
+dont_measure fsmagic=0xde5e81e4
+
+# Special partition, no checking done.
+# dont_measure fsuuid=a11234...
+# dont_appraise fsuuid=a11243...
+
+# Special immutable group.
+# appraise appraise_type=imasig func=FILE_CHECK mask=MAY_READ fgroup=200
+
+# All executables must be signed - too strict, we need to
+# allow installing executables on the device.
+# appraise appraise_type=imasig func=FILE_MMAP mask=MAY_EXEC
+# appraise appraise_type=imasig func=BPRM_CHECK mask=MAY_EXEC
+
+# Default rule. Would be needed also when other rules were added that
+# determine what to do in case of reading (mask=MAY_READ or
+# mask=MAY_EXEC) because otherwise writing does not update the file
+# hash.
+appraise
+measure
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb
new file mode 100644
index 000000000..3352daa03
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_hashed/ima-policy-hashed_1.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "IMA sample hash policy"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+# This policy file will get installed as /etc/ima/ima-policy.
+# It is located via the normal file search path, so a .bbappend
+# to this recipe can just point towards one of its own files.
+IMA_POLICY ?= "ima_policy_hashed"
+
+SRC_URI = " \
+ file://${IMA_POLICY} \
+"
+
+do_install () {
+ install -d ${D}/${sysconfdir}/ima
+ install ${WORKDIR}/${IMA_POLICY} ${D}/${sysconfdir}/ima/ima-policy
+}
+
+FILES_${PN} = "${sysconfdir}/ima"
+RDEPENDS_${PN} = "ima-evm-utils"
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple b/meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple
new file mode 100644
index 000000000..38ca8f53d
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_simple/files/ima_policy_simple
@@ -0,0 +1,4 @@
+# Very simple policy demonstrating the systemd policy loading bug
+# (policy with one line works, two lines don't).
+dont_appraise fsmagic=0x9fa0
+dont_appraise fsmagic=0x62656572
diff --git a/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb b/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb
new file mode 100644
index 000000000..17132aa22
--- /dev/null
+++ b/meta-security/meta-integrity/recipes-security/ima_policy_simple/ima-policy-simple_1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "IMA sample simple policy"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+# This policy file will get installed as /etc/ima/ima-policy.
+# It is located via the normal file search path, so a .bbappend
+# to this recipe can just point towards one of its own files.
+IMA_POLICY ?= "ima_policy_simple"
+
+SRC_URI = " file://${IMA_POLICY}"
+
+do_install () {
+ install -d ${D}/${sysconfdir}/ima
+ install ${WORKDIR}/${IMA_POLICY} ${D}/${sysconfdir}/ima/ima-policy
+}
+
+FILES_${PN} = "${sysconfdir}/ima"
+RDEPENDS_${PN} = "ima-evm-utils"
diff --git a/meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh b/meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh
new file mode 100755
index 000000000..5f3a728fa
--- /dev/null
+++ b/meta-security/meta-integrity/scripts/ima-gen-CA-signed.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Copied from ima-evm-utils.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+GENKEY=ima.genkey
+CA=${1:-ima-local-ca.pem}
+CAKEY=${2:-ima-local-ca.priv}
+
+cat << __EOF__ >$GENKEY
+[ req ]
+default_bits = 1024
+distinguished_name = req_distinguished_name
+prompt = no
+string_mask = utf8only
+x509_extensions = v3_usr
+
+[ req_distinguished_name ]
+O = example.com
+CN = meta-intel-iot-security example signing key
+emailAddress = john.doe@example.com
+
+[ v3_usr ]
+basicConstraints=critical,CA:FALSE
+#basicConstraints=CA:FALSE
+keyUsage=digitalSignature
+#keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid
+#authorityKeyIdentifier=keyid,issuer
+__EOF__
+
+openssl req -new -nodes -utf8 -sha1 -days 365 -batch -config $GENKEY \
+ -out csr_ima.pem -keyout privkey_ima.pem
+openssl x509 -req -in csr_ima.pem -days 365 -extfile $GENKEY -extensions v3_usr \
+ -CA $CA -CAkey $CAKEY -CAcreateserial \
+ -outform DER -out x509_ima.der
diff --git a/meta-security/meta-integrity/scripts/ima-gen-local-ca.sh b/meta-security/meta-integrity/scripts/ima-gen-local-ca.sh
new file mode 100755
index 000000000..b6007614a
--- /dev/null
+++ b/meta-security/meta-integrity/scripts/ima-gen-local-ca.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# Copied from ima-evm-utils.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+GENKEY=ima-local-ca.genkey
+
+cat << __EOF__ >$GENKEY
+[ req ]
+default_bits = 2048
+distinguished_name = req_distinguished_name
+prompt = no
+string_mask = utf8only
+x509_extensions = v3_ca
+
+[ req_distinguished_name ]
+O = example.com
+CN = meta-intel-iot-security example certificate signing key
+emailAddress = john.doe@example.com
+
+[ v3_ca ]
+basicConstraints=CA:TRUE
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid:always,issuer
+# keyUsage = cRLSign, keyCertSign
+__EOF__
+
+openssl req -new -x509 -utf8 -sha1 -days 3650 -batch -config $GENKEY \
+ -outform DER -out ima-local-ca.x509 -keyout ima-local-ca.priv
+
+openssl x509 -inform DER -in ima-local-ca.x509 -out ima-local-ca.pem
diff --git a/meta-security/meta-integrity/scripts/ima-gen-self-signed.sh b/meta-security/meta-integrity/scripts/ima-gen-self-signed.sh
new file mode 100755
index 000000000..5ee876c05
--- /dev/null
+++ b/meta-security/meta-integrity/scripts/ima-gen-self-signed.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Copied from ima-evm-utils.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+GENKEY=ima.genkey
+
+cat << __EOF__ >$GENKEY
+[ req ]
+default_bits = 1024
+distinguished_name = req_distinguished_name
+prompt = no
+string_mask = utf8only
+x509_extensions = myexts
+
+[ req_distinguished_name ]
+O = example.com
+CN = meta-intel-iot-security example signing key
+emailAddress = john.doe@example.com
+
+[ myexts ]
+basicConstraints=critical,CA:FALSE
+keyUsage=digitalSignature
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid
+__EOF__
+
+openssl req -new -nodes -utf8 -sha1 -days 36500 -batch \
+ -x509 -config $GENKEY \
+ -outform DER -out x509_ima.der -keyout privkey_ima.pem
diff --git a/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb
index 812408e5e..0f53a8cde 100644
--- a/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb
+++ b/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb
@@ -9,3 +9,4 @@ EXTRA_OECONF += " \
"
RDEPENDS_${PN} = "acl zlib attr bash"
+RCONFLICTS_${PN} = "samhain-standalone"
diff --git a/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb
index 9341d4440..d304912e7 100644
--- a/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb
+++ b/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb
@@ -18,3 +18,4 @@ do_install_append() {
}
RDEPENDS_${PN} += "gmp bash perl"
+RCONFLICTS_${PN} = "samhain-standalone"
diff --git a/meta-security/recipes-security/bastille/bastille_3.2.1.bb b/meta-security/recipes-security/bastille/bastille_3.2.1.bb
index 152c03ae5..e9accb56f 100644
--- a/meta-security/recipes-security/bastille/bastille_3.2.1.bb
+++ b/meta-security/recipes-security/bastille/bastille_3.2.1.bb
@@ -41,8 +41,7 @@ S = "${WORKDIR}/Bastille"
do_install () {
install -d ${D}${sbindir}
- install -d ${D}${libdir}/perl/site_perl/Curses
- ln -sf perl ${D}/${libdir}/perl5
+ install -d ${D}${libdir}/perl5/site_perl/Curses
install -d ${D}${libdir}/Bastille
install -d ${D}${libdir}/Bastille/API
@@ -51,7 +50,6 @@ do_install () {
install -d ${D}${datadir}/Bastille/OSMap/Modules
install -d ${D}${datadir}/Bastille/Questions
install -d ${D}${datadir}/Bastille/FKL/configs/
- install -d ${D}${localstatedir}/lock/subsys/bastille
install -d ${D}${localstatedir}/log/Bastille
install -d ${D}${sysconfdir}/Bastille
install -m 0755 AutomatedBastille ${D}${sbindir}
diff --git a/meta-security/recipes-security/checksec/checksec_1.11.bb b/meta-security/recipes-security/checksec/checksec_1.11.1.bb
index 59a67bd65..835dffcd8 100644
--- a/meta-security/recipes-security/checksec/checksec_1.11.bb
+++ b/meta-security/recipes-security/checksec/checksec_1.11.1.bb
@@ -6,7 +6,7 @@ HOMEPAGE="https://github.com/slimm609/checksec.sh"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=93fddcca19f6c897871f9b5f9a035f4a"
-SRCREV = "a57e03c4f62dbaca0ec949bbc58491fb0c461447"
+SRCREV = "3c15cb89641c700096fdec0c1904a0cf9b83c5e2"
SRC_URI = "git://github.com/slimm609/checksec.sh"
S = "${WORKDIR}/git"
diff --git a/meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch b/meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch
new file mode 100644
index 000000000..7f0812c4e
--- /dev/null
+++ b/meta-security/recipes-security/fail2ban/files/0001-To-fix-build-error-of-xrang.patch
@@ -0,0 +1,28 @@
+From fe3436d65518099d35c643848cba50253abc249c Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Thu, 9 May 2019 14:44:51 +0900
+Subject: [PATCH] To fix build error of xrange.
+
+NameError: name 'xrange' is not defined
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ fail2ban/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fail2ban/__init__.py b/fail2ban/__init__.py
+index fa6dcf7..61789a4 100644
+--- a/fail2ban/__init__.py
++++ b/fail2ban/__init__.py
+@@ -82,7 +82,7 @@ strptime("2012", "%Y")
+
+ # short names for pure numeric log-level ("Level 25" could be truncated by short formats):
+ def _init():
+- for i in xrange(50):
++ for i in range(50):
+ if logging.getLevelName(i).startswith('Level'):
+ logging.addLevelName(i, '#%02d-Lev.' % i)
+ _init()
+--
+2.7.4
+
diff --git a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb
index 5c887e857..23ef027b3 100644
--- a/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb
+++ b/meta-security/recipes-security/fail2ban/python3-fail2ban_0.10.4.0.bb
@@ -2,3 +2,7 @@ inherit setuptools3
require python-fail2ban.inc
RDEPENDS_${PN}-ptest = "python3-core python3-io python3-modules python3-fail2ban"
+
+SRC_URI += " \
+ file://0001-To-fix-build-error-of-xrang.patch \
+"
diff --git a/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch b/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch
new file mode 100644
index 000000000..938fe2eb5
--- /dev/null
+++ b/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch
@@ -0,0 +1,28 @@
+From b0355cc205543ffd33752874295139d57c4fbc3e Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Tue, 26 Sep 2017 07:59:51 +0000
+Subject: [PATCH] Subject: [PATCH] keyutils: use relative path for link
+
+The absolute path of the symlink will be invalid
+when populated in sysroot, so use relative path instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+{rebased for 1.6]
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: keyutils-1.6/Makefile
+===================================================================
+--- keyutils-1.6.orig/Makefile
++++ keyutils-1.6/Makefile
+@@ -184,7 +184,7 @@ ifeq ($(NO_SOLIB),0)
+ $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
+ $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
+ mkdir -p $(DESTDIR)$(USRLIBDIR)
+- $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
++ $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
+ sed \
+ -e 's,@VERSION\@,$(VERSION),g' \
+ -e 's,@prefix\@,$(PREFIX),g' \
diff --git a/meta-security/recipes-security/keyutils/keyutils_1.6.bb b/meta-security/recipes-security/keyutils/keyutils_1.6.bb
index c961fa293..4d3a96f29 100644
--- a/meta-security/recipes-security/keyutils/keyutils_1.6.bb
+++ b/meta-security/recipes-security/keyutils/keyutils_1.6.bb
@@ -12,13 +12,13 @@ LICENSE = "LGPLv2.1+ & GPLv2.0+"
LIC_FILES_CHKSUM = "file://LICENCE.GPL;md5=5f6e72824f5da505c1f4a7197f004b45 \
file://LICENCE.LGPL;md5=7d1cacaa3ea752b72ea5e525df54a21f"
-
-inherit siteinfo ptest
+inherit siteinfo autotools-brokensep ptest
SRC_URI = "http://people.redhat.com/dhowells/keyutils/${BP}.tar.bz2 \
file://keyutils-test-fix-output-format.patch \
file://keyutils-fix-error-report-by-adding-default-message.patch \
file://run-ptest \
+ file://fix_library_install_path.patch \
"
SRC_URI[md5sum] = "191987b0ab46bb5b50efd70a6e6ce808"
@@ -28,14 +28,15 @@ EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \
NO_ARLIB=1 \
BINDIR=${base_bindir} \
SBINDIR=${base_sbindir} \
- LIBDIR=${base_libdir} \
- USRLIBDIR=${base_libdir} \
+ LIBDIR=${libdir} \
+ USRLIBDIR=${libdir} \
+ INCLUDEDIR=${includedir} \
BUILDFOR=${SITEINFO_BITS}-bit \
NO_GLIBC_KEYERR=1 \
"
do_install () {
- install -d ${D}/${nonarch_base_libdir}/pkgconfig
+ install -d ${D}/${libdir}/pkgconfig
oe_runmake DESTDIR=${D} install
}
@@ -44,8 +45,9 @@ do_install_ptest () {
sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh
}
-FILES_${PN}-dev += "${nonarch_base_libdir}/pkgconfig/libkeyutils.pc"
RDEPENDS_${PN}-ptest += "lsb"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/recipes-security/scapy/python-scapy.inc b/meta-security/recipes-security/scapy/python-scapy.inc
index 99f30a7bf..baa69b244 100644
--- a/meta-security/recipes-security/scapy/python-scapy.inc
+++ b/meta-security/recipes-security/scapy/python-scapy.inc
@@ -12,13 +12,6 @@ SRC_URI = "git://github.com/secdev/scapy.git"
inherit ptest
-do_install_append() {
- if [ "${PYTHON_PN}" = "python3" ]; then
- sed -i -e 's/python/python3/' ${D}${bindir}/scapy
- sed -i -e 's/python/python3/' ${D}${bindir}/UTscapy
- fi
-}
-
do_install_ptest() {
install -m 0644 ${S}/test/regression.uts ${D}${PTEST_PATH}
sed -i 's,@PTEST_PATH@,${PTEST_PATH},' ${D}${PTEST_PATH}/run-ptest
diff --git a/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb b/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb
index 98db1fd6d..982620e0b 100644
--- a/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb
+++ b/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb
@@ -4,3 +4,8 @@ require python-scapy.inc
SRC_URI += "file://run-ptest"
RDEPENDS_${PN} += "${PYTHON_PN}-subprocess"
+
+do_install_append() {
+ mv ${D}${bindir}/scapy ${D}${bindir}/scapy2
+ mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy2
+}
diff --git a/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb
index 83c79f484..abcaeeb0b 100644
--- a/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb
+++ b/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb
@@ -3,3 +3,7 @@ require python-scapy.inc
SRC_URI += "file://run-ptest"
+do_install_append() {
+ mv ${D}${bindir}/scapy ${D}${bindir}/scapy3
+ mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy3
+}
diff --git a/meta-yadro/meta-nicole/conf/bblayers.conf.sample b/meta-yadro/meta-nicole/conf/bblayers.conf.sample
new file mode 100644
index 000000000..62622c8cb
--- /dev/null
+++ b/meta-yadro/meta-nicole/conf/bblayers.conf.sample
@@ -0,0 +1,31 @@
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "8"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ##OEROOT##/meta \
+ ##OEROOT##/meta-openembedded/meta-oe \
+ ##OEROOT##/meta-openembedded/meta-networking \
+ ##OEROOT##/meta-openembedded/meta-perl \
+ ##OEROOT##/meta-openembedded/meta-python \
+ ##OEROOT##/meta-phosphor \
+ ##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-openpower \
+ ##OEROOT##/meta-yadro \
+ ##OEROOT##/meta-yadro/meta-nicole \
+ "
+BBLAYERS_NON_REMOVABLE ?= " \
+ ##OEROOT##/meta \
+ ##OEROOT##/meta-openembedded/meta-oe \
+ ##OEROOT##/meta-openembedded/meta-networking \
+ ##OEROOT##/meta-openembedded/meta-perl \
+ ##OEROOT##/meta-openembedded/meta-python \
+ ##OEROOT##/meta-phosphor \
+ ##OEROOT##/meta-aspeed \
+ ##OEROOT##/meta-openpower \
+ ##OEROOT##/meta-yadro \
+ ##OEROOT##/meta-yadro/meta-nicole \
+ "
diff --git a/meta-yadro/meta-nicole/conf/conf-notes.txt b/meta-yadro/meta-nicole/conf/conf-notes.txt
new file mode 100644
index 000000000..9b3c01a55
--- /dev/null
+++ b/meta-yadro/meta-nicole/conf/conf-notes.txt
@@ -0,0 +1,2 @@
+Common targets are:
+ obmc-phosphor-image
diff --git a/meta-yadro/meta-nicole/conf/layer.conf b/meta-yadro/meta-nicole/conf/layer.conf
new file mode 100644
index 000000000..85d0963da
--- /dev/null
+++ b/meta-yadro/meta-nicole/conf/layer.conf
@@ -0,0 +1,10 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "nicole-layer"
+BBFILE_PATTERN_nicole-layer := "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_nicole-layer = "thud warrior"
diff --git a/meta-yadro/meta-nicole/conf/local.conf.sample b/meta-yadro/meta-nicole/conf/local.conf.sample
new file mode 100644
index 000000000..ba1d82e13
--- /dev/null
+++ b/meta-yadro/meta-nicole/conf/local.conf.sample
@@ -0,0 +1,216 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+MACHINE ??= "nicole"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "openbmc-openpower"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_rpm"
+
+#
+# SDK/ADT target architecture
+#
+# This variable specifies the architecture to build SDK/ADT items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+SANITY_TESTED_DISTROS_append ?= " *"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES = "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necessary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. This assumes there is a
+# libsdl library available on your build system.
+#PACKAGECONFIG_append_pn-qemu-native = " sdl"
+#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
diff --git a/meta-yadro/meta-nicole/conf/machine/nicole.conf b/meta-yadro/meta-nicole/conf/machine/nicole.conf
new file mode 100644
index 000000000..488e6af11
--- /dev/null
+++ b/meta-yadro/meta-nicole/conf/machine/nicole.conf
@@ -0,0 +1,13 @@
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
+
+UBOOT_MACHINE = "ast_g5_ncsi_config"
+
+PREFERRED_PROVIDER_virtual/p9-vcs-workaround = ''
+
+require conf/machine/include/ast2500.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/openpower.inc
+require conf/machine/include/p9.inc
+
+IMAGE_FEATURES_remove = " obmc-fan-control obmc-fan-mgmt obmc-leds"
diff --git a/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts b/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts
new file mode 100644
index 000000000..533052294
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts
@@ -0,0 +1,249 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright 2019 YADRO
+/dts-v1/;
+#include "aspeed-g5.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+
+/ {
+ model = "Nicole BMC";
+ compatible = "yadro,nicole-bmc", "aspeed,ast2500";
+
+ chosen {
+ stdout-path = &uart5;
+ bootargs = "console=ttyS4,115200 earlyprintk";
+ };
+
+ memory@80000000 {
+ reg = <0x80000000 0x20000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ vga_memory: framebuffer@9f000000 {
+ no-map;
+ reg = <0x9f000000 0x01000000>; /* 16M */
+ };
+
+ flash_memory: region@98000000 {
+ no-map;
+ reg = <0x98000000 0x04000000>; /* 64M */
+ };
+
+ coldfire_memory: codefire_memory@9ef00000 {
+ reg = <0x9ef00000 0x00100000>;
+ no-map;
+ };
+
+ gfx_memory: framebuffer {
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ video_engine_memory: jpegbuffer {
+ size = <0x02000000>; /* 32M */
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ };
+
+ fsi: gpio-fsi {
+ compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
+ #address-cells = <2>;
+ #size-cells = <0>;
+ no-gpio-delays;
+
+ memory-region = <&coldfire_memory>;
+ aspeed,sram = <&sram>;
+ aspeed,cvic = <&cvic>;
+
+ clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
+ data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>;
+ mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
+ enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
+ trans-gpios = <&gpio ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ checkstop {
+ label = "checkstop";
+ gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
+ linux,code = <ASPEED_GPIO(J, 2)>;
+ };
+ };
+};
+
+&fmc {
+ status = "okay";
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout.dtsi"
+ };
+};
+
+&spi1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spi1_default>;
+
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "pnor";
+ spi-max-frequency = <100000000>;
+ };
+};
+
+&lpc_ctrl {
+ status = "okay";
+ memory-region = <&flash_memory>;
+ flash = <&spi1>;
+};
+
+&uart1 {
+ /* Rear RS-232 connector */
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_txd1_default
+ &pinctrl_rxd1_default
+ &pinctrl_nrts1_default
+ &pinctrl_ndtr1_default
+ &pinctrl_ndsr1_default
+ &pinctrl_ncts1_default
+ &pinctrl_ndcd1_default
+ &pinctrl_nri1_default>;
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&mac0 {
+ status = "okay";
+
+ use-ncsi;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii1_default>;
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+};
+
+&i2c3 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&i2c5 {
+ status = "okay";
+};
+
+&i2c6 {
+ status = "okay";
+
+ rtc@32 {
+ compatible = "epson,rx8900";
+ reg = <0x32>;
+ };
+};
+
+&i2c7 {
+ status = "okay";
+};
+
+&i2c8 {
+ status = "okay";
+};
+
+&i2c9 {
+ status = "okay";
+};
+
+&i2c10 {
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+};
+
+&i2c12 {
+ status = "okay";
+};
+
+&gpio {
+ nic_func_mode0 {
+ gpio-hog;
+ gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
+ output-low;
+ line-name = "nic_func_mode0";
+ };
+ nic_func_mode1 {
+ gpio-hog;
+ gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
+ output-low;
+ line-name = "nic_func_mode1";
+ };
+ seq_cont {
+ gpio-hog;
+ gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
+ output-low;
+ line-name = "seq_cont";
+ };
+};
+
+&vuart {
+ status = "okay";
+};
+
+&gfx {
+ status = "okay";
+ memory-region = <&gfx_memory>;
+};
+
+&pinctrl {
+ aspeed,external-nodes = <&gfx &lhc>;
+};
+
+&ibt {
+ status = "okay";
+};
+
+&vhub {
+ status = "okay";
+};
+
+&adc {
+ status = "okay";
+};
+
+&video {
+ status = "okay";
+ memory-region = <&video_engine_memory>;
+};
+
+#include "ibm-power9-dual.dtsi"
diff --git a/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/nicole.cfg b/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/nicole.cfg
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/nicole.cfg
diff --git a/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed_%.bbappend
new file mode 100644
index 000000000..bd3e47596
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend_nicole := "${THISDIR}/${PN}:"
+SRC_URI += "file://nicole.cfg \
+ file://arch \
+"
+
+# Merge source tree by original project with our layer of additional files
+do_add_vesnin_files () {
+ cp -r "${WORKDIR}/arch" \
+ "${STAGING_KERNEL_DIR}"
+}
+addtask do_add_vesnin_files after do_kernel_checkout before do_patch
+
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb
new file mode 100644
index 000000000..854795be3
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Nicole AVSBus control"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit obmc-phosphor-systemd
+
+RDEPENDS_${PN} += "i2c-tools"
+
+S = "${WORKDIR}"
+SRC_URI += "file://avsbus-control.sh"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/avsbus-control.sh \
+ ${D}${bindir}/avsbus-control.sh
+}
+
+TMPL= "avsbus-control@.service"
+INSTFMT= "avsbus-control@{0}.service"
+TGTFMT = "obmc-chassis-poweron@{0}.target"
+FMT = "../${TMPL}:${TGTFMT}.requires/${INSTFMT}"
+
+SYSTEMD_SERVICE_${PN} += "${TMPL}"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control.sh b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control.sh
new file mode 100755
index 000000000..0330b221f
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control.sh
@@ -0,0 +1,31 @@
+#!/bin/sh -eu
+
+function override_avs_settings()
+{
+ BUS=$1
+
+ i2cset -y ${BUS} 0x44 0x00 0x00 b # VCS
+ i2cset -y ${BUS} 0x44 0x24 0x044C w # VOUT_MAX 1100mV
+ i2cset -y ${BUS} 0x44 0x40 0x0456 w # VOUT_OV_FAULT_LIMIT 1110mV
+ i2cset -y ${BUS} 0x44 0x25 0x0438 w # VOUT_MARGING_HIGH 1080mV
+ i2cset -y ${BUS} 0x44 0x26 0x03D4 w # VOUT_MARGING_LOW 980mV
+ i2cset -y ${BUS} 0x44 0x44 0x024E w # VOUT_UV_FAULT_LIMIT 590mV
+ i2cset -y ${BUS} 0x44 0x2B 0x0258 w # VOUT_MIN 600mV
+
+ i2cset -y ${BUS} 0x44 0x00 0x01 b # VDD
+ i2cset -y ${BUS} 0x44 0x24 0x044C w # VOUT_MAX 1100mV
+ i2cset -y ${BUS} 0x44 0x40 0x0456 w # VOUT_OV_FAULT_LIMIT 1110mV
+ i2cset -y ${BUS} 0x44 0x25 0x041A w # VOUT_MARGING_HIGH 1050mV
+ i2cset -y ${BUS} 0x44 0x26 0x03B6 w # VOUT_MARGING_LOW 950mV
+ i2cset -y ${BUS} 0x44 0x44 0x024E w # VOUT_UV_FAULT_LIMIT 590mV
+ i2cset -y ${BUS} 0x44 0x2B 0x0258 w # VOUT_MIN 600mV
+
+ i2cset -y ${BUS} 0x44 0x00 0xFF b # All pages (VCS & VDD)
+ i2cset -y ${BUS} 0x44 0x01 0xB0 b # Enable
+
+ i2cset -y ${BUS} 0x46 0x00 0x01 b # VDN
+ i2cset -y ${BUS} 0x46 0x01 0xB0 b # Enable
+}
+
+override_avs_settings 4
+override_avs_settings 5
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control@.service b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control@.service
new file mode 100644
index 000000000..247c506b7
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control@.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=Enable the AVS bus on VRMs
+Wants=obmc-host-start-pre@%i.target
+Before=obmc-host-start-pre@%i.target
+Wants=obmc-power-on@%i.target
+After=obmc-power-on@%i.target
+Wants=fsi-scan@%i.service
+After=fsi-scan@%i.service
+Conflicts=obmc-chassis-poweroff@%i.target
+ConditionPathExists=!/run/openbmc/chassis@%i-on
+
+[Service]
+ExecStart=/usr/bin/avsbus-control.sh
+SyslogIdentifier=avsbus-control.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
+
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console/obmc-console.conf b/meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console/obmc-console.conf
new file mode 100644
index 000000000..a5ba3f328
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console/obmc-console.conf
@@ -0,0 +1,4 @@
+lpc-address = 0x3f8
+sirq = 4
+local-tty = ttyS0
+local-tty-baud = 115200
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console_%.bbappend
index 72d991c7e..72d991c7e 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bbappend
+++ b/meta-yadro/meta-nicole/recipes-phosphor/console/obmc-console_%.bbappend
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/host/p9-host-start.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/host/p9-host-start.bbappend
new file mode 100644
index 000000000..83ef5455a
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/host/p9-host-start.bbappend
@@ -0,0 +1,2 @@
+RDEPENDS_${PN}_append = " avsbus-control"
+RDEPENDS_${PN}_remove = " p9-vcs-workaround"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend
new file mode 100644
index 000000000..aa57bbfe6
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/images/obmc-phosphor-image.bbappend
@@ -0,0 +1 @@
+OBMC_IMAGE_EXTRA_INSTALL_append = " mboxd"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/mboxd/mboxd_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/mboxd/mboxd_%.bbappend
new file mode 100644
index 000000000..8b6248a46
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/mboxd/mboxd_%.bbappend
@@ -0,0 +1 @@
+MBOXD_FLASH_SIZE = "64M"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json b/meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
new file mode 100644
index 000000000..146b9af46
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf/gpio_defs.json
@@ -0,0 +1,72 @@
+{
+ "gpio_configs": {
+
+ "power_config": {
+ "power_good_in": "SYS_PWROK_BUFF",
+ "power_up_outs": [
+ { "name": "SOFTWARE_PGOOD", "polarity": true},
+ { "name": "BMC_POWER_UP", "polarity": true}
+ ],
+ "reset_outs": [
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "SOFTWARE_PGOOD",
+ "pin": "R1",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_POWER_UP",
+ "pin": "D1",
+ "direction": "out"
+ },
+ {
+ "name": "SYS_PWROK_BUFF",
+ "pin": "D2",
+ "direction": "in"
+ },
+ {
+ "name": "BMC_WD_CLEAR_PULSE_N",
+ "pin": "N5",
+ "direction": "falling"
+ },
+ {
+ "name": "CHECKSTOP",
+ "pin": "J2",
+ "direction": "falling"
+ },
+ {
+ "name": "BMC_CP0_RESET_N",
+ "pin": "A1",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_CP0_PERST_ENABLE_R",
+ "pin": "A3",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_THROTTLE",
+ "pin": "J3",
+ "direction": "out"
+ },
+ {
+ "name": "IDBTN",
+ "pin": "Q7",
+ "direction": "out"
+ },
+ {
+ "name": "POWER_BUTTON",
+ "pin": "I3",
+ "direction": "both"
+ },
+ {
+ "name": "RESET_BUTTON",
+ "pin": "J1",
+ "direction": "both"
+ }
+ ]
+}
diff --git a/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog-policy.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
index 58512234d..72d991c7e 100644
--- a/meta-openbmc-mods/meta-common/recipes-extended/rsyslog/rsyslog-policy.bbappend
+++ b/meta-yadro/meta-nicole/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
@@ -1,4 +1 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://rsyslog-override.conf \
-"
diff --git a/meta-yadro/meta-nicole/recipes.txt b/meta-yadro/meta-nicole/recipes.txt
new file mode 100644
index 000000000..3ec3f4a42
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes.txt
@@ -0,0 +1,2 @@
+recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
+recipes-phosphor - Phosphor OpenBMC applications and configuration
diff --git a/meta-yadro/meta-vesnin/conf/machine/vesnin.conf b/meta-yadro/meta-vesnin/conf/machine/vesnin.conf
index fc448de86..6ba66faa4 100644
--- a/meta-yadro/meta-vesnin/conf/machine/vesnin.conf
+++ b/meta-yadro/meta-vesnin/conf/machine/vesnin.conf
@@ -14,8 +14,6 @@ FLASH_SIZE = "32768"
SERIAL_CONSOLES = "115200;ttyS2 115200;ttyS4"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-inventory = "vesnin-ipmi-inventory-map-native"
-PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-read-inventory = "vesnin-ipmi-inventory-map-read-native"
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "vesnin-led-manager-config-native"
PREFERRED_PROVIDER_virtual/openpower-fru-properties = "vesnin-openpower-fru-properties-native"
PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout = "vesnin-openpower-fru-vpd-layout-native"
diff --git a/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0001-vesnin-dts-add-mbox-and-lpc_host.patch b/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0001-vesnin-dts-add-mbox-and-lpc_host.patch
deleted file mode 100644
index ba03640d6..000000000
--- a/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0001-vesnin-dts-add-mbox-and-lpc_host.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 229cd43c240a8395ac6ed684a5eee7a0586f9724 Mon Sep 17 00:00:00 2001
-From: Alexander Filippov <a.filippov@yadro.com>
-Date: Tue, 4 Jun 2019 14:12:00 +0300
-Subject: [PATCH] vesnin: dts: add mbox and lpc_host
-
-These nodes were removed from our DTS by the ask of Andrew Jeffery as
-its are not upstreamed yet. But its are still required to start the
-host.
-
-Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
----
- arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts b/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts
-index 0b9e29c3212e..20f07f5bb4f4 100644
---- a/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts
-+++ b/arch/arm/boot/dts/aspeed-bmc-opp-vesnin.dts
-@@ -120,6 +120,16 @@
- status = "okay";
- };
-
-+&lpc_host {
-+ sio_regs: regs {
-+ compatible = "aspeed,bmc-misc";
-+ };
-+};
-+
-+&mbox {
-+ status = "okay";
-+};
-+
- &uart3 {
- status = "okay";
- pinctrl-names = "default";
---
-2.20.1
-
diff --git a/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0002-vesnin-remap-aspeed-uart.patch b/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0002-vesnin-remap-aspeed-uart.patch
index fb286691d..a745a18a7 100644
--- a/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0002-vesnin-remap-aspeed-uart.patch
+++ b/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed/0002-vesnin-remap-aspeed-uart.patch
@@ -1,4 +1,4 @@
-From 85027d94696464269ae77702ead788a14fc8305f Mon Sep 17 00:00:00 2001
+From c10401d8c349610ea9cd29d28f87dd630c907aeb Mon Sep 17 00:00:00 2001
From: Alexander Filippov <a.filippov@yadro.com>
Date: Wed, 28 Mar 2018 17:46:28 +0300
Subject: [PATCH] vesnin: remap aspeed-uart
@@ -7,14 +7,14 @@ Remaps UART2 <-> UART3
Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
---
- drivers/misc/aspeed-lpc-ctrl.c | 8 ++++++++
+ drivers/soc/aspeed/aspeed-lpc-ctrl.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/misc/aspeed-lpc-ctrl.c b/drivers/misc/aspeed-lpc-ctrl.c
-index 332210e06e98..ce5138474130 100644
---- a/drivers/misc/aspeed-lpc-ctrl.c
-+++ b/drivers/misc/aspeed-lpc-ctrl.c
-@@ -27,6 +27,7 @@
+diff --git a/drivers/soc/aspeed/aspeed-lpc-ctrl.c b/drivers/soc/aspeed/aspeed-lpc-ctrl.c
+index 01ed21e8bfee..cbdca53a8805 100644
+--- a/drivers/soc/aspeed/aspeed-lpc-ctrl.c
++++ b/drivers/soc/aspeed/aspeed-lpc-ctrl.c
+@@ -23,6 +23,7 @@
#define HICR7 0x8
#define HICR8 0xc
@@ -22,7 +22,7 @@ index 332210e06e98..ce5138474130 100644
struct aspeed_lpc_ctrl {
struct miscdevice miscdev;
-@@ -274,6 +275,13 @@ static int aspeed_lpc_ctrl_probe(struct platform_device *pdev)
+@@ -271,6 +272,13 @@ static int aspeed_lpc_ctrl_probe(struct platform_device *pdev)
goto err;
}
diff --git a/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed_%.bbappend
index 5a8925301..5680c6938 100644
--- a/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed_%.bbappend
+++ b/meta-yadro/meta-vesnin/recipes-kernel/linux/linux-aspeed_%.bbappend
@@ -1,6 +1,5 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_append_vesnin = "\
file://vesnin.cfg \
- file://0001-vesnin-dts-add-mbox-and-lpc_host.patch \
file://0002-vesnin-remap-aspeed-uart.patch \
"
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb
new file mode 100644
index 000000000..dc786e562
--- /dev/null
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb
@@ -0,0 +1,23 @@
+SUMMARY = "YAML configuration for Vesnin"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+inherit allarch
+
+SRC_URI = " \
+ file://vesnin-ipmi-fru.yaml \
+ "
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -m 0644 -D vesnin-ipmi-fru.yaml \
+ ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
+}
+
+FILES_${PN}-dev = " \
+ ${datadir}/${BPN}/ipmi-fru-read.yaml \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map/config.yaml b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml
index 26c7831b9..26c7831b9 100644
--- a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map/config.yaml
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..3ee4501d7
--- /dev/null
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append_vesnin = " vesnin-yaml-config"
+
+EXTRA_OECONF_vesnin = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/vesnin-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..cf846c7fa
--- /dev/null
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append_vesnin = " vesnin-yaml-config"
+
+EXTRA_OECONF_vesnin = " \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/vesnin-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-native.bb b/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-native.bb
deleted file mode 100644
index efea9368a..000000000
--- a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-native.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Vesnin IPMI to DBus Inventory mapping."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-fru
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- # TODO: install this to inventory_datadir
- # after ipmi-fru-parser untangles the host
- # firmware config from the machine inventory.
- DEST=${D}${config_datadir}
-
- install -d ${DEST}
- install config.yaml ${DEST}
-}
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-read-native.bb b/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-read-native.bb
deleted file mode 100644
index e4d3bd509..000000000
--- a/meta-yadro/meta-vesnin/recipes-phosphor/ipmi/vesnin-ipmi-inventory-map-read-native.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Vesnin IPMI to DBus Inventory mapping."
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit native
-inherit phosphor-ipmi-host
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/vesnin-ipmi-inventory-map:"
-
-SRC_URI += "file://config.yaml"
-
-PROVIDES += "virtual/phosphor-ipmi-fru-read-inventory"
-
-S = "${WORKDIR}"
-
-do_install() {
- # TODO: install this to inventory_datadir
- # after ipmi-fru-parser untangles the host
- # firmware config from the machine inventory.
- DEST=${D}${config_datadir}
-
- install -d ${DEST}
- install config.yaml ${DEST}
-}
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index dae42ac47..e2f91fa3b 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -163,12 +163,35 @@ class LogTee(object):
def __repr__(self):
return '<LogTee {0}>'.format(self.name)
+
def flush(self):
self.outfile.flush()
+
+class StdoutNoopContextManager:
+ """
+ This class acts like sys.stdout, but adds noop __enter__ and __exit__ methods.
+ """
+ def __enter__(self):
+ return sys.stdout
+
+ def __exit__(self, *exc_info):
+ pass
+
+ def write(self, string):
+ return sys.stdout.write(string)
+
+ def flush(self):
+ sys.stdout.flush()
+
+ @property
+ def name(self):
+ return sys.stdout.name
+
+
#
# pythonexception allows the python exceptions generated to be raised
-# as the real exceptions (not FuncFailed) and without a backtrace at the
+# as the real exceptions (not FuncFailed) and without a backtrace at the
# origin of the failure.
#
def exec_func(func, d, dirs = None, pythonexception=False):
@@ -323,6 +346,42 @@ trap 'bb_exit_handler' 0
set -e
'''
+def create_progress_handler(func, progress, logfile, d):
+ if progress == 'percent':
+ # Use default regex
+ return bb.progress.BasicProgressHandler(d, outfile=logfile)
+ elif progress.startswith('percent:'):
+ # Use specified regex
+ return bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
+ elif progress.startswith('outof:'):
+ # Use specified regex
+ return bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
+ elif progress.startswith("custom:"):
+ # Use a custom progress handler that was injected via OE_EXTRA_IMPORTS or __builtins__
+ import functools
+ from types import ModuleType
+
+ parts = progress.split(":", 2)
+ _, cls, otherargs = parts[0], parts[1], (parts[2] or None) if parts[2:] else None
+ if cls:
+ def resolve(x, y):
+ if not x:
+ return None
+ if isinstance(x, ModuleType):
+ return getattr(x, y, None)
+ return x.get(y)
+ cls_obj = functools.reduce(resolve, cls.split("."), bb.utils._context)
+ if not cls_obj:
+ # Fall-back on __builtins__
+ cls_obj = functools.reduce(lambda x, y: x.get(y), cls.split("."), __builtins__)
+ if cls_obj:
+ return cls_obj(d, outfile=logfile, otherargs=otherargs)
+ bb.warn('%s: unknown custom progress handler in task progress varflag value "%s", ignoring' % (func, cls))
+ else:
+ bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress))
+
+ return logfile
+
def exec_func_shell(func, d, runfile, cwd=None):
"""Execute a shell function from the metadata
@@ -360,23 +419,13 @@ exit $ret
cmd = [fakerootcmd, runfile]
if bb.msg.loggerDefaultVerbose:
- logfile = LogTee(logger, sys.stdout)
+ logfile = LogTee(logger, StdoutNoopContextManager())
else:
- logfile = sys.stdout
+ logfile = StdoutNoopContextManager()
progress = d.getVarFlag(func, 'progress')
if progress:
- if progress == 'percent':
- # Use default regex
- logfile = bb.progress.BasicProgressHandler(d, outfile=logfile)
- elif progress.startswith('percent:'):
- # Use specified regex
- logfile = bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
- elif progress.startswith('outof:'):
- # Use specified regex
- logfile = bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile)
- else:
- bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress))
+ logfile = create_progress_handler(func, progress, logfile, d)
fifobuffer = bytearray()
def readfifo(data):
@@ -428,7 +477,7 @@ exit $ret
bb.debug(2, "Executing shell function %s" % func)
try:
- with open(os.devnull, 'r+') as stdin:
+ with open(os.devnull, 'r+') as stdin, logfile:
bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
except bb.process.CmdError:
logfn = d.getVar('BB_LOGFILE')
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index 060758e0c..5fb2f17cd 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -237,7 +237,7 @@ def virtualfn2realfn(virtualfn):
Convert a virtual file name to a real one + the associated subclass keyword
"""
mc = ""
- if virtualfn.startswith('multiconfig:'):
+ if virtualfn.startswith('mc:'):
elems = virtualfn.split(':')
mc = elems[1]
virtualfn = ":".join(elems[2:])
@@ -258,7 +258,7 @@ def realfn2virtual(realfn, cls, mc):
if cls:
realfn = "virtual:" + cls + ":" + realfn
if mc:
- realfn = "multiconfig:" + mc + ":" + realfn
+ realfn = "mc:" + mc + ":" + realfn
return realfn
def variant2virtual(realfn, variant):
@@ -267,11 +267,11 @@ def variant2virtual(realfn, variant):
"""
if variant == "":
return realfn
- if variant.startswith("multiconfig:"):
+ if variant.startswith("mc:"):
elems = variant.split(":")
if elems[2]:
- return "multiconfig:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
- return "multiconfig:" + elems[1] + ":" + realfn
+ return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
+ return "mc:" + elems[1] + ":" + realfn
return "virtual:" + variant + ":" + realfn
def parse_recipe(bb_data, bbfile, appends, mc=''):
@@ -349,7 +349,7 @@ class NoCache(object):
bb_data = self.databuilder.mcdata[mc].createCopy()
newstores = parse_recipe(bb_data, bbfile, appends, mc)
for ns in newstores:
- datastores["multiconfig:%s:%s" % (mc, ns)] = newstores[ns]
+ datastores["mc:%s:%s" % (mc, ns)] = newstores[ns]
return datastores
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index c8e14042d..0008c2fde 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -378,8 +378,9 @@ class BBCooker:
if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
self.disableDataTracking()
- self.data.renameVar("__depends", "__base_depends")
- self.add_filewatch(self.data.getVar("__base_depends", False), self.configwatcher)
+ for mc in self.databuilder.mcdata.values():
+ mc.renameVar("__depends", "__base_depends")
+ self.add_filewatch(mc.getVar("__base_depends", False), self.configwatcher)
self.baseconfig_valid = True
self.parsecache_valid = False
@@ -494,6 +495,7 @@ class BBCooker:
"""
fn = None
envdata = None
+ mc = ''
if not pkgs_to_build:
pkgs_to_build = []
@@ -502,6 +504,12 @@ class BBCooker:
self.enableDataTracking()
self.reset()
+ def mc_base(p):
+ if p.startswith('mc:'):
+ s = p.split(':')
+ if len(s) == 2:
+ return s[1]
+ return None
if buildfile:
# Parse the configuration here. We need to do it explicitly here since
@@ -512,18 +520,16 @@ class BBCooker:
fn = self.matchFile(fn)
fn = bb.cache.realfn2virtual(fn, cls, mc)
elif len(pkgs_to_build) == 1:
- ignore = self.data.getVar("ASSUME_PROVIDED") or ""
- if pkgs_to_build[0] in set(ignore.split()):
- bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
+ mc = mc_base(pkgs_to_build[0])
+ if not mc:
+ ignore = self.data.getVar("ASSUME_PROVIDED") or ""
+ if pkgs_to_build[0] in set(ignore.split()):
+ bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
- taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True)
+ taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True)
- mc = runlist[0][0]
- fn = runlist[0][3]
- else:
- envdata = self.data
- data.expandKeys(envdata)
- parse.ast.runAnonFuncs(envdata)
+ mc = runlist[0][0]
+ fn = runlist[0][3]
if fn:
try:
@@ -532,6 +538,12 @@ class BBCooker:
except Exception as e:
parselog.exception("Unable to read %s", fn)
raise
+ else:
+ if not mc in self.databuilder.mcdata:
+ bb.fatal('Not multiconfig named "%s" found' % mc)
+ envdata = self.databuilder.mcdata[mc]
+ data.expandKeys(envdata)
+ parse.ast.runAnonFuncs(envdata)
# Display history
with closing(StringIO()) as env:
@@ -571,10 +583,10 @@ class BBCooker:
wildcard = False
# Wild card expansion:
- # Replace string such as "multiconfig:*:bash"
- # into "multiconfig:A:bash multiconfig:B:bash bash"
+ # Replace string such as "mc:*:bash"
+ # into "mc:A:bash mc:B:bash bash"
for k in targetlist:
- if k.startswith("multiconfig:"):
+ if k.startswith("mc:"):
if wildcard:
bb.fatal('multiconfig conflict')
if k.split(":")[1] == "*":
@@ -607,7 +619,7 @@ class BBCooker:
runlist = []
for k in fulltargetlist:
mc = ""
- if k.startswith("multiconfig:"):
+ if k.startswith("mc:"):
mc = k.split(":")[1]
k = ":".join(k.split(":")[2:])
ktask = task
@@ -626,9 +638,13 @@ class BBCooker:
runlist.append([mc, k, ktask, fn])
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data)
+ havemc = False
+ for mc in self.multiconfigs:
+ if taskdata[mc].get_mcdepends():
+ havemc = True
# No need to do check providers if there are no mcdeps or not an mc build
- if len(self.multiconfigs) > 1:
+ if havemc or len(self.multiconfigs) > 1:
seen = set()
new = True
# Make sure we can provide the multiconfig dependency
@@ -688,7 +704,7 @@ class BBCooker:
@staticmethod
def add_mc_prefix(mc, pn):
if mc:
- return "multiconfig:%s:%s" % (mc, pn)
+ return "mc:%s:%s" % (mc, pn)
return pn
def buildDependTree(self, rq, taskdata):
@@ -1465,7 +1481,7 @@ class BBCooker:
ntargets = []
for target in runlist:
if target[0]:
- ntargets.append("multiconfig:%s:%s:%s" % (target[0], target[1], target[2]))
+ ntargets.append("mc:%s:%s:%s" % (target[0], target[1], target[2]))
ntargets.append("%s:%s" % (target[1], target[2]))
for mc in self.multiconfigs:
@@ -1588,6 +1604,9 @@ class BBCooker:
for pkg in pkgs_to_build:
if pkg in ignore:
parselog.warning("Explicit target \"%s\" is in ASSUME_PROVIDED, ignoring" % pkg)
+ if pkg.startswith("multiconfig:"):
+ pkgs_to_build.remove(pkg)
+ pkgs_to_build.append(pkg.replace("multiconfig:", "mc:"))
if 'world' in pkgs_to_build:
pkgs_to_build.remove('world')
@@ -1595,7 +1614,7 @@ class BBCooker:
bb.providers.buildWorldTargetList(self.recipecaches[mc], task)
for t in self.recipecaches[mc].world_target:
if mc:
- t = "multiconfig:" + mc + ":" + t
+ t = "mc:" + mc + ":" + t
pkgs_to_build.append(t)
if 'universe' in pkgs_to_build:
@@ -1614,7 +1633,7 @@ class BBCooker:
bb.debug(1, "Skipping %s for universe tasks as task %s doesn't exist" % (t, task))
continue
if mc:
- t = "multiconfig:" + mc + ":" + t
+ t = "mc:" + mc + ":" + t
pkgs_to_build.append(t)
return pkgs_to_build
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index f8ae41093..842275d53 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -342,14 +342,24 @@ class CookerDataBuilder(object):
data = parse_config_file(layerconf, data)
layers = (data.getVar('BBLAYERS') or "").split()
+ broken_layers = []
data = bb.data.createCopy(data)
approved = bb.utils.approved_variables()
+
+ # Check whether present layer directories exist
for layer in layers:
if not os.path.isdir(layer):
- parselog.critical("Layer directory '%s' does not exist! "
- "Please check BBLAYERS in %s" % (layer, layerconf))
- sys.exit(1)
+ broken_layers.append(layer)
+
+ if broken_layers:
+ parselog.critical("The following layer directories do not exist:")
+ for layer in broken_layers:
+ parselog.critical(" %s", layer)
+ parselog.critical("Please check BBLAYERS in %s" % (layerconf))
+ sys.exit(1)
+
+ for layer in layers:
parselog.debug(2, "Adding layer %s", layer)
if 'HOME' in approved and '~' in layer:
layer = os.path.expanduser(layer)
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 0126e0d7c..f6b5529bb 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -843,6 +843,11 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
if val:
cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
+ # Ensure that a _PYTHON_SYSCONFIGDATA_NAME value set by a recipe
+ # (for example via python3native.bbclass since warrior) is not set for
+ # host Python (otherwise tools like git-make-shallow will fail)
+ cmd = 'unset _PYTHON_SYSCONFIGDATA_NAME; ' + cmd
+
# Disable pseudo as it may affect ssh, potentially causing it to hang.
cmd = 'export PSEUDO_DISABLED=1; ' + cmd
diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py
index f08bdee73..4427b1bb8 100644
--- a/poky/bitbake/lib/bb/fetch2/npm.py
+++ b/poky/bitbake/lib/bb/fetch2/npm.py
@@ -151,20 +151,11 @@ class Npm(FetchMethod):
Parse the output of npm view --json; the last JSON result
is assumed to be the one that we're interested in.
'''
- pdata = None
- outdeps = {}
- datalines = []
- bracelevel = 0
- for line in output.splitlines():
- if bracelevel:
- datalines.append(line)
- elif '{' in line:
- datalines = []
- datalines.append(line)
- bracelevel = bracelevel + line.count('{') - line.count('}')
- if datalines:
- pdata = json.loads('\n'.join(datalines))
- return pdata
+ pdata = json.loads(output);
+ try:
+ return pdata[-1]
+ except:
+ return pdata
def _getdependencies(self, pkg, data, version, d, ud, optional=False, fetchedlist=None):
if fetchedlist is None:
diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py
index baeb0e7ee..59ce93160 100644
--- a/poky/bitbake/lib/bb/fetch2/svn.py
+++ b/poky/bitbake/lib/bb/fetch2/svn.py
@@ -91,6 +91,13 @@ class Svn(FetchMethod):
svncmd = "%s log --limit 1 %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module)
else:
suffix = ""
+
+ # externals may be either 'allowed' or 'nowarn', but not both. Allowed
+ # will not issue a warning, but will log to the debug buffer what has likely
+ # been downloaded by SVN.
+ if not ("externals" in ud.parm and ud.parm["externals"] == "allowed"):
+ options.append("--ignore-externals")
+
if ud.revision:
options.append("-r %s" % ud.revision)
suffix = "@%s" % (ud.revision)
@@ -136,6 +143,18 @@ class Svn(FetchMethod):
bb.fetch2.check_network_access(d, svnfetchcmd, ud.url)
runfetchcmd(svnfetchcmd, d, workdir=ud.pkgdir)
+ if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"):
+ # Warn the user if this had externals (won't catch them all)
+ output = runfetchcmd("svn propget svn:externals", d, workdir=ud.moddir)
+ if output:
+ if "--ignore-externals" in svnfetchcmd.split():
+ bb.warn("%s contains svn:externals." % ud.url)
+ bb.warn("These should be added to the recipe SRC_URI as necessary.")
+ bb.warn("svn fetch has ignored externals:\n%s" % output)
+ bb.warn("To disable this warning add ';externals=nowarn' to the url.")
+ else:
+ bb.debug(1, "svn repository has externals:\n%s" % output)
+
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py
index 8d1978f98..ca59eb9af 100755
--- a/poky/bitbake/lib/bb/main.py
+++ b/poky/bitbake/lib/bb/main.py
@@ -491,7 +491,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
def lockBitbake():
topdir = bb.cookerdata.findTopdir()
if not topdir:
- bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBAPTH is unset and/or not in a build directory?")
+ bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBPATH is unset and/or not in a build directory?")
raise BBMainFatal
lockfile = topdir + "/bitbake.lock"
return topdir, bb.utils.lockfile(lockfile, False, False)
diff --git a/poky/bitbake/lib/bb/progress.py b/poky/bitbake/lib/bb/progress.py
index e9b72e28b..4022caa71 100644
--- a/poky/bitbake/lib/bb/progress.py
+++ b/poky/bitbake/lib/bb/progress.py
@@ -13,6 +13,7 @@ import time
import inspect
import bb.event
import bb.build
+from bb.build import StdoutNoopContextManager
class ProgressHandler(object):
"""
@@ -27,7 +28,14 @@ class ProgressHandler(object):
if outfile:
self._outfile = outfile
else:
- self._outfile = sys.stdout
+ self._outfile = StdoutNoopContextManager()
+
+ def __enter__(self):
+ self._outfile.__enter__()
+ return self
+
+ def __exit__(self, *excinfo):
+ self._outfile.__exit__(*excinfo)
def _fire_progress(self, taskprogress, rate=None):
"""Internal function to fire the progress event"""
@@ -147,6 +155,12 @@ class MultiStageProgressReporter(object):
self._stage_total = None
self._callers = []
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *excinfo):
+ pass
+
def _fire_progress(self, taskprogress):
bb.event.fire(bb.build.TaskProgress(taskprogress), self._data)
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index d573ed460..010b08501 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -39,7 +39,7 @@ def taskname_from_tid(tid):
return tid.rsplit(":", 1)[1]
def mc_from_tid(tid):
- if tid.startswith('multiconfig:'):
+ if tid.startswith('mc:'):
return tid.split(':')[1]
return ""
@@ -48,12 +48,12 @@ def split_tid(tid):
return (mc, fn, taskname)
def split_tid_mcfn(tid):
- if tid.startswith('multiconfig:'):
+ if tid.startswith('mc:'):
elems = tid.split(':')
mc = elems[1]
fn = ":".join(elems[2:-1])
taskname = elems[-1]
- mcfn = "multiconfig:" + mc + ":" + fn
+ mcfn = "mc:" + mc + ":" + fn
else:
tid = tid.rsplit(":", 1)
mc = ""
@@ -65,7 +65,7 @@ def split_tid_mcfn(tid):
def build_tid(mc, fn, taskname):
if mc:
- return "multiconfig:" + mc + ":" + fn + ":" + taskname
+ return "mc:" + mc + ":" + fn + ":" + taskname
return fn + ":" + taskname
class RunQueueStats:
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index e0a66e68d..fe580e487 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -179,7 +179,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
def get_taskhash(self, fn, task, deps, dataCache):
mc = ''
- if fn.startswith('multiconfig:'):
+ if fn.startswith('mc:'):
mc = fn.split(':')[1]
k = fn + "." + task
@@ -194,7 +194,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
depmc = pkgname.split(':')[1]
if mc != depmc:
continue
- if dep.startswith("multiconfig:") and not mc:
+ if dep.startswith("mc:") and not mc:
continue
depname = dataCache.pkg_fn[pkgname]
if not self.rundep_check(fn, recipename, task, dep, depname, dataCache):
@@ -412,13 +412,13 @@ def list_inline_diff(oldlist, newlist, colors=None):
def clean_basepath(a):
mc = None
- if a.startswith("multiconfig:"):
+ if a.startswith("mc:"):
_, mc, a = a.split(":", 2)
b = a.rsplit("/", 2)[1] + '/' + a.rsplit("/", 2)[2]
if a.startswith("virtual:"):
b = b + ":" + a.rsplit(":", 1)[0]
if mc:
- b = b + ":multiconfig:" + mc
+ b = b + ":mc:" + mc
return b
def clean_basepaths(a):
diff --git a/poky/bitbake/lib/bb/taskdata.py b/poky/bitbake/lib/bb/taskdata.py
index c7de3db38..d13bd7c3b 100644
--- a/poky/bitbake/lib/bb/taskdata.py
+++ b/poky/bitbake/lib/bb/taskdata.py
@@ -81,7 +81,7 @@ class TaskData:
def add_mcdepends(task):
for dep in task_deps['mcdepends'][task].split():
if len(dep.split(':')) != 5:
- bb.msg.fatal("TaskData", "Error for %s:%s[%s], multiconfig dependency %s does not contain exactly four ':' characters.\n Task '%s' should be specified in the form 'multiconfig:fromMC:toMC:packagename:task'" % (fn, task, 'mcdepends', dep, 'mcdepends'))
+ bb.msg.fatal("TaskData", "Error for %s:%s[%s], multiconfig dependency %s does not contain exactly four ':' characters.\n Task '%s' should be specified in the form 'mc:fromMC:toMC:packagename:task'" % (fn, task, 'mcdepends', dep, 'mcdepends'))
if dep not in self.mcdepends:
self.mcdepends.append(dep)
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 6bdf0416d..16f975b13 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -991,6 +991,86 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout')
+class SVNTest(FetcherTest):
+ def skipIfNoSvn():
+ import shutil
+ if not shutil.which("svn"):
+ return unittest.skip("svn not installed, tests being skipped")
+
+ if not shutil.which("svnadmin"):
+ return unittest.skip("svnadmin not installed, tests being skipped")
+
+ return lambda f: f
+
+ @skipIfNoSvn()
+ def setUp(self):
+ """ Create a local repository """
+
+ super(SVNTest, self).setUp()
+
+ # Create something we can fetch
+ src_dir = tempfile.mkdtemp(dir=self.tempdir,
+ prefix='svnfetch_srcdir_')
+ src_dir = os.path.abspath(src_dir)
+ bb.process.run("echo readme > README.md", cwd=src_dir)
+
+ # Store it in a local SVN repository
+ repo_dir = tempfile.mkdtemp(dir=self.tempdir,
+ prefix='svnfetch_localrepo_')
+ repo_dir = os.path.abspath(repo_dir)
+ bb.process.run("svnadmin create project", cwd=repo_dir)
+
+ self.repo_url = "file://%s/project" % repo_dir
+ bb.process.run("svn import --non-interactive -m 'Initial import' %s %s/trunk" % (src_dir, self.repo_url),
+ cwd=repo_dir)
+
+ bb.process.run("svn co %s svnfetch_co" % self.repo_url, cwd=self.tempdir)
+ # Github will emulate SVN. Use this to check if we're downloding...
+ bb.process.run("svn propset svn:externals 'bitbake http://github.com/openembedded/bitbake' .",
+ cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
+ bb.process.run("svn commit --non-interactive -m 'Add external'",
+ cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
+
+ self.src_dir = src_dir
+ self.repo_dir = repo_dir
+
+ @skipIfNoSvn()
+ def tearDown(self):
+ os.chdir(self.origdir)
+ if os.environ.get("BB_TMPDIR_NOCLEAN") == "yes":
+ print("Not cleaning up %s. Please remove manually." % self.tempdir)
+ else:
+ bb.utils.prunedir(self.tempdir)
+
+ @skipIfNoSvn()
+ @skipIfNoNetwork()
+ def test_noexternal_svn(self):
+ # Always match the rev count from setUp (currently rev 2)
+ url = "svn://%s;module=trunk;protocol=file;rev=2" % self.repo_url.replace('file://', '')
+ fetcher = bb.fetch.Fetch([url], self.d)
+ fetcher.download()
+ os.chdir(os.path.dirname(self.unpackdir))
+ fetcher.unpack(self.unpackdir)
+
+ self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk')), msg="Missing trunk")
+ self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk', 'README.md')), msg="Missing contents")
+ self.assertFalse(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk')), msg="External dir should NOT exist")
+ self.assertFalse(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk', 'README')), msg="External README should NOT exit")
+
+ @skipIfNoSvn()
+ def test_external_svn(self):
+ # Always match the rev count from setUp (currently rev 2)
+ url = "svn://%s;module=trunk;protocol=file;externals=allowed;rev=2" % self.repo_url.replace('file://', '')
+ fetcher = bb.fetch.Fetch([url], self.d)
+ fetcher.download()
+ os.chdir(os.path.dirname(self.unpackdir))
+ fetcher.unpack(self.unpackdir)
+
+ self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk')), msg="Missing trunk")
+ self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk', 'README.md')), msg="Missing contents")
+ self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk')), msg="External dir should exist")
+ self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk', 'README')), msg="External README should exit")
+
class TrustedNetworksTest(FetcherTest):
def test_trusted_network(self):
# Ensure trusted_network returns False when the host IS in the list.
diff --git a/poky/bitbake/lib/bb/tests/utils.py b/poky/bitbake/lib/bb/tests/utils.py
index 4d788281a..f4adf1d44 100644
--- a/poky/bitbake/lib/bb/tests/utils.py
+++ b/poky/bitbake/lib/bb/tests/utils.py
@@ -29,6 +29,10 @@ class VerCmpString(unittest.TestCase):
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1.0+1.1-beta1')
self.assertTrue(result > 0)
+ result = bb.utils.vercmp_string('1a', '1a1')
+ self.assertTrue(result < 0)
+ result = bb.utils.vercmp_string('1a1', '1a')
+ self.assertTrue(result > 0)
result = bb.utils.vercmp_string('1.', '1.1')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1.')
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index 3d9e2031b..88f638fb3 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -300,8 +300,8 @@ class TerminalFilter(object):
if start_time:
pbar.start_time = start_time
pbar.setmessage('%s:%s' % (tasknum, pbar.msg.split(':', 1)[1]))
+ pbar.setextra(rate)
if progress > -1:
- pbar.setextra(rate)
content = pbar.update(progress)
else:
content = pbar.update(1)
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index bd9c32685..9ae2e423e 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -53,7 +53,7 @@
<object model="orm.release" pk="4">
<field type="CharField" name="name">thud</field>
<field type="CharField" name="description">Openembedded Thud</field>
- <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">thud</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=thud\"&gt;OpenEmbedded Thud&lt;/a&gt; branch.</field>
</object>
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
index 4162e4fba..da3b93032 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -58,7 +58,7 @@
<object model="orm.release" pk="4">
<field type="CharField" name="name">thud</field>
<field type="CharField" name="description">Yocto Project 2.6 "Thud"</field>
- <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
+ <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">thud</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=thud"&gt;Yocto Project Thud branch&lt;/a&gt;.</field>
</object>
diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile
index accf23414..525a7309a 100644
--- a/poky/documentation/Makefile
+++ b/poky/documentation/Makefile
@@ -156,7 +156,7 @@ TARFILES = dev-style.css dev-manual.html \
TARFILES = dev-style.css dev-manual.html figures/buildhistory-web.png \
figures/dev-title.png figures/buildhistory.png \
figures/recipe-workflow.png figures/bitbake-build-flow.png \
- figures/multiconfig_files.png
+ figures/multiconfig_files.png figures/cute-files-npm-example.png
endif
MANUALS = $(DOC)/$(DOC).html
@@ -260,7 +260,7 @@ TARFILES = mega-manual.html mega-style.css \
figures/sdk-devtool-modify-flow.png \
figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/bypqs-title.png \
figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \
- figures/bb_multiconfig_files.png figures/bitbake-title.png
+ figures/bb_multiconfig_files.png figures/bitbake-title.png figures/cute-files-npm-example.png
endif
MANUALS = $(DOC)/$(DOC).html
diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
index 8ddcd5b07..9231d1416 100644
--- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -4197,11 +4197,27 @@
built by layer recipes.
It is recommended to keep recipes up-to-date with upstream
version releases.
+ </para>
+
+ <para>
+ While several methods exist that allow you upgrade a recipe,
+ you might consider checking on the upgrade status of a recipe
+ first.
+ You can do so using the
+ <filename>devtool check-upgrade-status</filename> command.
+ See the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#devtool-checking-on-the-upgrade-status-of-a-recipe'>Checking on the Upgrade Status of a Recipe</ulink>"
+ section in the Yocto Project Reference Manual for more information.
+ </para>
+
+ <para>
+ The remainder of this section describes three ways you can
+ upgrade a recipe.
You can use the Automated Upgrade Helper (AUH) to set up
automatic version upgrades.
Alternatively, you can use <filename>devtool upgrade</filename>
to set up semi-automatic version upgrades.
- Finally, you can even manually upgrade a recipe by editing the
+ Finally, you can manually upgrade a recipe by editing the
recipe itself.
</para>
@@ -4320,12 +4336,6 @@
Make these following configurations:
<itemizedlist>
<listitem><para>
- Enable "distrodata" as follows:
- <literallayout class='monospaced'>
- INHERIT =+ "distrodata"
- </literallayout>
- </para></listitem>
- <listitem><para>
If you want to enable
<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-build-output-quality'>Build History</ulink>,
which is optional, you need the following
@@ -8964,11 +8974,17 @@
<link linkend='handling-optional-module-packaging'>Handling optional module packaging</link>
</para></listitem>
<listitem><para>
- <link linkend='using-runtime-package-management'>Using Runtime Package Management</link>
+ <link linkend='using-runtime-package-management'>Using runtime package management</link>
+ </para></listitem>
+ <listitem><para>
+ <link linkend='generating-and-using-signed-packages'>Generating and using signed packages</link>
</para></listitem>
<listitem><para>
<link linkend='testing-packages-with-ptest'>Setting up and running package test (ptest)</link>
</para></listitem>
+ <listitem><para>
+ <link linkend='creating-node-package-manager-npm-packages'>Creating node package manager (NPM) packages</link>
+ </para></listitem>
</itemizedlist>
</para>
@@ -10397,6 +10413,292 @@
</para>
</section>
</section>
+
+ <section id='creating-node-package-manager-npm-packages'>
+ <title>Creating Node Package Manager (NPM) Packages</title>
+
+ <para>
+ <ulink url='https://en.wikipedia.org/wiki/Npm_(software)'>NPM</ulink>
+ is a package manager for the JavaScript programming
+ language.
+ The Yocto Project supports the NPM
+ <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetcher</ulink>.
+ You can use this fetcher in combination with
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-devtool-reference'><filename>devtool</filename></ulink>
+ to create recipes that produce NPM packages.
+ </para>
+
+ <para>
+ Two workflows exist that allow you to create NPM packages
+ using <filename>devtool</filename>: the NPM registry modules
+ method and the NPM project code method.
+ <note>
+ While it is possible to create NPM recipes manually,
+ using <filename>devtool</filename> is far simpler.
+ </note>
+ Additionally, some requirements and caveats exist.
+ </para>
+
+ <section id='npm-package-creation-requirements'>
+ <title>Requirements and Caveats</title>
+
+ <para>
+ You need to be aware of the following before using
+ <filename>devtool</filename> to create NPM packages:
+ <itemizedlist>
+ <listitem><para>
+ Of the two methods that you can use
+ <filename>devtool</filename> to create NPM
+ packages, the registry approach is slightly
+ simpler.
+ However, you might consider the project
+ approach because you do not have to publish
+ your module in the NPM registry
+ (<ulink url='https://docs.npmjs.com/misc/registry'><filename>npm-registry</filename></ulink>),
+ which is NPM's public registry.
+ </para></listitem>
+ <listitem><para>
+ Be familiar with
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-devtool-reference'><filename>devtool</filename></ulink>.
+ </para></listitem>
+ <listitem><para>
+ The NPM host tools need the native
+ <filename>nodejs-npm</filename> package, which
+ is part of the OpenEmbedded environment.
+ You need to get the package by cloning the
+ <ulink url='https://github.com/openembedded/meta-openembedded'></ulink>
+ repository out of GitHub.
+ Be sure to add the path to your local copy to
+ your <filename>bblayers.conf</filename> file.
+ </para></listitem>
+ <listitem><para>
+ <filename>devtool</filename> cannot detect
+ native libraries in module dependencies.
+ Consequently, you must manually add packages
+ to your recipe.
+ </para></listitem>
+ <listitem><para>
+ While deploying NPM packages,
+ <filename>devtool</filename> cannot determine
+ which dependent packages are missing on the
+ target (e.g. the node runtime
+ <filename>nodejs</filename>).
+ Consequently, you need to find out what
+ files are missing and be sure they are on the
+ target.
+ </para></listitem>
+ <listitem><para>
+ Although you might not need NPM to run your
+ node package, it is useful to have NPM on your
+ target.
+ The NPM package name is
+ <filename>nodejs-npm</filename>.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='npm-using-the-registry-modules-method'>
+ <title>Using the Registry Modules Method</title>
+
+ <para>
+ This section presents an example that uses the
+ <filename>cute-files</filename> module, which is a
+ file browser web application.
+ <note>
+ You must know the <filename>cute-files</filename>
+ module version.
+ </note>
+ </para>
+
+ <para>
+ The first thing you need to do is use
+ <filename>devtool</filename> and the NPM fetcher to
+ create the recipe:
+ <literallayout class='monospaced'>
+ $ devtool add "npm://registry.npmjs.org;name=cute-files;version=1.0.2"
+ </literallayout>
+ The <filename>devtool add</filename> command runs
+ <filename>recipetool create</filename> and uses the
+ same fetch URI to download each dependency and capture
+ license details where possible.
+ The result is a generated recipe.
+ </para>
+
+ <para>
+ The recipe file is fairly simple and contains every
+ license that <filename>recipetool</filename> finds
+ and includes the licenses in the recipe's
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM'><filename>LIC_FILES_CHKSUM</filename></ulink>
+ variables.
+ You need to examine the variables and look for those
+ with "unknown" in the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-LICENSE'><filename>LICENSE</filename></ulink>
+ field.
+ You need to track down the license information for
+ "unknown" modules and manually add the information to the
+ recipe.
+ </para>
+
+ <para>
+ <filename>recipetool</filename> creates "shrinkwrap" and
+ "lockdown" files for your recipe.
+ Shrinkwrap files capture the version of all dependent
+ modules.
+ Many packages do not provide shrinkwrap files.
+ <filename>recipetool</filename> create a shrinkwrap
+ file as it runs.
+ You can replace the shrinkwrap file with your own file
+ by setting the <filename>NPM_SHRINKWRAP</filename>
+ variable.
+ </para>
+
+ <para>
+ Lockdown files contain the checksum for each module
+ to determine if your users download the same files when
+ building with a recipe.
+ Lockdown files ensure that dependencies have not been
+ changed and that your NPM registry is still providing
+ the same file.
+ <note>
+ A package is created for each sub-module.
+ This policy is the only practical way to have the
+ licenses for all of the dependencies represented
+ in the license manifest of the image.
+ </note>
+ </para>
+
+ <para>
+ The <filename>devtool edit-recipe</filename> command
+ lets you take a look at the recipe:
+ <literallayout class='monospaced'>
+ $ devtool edit-recipe cute-files
+ SUMMARY = "Turn any folder on your computer into a cute file browser, available on the local network."
+ LICENSE = "BSD-3-Clause &amp; Unknown &amp; MIT &amp; ISC"
+ LIC_FILES_CHKSUM = "file://LICENSE;md5=71d98c0a1db42956787b1909c74a86ca \
+ file://node_modules/content-disposition/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \
+ file://node_modules/express/LICENSE;md5=5513c00a5c36cd361da863dd9aa8875d \
+ ...
+
+ SRC_URI = "npm://registry.npmjs.org;name=cute-files;version=${PV}"
+ NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json"
+ NPM_LOCKDOWN := "${THISDIR}/${PN}/lockdown.json"
+ inherit npm
+ # Must be set after inherit npm since that itself sets S
+ S = "${WORKDIR}/npmpkg"
+
+ LICENSE_${PN}-content-disposition = "MIT"
+ ...
+ LICENSE_${PN}-express = "MIT"
+ LICENSE_${PN} = "MIT"
+ </literallayout>
+ Three key points exist in the previous example:
+ <itemizedlist>
+ <listitem><para>
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
+ uses the NPM scheme so that the NPM fetcher
+ is used.
+ </para></listitem>
+ <listitem><para>
+ <filename>recipetool</filename> collects all
+ the license information.
+ If a sub-module's license is unavailable,
+ the sub-module's name appears in the comments.
+ </para></listitem>
+ <listitem><para>
+ The <filename>inherit npm</filename> statement
+ causes the
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-npm'><filename>npm</filename></ulink>
+ class to package up all the modules.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ You can run the following command to build the
+ <filename>cute-files</filename> package:
+ <literallayout class='monospaced'>
+ $ devtool build cute-files
+ </literallayout>
+ Remember that <filename>nodejs</filename> must be
+ installed on the target before your package.
+ </para>
+
+ <para>
+ Assuming 192.168.7.2 for the target's IP address, use
+ the following command to deploy your package:
+ <literallayout class='monospaced'>
+ $ devtool deploy-target -s cute-files root@192.168.7.2
+ </literallayout>
+ Once the package is installed on the target, you can
+ test the application:
+ <note>
+ Because of a know issue, you cannot simply run
+ <filename>cute-files</filename> as you would if you
+ had run <filename>npm install</filename>.
+ </note>
+ <literallayout class='monospaced'>
+ $ cd /usr/lib/node_modules/cute-files
+ $ node cute-files.js
+ </literallayout>
+ On a browser, go to
+ <filename>http://192.168.7.2:3000</filename> and you
+ see the following:
+ <imagedata fileref="figures/cute-files-npm-example.png" align="center" width="6in" depth="4in" />
+ </para>
+
+ <para>
+ You can find the recipe in
+ <filename>workspace/recipes/cute-files</filename>.
+ You can use the recipe in any layer you choose.
+ </para>
+ </section>
+
+ <section id='npm-using-the-npm-projects-method'>
+ <title>Using the NPM Projects Code Method</title>
+
+ <para>
+ Although it is useful to package modules already in the
+ NPM registry, adding <filename>node.js</filename> projects
+ under development is a more common developer use case.
+ </para>
+
+ <para>
+ This section covers the NPM projects code method, which is
+ very similar to the "registry" approach described in the
+ previous section.
+ In the NPM projects method, you provide
+ <filename>devtool</filename> with an URL that points to the
+ source files.
+ </para>
+
+ <para>
+ Replicating the same example, (i.e.
+ <filename>cute-files</filename>) use the following command:
+ <literallayout class='monospaced'>
+ $ devtool add https://github.com/martinaglv/cute-files.git
+ </literallayout>
+ The recipe this command generates is very similar to the
+ recipe created in the previous section.
+ However, the <filename>SRC_URI</filename> looks like the
+ following:
+ <literallayout class='monospaced'>
+ SRC_URI = "git://github.com/martinaglv/cute-files.git;protocol=https \
+ npm://registry.npmjs.org;name=commander;version=2.9.0;subdir=node_modules/commander \
+ npm://registry.npmjs.org;name=express;version=4.14.0;subdir=node_modules/express \
+ npm://registry.npmjs.org;name=content-disposition;version=0.3.0;subdir=node_modules/content-disposition \
+ "
+ </literallayout>
+ In this example, the main module is taken from the Git
+ repository and dependents are taken from the NPM registry.
+ Other than those differences, the recipe is basically the
+ same between the two methods.
+ You can build and deploy the package exactly as described
+ in the previous section that uses the registry modules
+ method.
+ </para>
+ </section>
+ </section>
</section>
<section id='efficiently-fetching-source-files-during-a-build'>
@@ -10519,7 +10821,7 @@
<title>Using systemd Exclusively</title>
<para>
- Set the these variables in your distribution configuration
+ Set these variables in your distribution configuration
file as follows:
<literallayout class='monospaced'>
DISTRO_FEATURES_append = " systemd"
diff --git a/poky/documentation/dev-manual/figures/cute-files-npm-example.png b/poky/documentation/dev-manual/figures/cute-files-npm-example.png
new file mode 100644
index 000000000..1ebe74f53
--- /dev/null
+++ b/poky/documentation/dev-manual/figures/cute-files-npm-example.png
Binary files differ
diff --git a/poky/documentation/mega-manual/figures/cute-files-npm-example.png b/poky/documentation/mega-manual/figures/cute-files-npm-example.png
new file mode 100644
index 000000000..1ebe74f53
--- /dev/null
+++ b/poky/documentation/mega-manual/figures/cute-files-npm-example.png
Binary files differ
diff --git a/poky/documentation/overview-manual/overview-manual-concepts.xml b/poky/documentation/overview-manual/overview-manual-concepts.xml
index 8a1b38c87..f085dd710 100644
--- a/poky/documentation/overview-manual/overview-manual-concepts.xml
+++ b/poky/documentation/overview-manual/overview-manual-concepts.xml
@@ -924,17 +924,18 @@
<title>Source Control Managers (Optional)</title>
<para>
- Another place the build system can get source files from is
- through a Source Control Manager (SCM) such as Git or
- Subversion.
+ Another place from which the build system can get source
+ files is with
+ <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetchers</ulink>
+ employing various Source Control Managers (SCMs) such as
+ Git or Subversion.
In such cases, a repository is cloned or checked out.
The
<ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-fetch'><filename>do_fetch</filename></ulink>
task inside BitBake uses
the <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
variable and the argument's prefix to determine the correct
- <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'><filename>fetcher</filename></ulink>
- module.
+ fetcher module.
<note>
For information on how to have the OpenEmbedded build
system generate tarballs for Git repositories and place
diff --git a/poky/documentation/ref-manual/migration.xml b/poky/documentation/ref-manual/migration.xml
index 1ecf5b999..ade8787b4 100644
--- a/poky/documentation/ref-manual/migration.xml
+++ b/poky/documentation/ref-manual/migration.xml
@@ -2566,9 +2566,7 @@
<link linkend='oe-core'>OE-Core</link>.
The change includes <filename>package_regex.inc</filename> and
<filename>distro_alias.inc</filename>, which are typically enabled
- when using the
- <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
- class.
+ when using the <filename>distrodata</filename> class.
Additionally, the contents of
<filename>upstream_tracking.inc</filename> has now been split out
to the relevant recipes.
diff --git a/poky/documentation/ref-manual/ref-classes.xml b/poky/documentation/ref-manual/ref-classes.xml
index d602851c5..ece47e757 100644
--- a/poky/documentation/ref-manual/ref-classes.xml
+++ b/poky/documentation/ref-manual/ref-classes.xml
@@ -335,18 +335,6 @@
</para>
</section>
-<section id='ref-classes-bugzilla'>
- <title><filename>bugzilla.bbclass</filename></title>
-
- <para>
- The <filename>bugzilla</filename> class supports setting up an
- instance of Bugzilla in which you can automatically files bug reports
- in response to build failures.
- For this class to work, you need to enable the XML-RPC interface in
- the instance of Bugzilla.
- </para>
-</section>
-
<section id='ref-classes-buildhistory'>
<title><filename>buildhistory.bbclass</filename></title>
@@ -714,39 +702,6 @@
</para>
</section>
-<section id='ref-classes-distrodata'>
- <title><filename>distrodata.bbclass</filename></title>
-
- <para>
- The <filename>distrodata</filename> class
- provides for automatic checking for upstream recipe updates.
- The class creates a comma-separated value (CSV) spreadsheet that
- contains information about the recipes.
- The information provides the
- <link linkend='ref-tasks-distrodata'><filename>do_distrodata</filename></link>
- and
- <filename>do_distro_check</filename> tasks, which do upstream checking
- and also verify if a package is used in multiple major distributions.
- </para>
-
- <para>
- The class is not included by default.
- To use it, you must set the
- <link linkend='var-INHERIT'><filename>INHERIT</filename></link>
- variable:
- <literallayout class='monospaced'>
- INHERIT+= "distrodata"
- </literallayout>
- </para>
-
- <para>
- The <filename>distrodata</filename> class also provides the
- <link linkend='ref-tasks-checkpkg'><filename>do_checkpkg</filename></link>
- task, which can be used against a simple recipe or against an
- image to get all its recipe information.
- </para>
-</section>
-
<section id='ref-classes-distutils'>
<title><filename>distutils*.bbclass</filename></title>
@@ -776,11 +731,6 @@
some of the <filename>distutils*</filename> classes to provide common
Python2 support.
</para>
-
- <para>
- The <filename>distutils-tools</filename> class supports recipes for
- additional "distutils" tools.
- </para>
</section>
<section id='ref-classes-distutils3'>
@@ -2335,13 +2285,16 @@ This check was removed for YP 2.3 release
<title><filename>npm.bbclass</filename></title>
<para>
- Provides support for building Node.js software fetched using the npm
- package manager.
+ Provides support for building Node.js software fetched using the
+ <ulink url='https://en.wikipedia.org/wiki/Npm_(software)'>node package manager (NPM)</ulink>.
<note>
Currently, recipes inheriting this class must use the
<filename>npm://</filename> fetcher to have dependencies fetched
and packaged automatically.
</note>
+ For information on how to create NPM packages, see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-node-package-manager-npm-packages'>Creating Node Package Manager (NPM) Packages</ulink>"
+ section in the Yocto Project Development Tasks Manual.
</para>
</section>
diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml
index b974d0f59..4810d28ad 100644
--- a/poky/documentation/ref-manual/ref-devtool-reference.xml
+++ b/poky/documentation/ref-manual/ref-devtool-reference.xml
@@ -34,7 +34,7 @@
You can run <filename>devtool --help</filename> to see all
the commands:
<literallayout class='monospaced'>
- $ devtool --help
+ $ devtool -h
NOTE: Starting bitbake server...
usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q]
[--color COLOR] [-h]
@@ -43,50 +43,48 @@
OpenEmbedded development tool
options:
- --basepath BASEPATH Base directory of SDK / build directory
- --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it
- from the metadata
- -d, --debug Enable debug output
- -q, --quiet Print only errors
- --color COLOR Colorize output (where COLOR is auto, always, never)
- -h, --help show this help message and exit
+ --basepath BASEPATH Base directory of SDK / build directory
+ --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it
+ from the metadata
+ -d, --debug Enable debug output
+ -q, --quiet Print only errors
+ --color COLOR Colorize output (where COLOR is auto, always, never)
+ -h, --help show this help message and exit
subcommands:
Beginning work on a recipe:
- add Add a new recipe
- modify Modify the source for an existing recipe
- upgrade Upgrade an existing recipe
+ add Add a new recipe
+ modify Modify the source for an existing recipe
+ upgrade Upgrade an existing recipe
Getting information:
- status Show workspace status
- search Search available recipes
- latest-version Report the latest version of an existing recipe
+ status Show workspace status
+ search Search available recipes
+ latest-version Report the latest version of an existing recipe
+ check-upgrade-status Report upgradability for multiple (or all) recipes
Working on a recipe in the workspace:
- build Build a recipe
- rename Rename a recipe file in the workspace
- edit-recipe Edit a recipe file
- find-recipe Find a recipe file
- configure-help Get help on configure script options
- update-recipe Apply changes from external source tree to recipe
- reset Remove a recipe from your workspace
- finish Finish working on a recipe in your workspace
+ build Build a recipe
+ rename Rename a recipe file in the workspace
+ edit-recipe Edit a recipe file
+ find-recipe Find a recipe file
+ configure-help Get help on configure script options
+ update-recipe Apply changes from external source tree to recipe
+ reset Remove a recipe from your workspace
+ finish Finish working on a recipe in your workspace
Testing changes on target:
- deploy-target Deploy recipe output files to live target machine
- undeploy-target Undeploy recipe output files in live target machine
- build-image Build image including workspace recipe packages
+ deploy-target Deploy recipe output files to live target machine
+ undeploy-target Undeploy recipe output files in live target machine
+ build-image Build image including workspace recipe packages
Advanced:
- create-workspace Set up workspace in an alternative location
- export Export workspace into a tar archive
- import Import exported tar archive into workspace
- extract Extract the source for an existing recipe
- sync Synchronize the source tree for an existing recipe
+ create-workspace Set up workspace in an alternative location
+ export Export workspace into a tar archive
+ import Import exported tar archive into workspace
+ extract Extract the source for an existing recipe
+ sync Synchronize the source tree for an existing recipe
Use devtool &lt;subcommand&gt; --help to get help on a specific command
</literallayout>
- </para>
-
- <para>
- As directed in the general help output, you can get more
- syntax on a specific command by providing the command
- name and using <filename>--help</filename>:
+ As directed in the general help output, you can get more syntax
+ on a specific command by providing the command name and using
+ "--help":
<literallayout class='monospaced'>
$ devtool add --help
NOTE: Starting bitbake server...
@@ -429,6 +427,108 @@
</para>
</section>
+ <section id='devtool-checking-on-the-upgrade-status-of-a-recipe'>
+ <title>Checking on the Upgrade Status of a Recipe</title>
+
+ <para>
+ Upstream recipes change over time.
+ Consequently, you might find that you need to determine if you
+ can upgrade a recipe to a newer version.
+ </para>
+
+ <para>
+ To check on the upgrade status of a recipe, use the
+ <filename>devtool check-upgrade-status</filename> command.
+ The command displays a table of your current recipe versions,
+ the latest upstream versions, the email address of the recipe's
+ maintainer, and any additional information such as commit hash
+ strings and reasons you might not be able to upgrade a particular
+ recipe.
+ <note><title>NOTES:</title>
+ <itemizedlist>
+ <listitem><para>
+ For the <filename>oe-core</filename> layer, recipe
+ maintainers come from the
+ <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/distro/include/maintainers.inc'><filename>maintainers.inc</filename></ulink>
+ file.
+ </para></listitem>
+ <listitem><para>
+ If the recipe is using the
+ <ulink url='&YOCTO_DOCS_BB_URL;#git-fetcher'>Git fetcher</ulink>
+ rather than a tarball, the commit hash points to the
+ commit that matches the recipe's latest version tag.
+ </para></listitem>
+ </itemizedlist>
+ </note>
+ </para>
+
+ <para>
+ As with all <filename>devtool</filename> commands, you can get
+ help on the individual command:
+ <literallayout class='monospaced'>
+ $ devtool check-upgrade-status -h
+ NOTE: Starting bitbake server...
+ usage: devtool check-upgrade-status [-h] [--all] [recipe [recipe ...]]
+
+ Prints a table of recipes together with versions currently provided by
+ recipes, and latest upstream versions, when there is a later version available
+
+ arguments:
+ recipe Name of the recipe to report (omit to report upgrade info for
+ all recipes)
+
+ options:
+ -h, --help show this help message and exit
+ --all, -a Show all recipes, not just recipes needing upgrade
+ </literallayout>
+ </para>
+
+ <para>
+ Unless you provide a specific recipe name on the command line,
+ the command checks all recipes in all configured layers.
+ </para>
+
+ <para>
+ Following is a partial example table that reports on all the
+ recipes.
+ Notice the reported reason for not upgrading the
+ <filename>base-passwd</filename> recipe.
+ In this example, while a new version is available upstream,
+ you do not want to use it because the dependency on
+ <filename>cdebconf</filename> is not easily satisfied.
+ <note>
+ When a reason for not upgrading displays, the reason is
+ usually written into the recipe using the
+ <filename>RECIPE_NO_UPDATE_REASON</filename> variable.
+ See the
+ <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb'><filename>base-passwd.bb</filename></ulink>
+ recipe for an example.
+ </note>
+ <literallayout class='monospaced'>
+ $ devtool check-upgrade-status
+ ...
+ NOTE: acpid 2.0.30 2.0.31
+ Ross Burton &lt;ross.burton@intel.com&gt;
+ NOTE: u-boot-fw-utils 2018.11 2019.01
+ Marek Vasut &lt;marek.vasut@gmail.com&gt;
+ d3689267f92c5956e09cc7d1baa4700141662bff
+ NOTE: u-boot-tools 2018.11 2019.01
+ Marek Vasut &lt;marek.vasut@gmail.com&gt;
+ d3689267f92c5956e09cc7d1baa4700141662bff
+ .
+ .
+ .
+ NOTE: base-passwd 3.5.29 3.5.45
+ Anuj Mittal &lt;anuj.mittal@intel.com&gt; cannot be updated due to: Version
+ 3.5.38 requires cdebconf for update-passwd utility
+ NOTE: busybox 1.29.2 1.30.0
+ Andrej Valek &lt;andrej.valek@siemens.com&gt;
+ NOTE: dbus-test 1.12.10 1.12.12
+ Chen Qi &lt;Qi.Chen@windriver.com&gt;
+ </literallayout>
+ </para>
+ </section>
+
<section id='devtool-upgrading-a-recipe'>
<title>Upgrading a Recipe</title>
@@ -443,6 +543,13 @@
section of the Yocto Project Development Tasks Manual.
This section overviews the <filename>devtool upgrade</filename>
command.
+ <note>
+ Before you upgrade a recipe, you can check on its upgrade
+ status.
+ See the
+ "<link linkend='devtool-checking-on-the-upgrade-status-of-a-recipe'>Checking on the Upgrade Status of a Recipe</link>"
+ for more information.
+ </note>
</para>
<para>
diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml
index 7a3555d0b..b057d2d04 100644
--- a/poky/documentation/ref-manual/ref-features.xml
+++ b/poky/documentation/ref-manual/ref-features.xml
@@ -76,8 +76,6 @@
</para></listitem>
<listitem><para><emphasis>ext2:</emphasis> Hardware HDD or Microdrive
</para></listitem>
- <listitem><para><emphasis>irda:</emphasis> Hardware has IrDA support
- </para></listitem>
<listitem><para><emphasis>keyboard:</emphasis> Hardware has a keyboard
</para></listitem>
<listitem><para><emphasis>pcbios:</emphasis> Support for booting through BIOS
@@ -190,8 +188,6 @@
support.</para></listitem>
<listitem><para><emphasis>ipv6:</emphasis> Include IPv6 support.
</para></listitem>
- <listitem><para><emphasis>irda:</emphasis> Include IrDA support.
- </para></listitem>
<listitem><para><emphasis>keyboard:</emphasis> Include keyboard
support (e.g. keymaps will be loaded during boot).
</para></listitem>
diff --git a/poky/documentation/ref-manual/ref-tasks.xml b/poky/documentation/ref-manual/ref-tasks.xml
index 8f3ff26d2..011e0d749 100644
--- a/poky/documentation/ref-manual/ref-tasks.xml
+++ b/poky/documentation/ref-manual/ref-tasks.xml
@@ -158,32 +158,6 @@
</para>
</section>
- <section id='ref-tasks-distrodata'>
- <title><filename>do_distrodata</filename></title>
-
- <para>
- Provides information about the recipe.
- </para>
-
- <para>
- The <filename>distrodata</filename> task is included as part of the
- <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
- class.
- </para>
-
- <para>
- To build the <filename>distrodata</filename> task, use the
- <filename>bitbake</filename> command with the "-c" option and
- task name:
- <literallayout class='monospaced'>
- $ bitbake core-image-minimal -c distrodata
- </literallayout>
- By default, the results are stored in
- <link linkend='var-LOG_DIR'><filename>$LOG_DIR</filename></link>
- (e.g. <filename>$BUILD_DIR/tmp/log</filename>).
- </para>
- </section>
-
<section id='ref-tasks-fetch'>
<title><filename>do_fetch</filename></title>
@@ -192,7 +166,8 @@
This task uses the
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>
variable and the argument's prefix to determine the correct
- fetcher module.
+ <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetcher</ulink>
+ module.
</para>
</section>
@@ -635,9 +610,18 @@
</para>
<para>
- The <filename>checkpkg</filename> task is included as part of the
- <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
- class.
+ To check the upstream version and status of a recipe, use the
+ following devtool commands:
+ <literallayout class='monospaced'>
+ $ devtool latest-version
+ $ devtool check-upgrade-status
+ </literallayout>
+ See the
+ "<link linkend='ref-devtool-reference'><filename>devtool</filename> Quick Reference</link>"
+ chapter for more information on <filename>devtool</filename>.
+ See the
+ "<ulink url='&YOCTO_DOCS_REF_URL;#devtool-checking-on-the-upgrade-status-of-a-recipe'>Checking on the Upgrade Status of a Recipe</ulink>"
+ section for information on checking the upgrade status of a recipe.
</para>
<para>
diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml
index 0d01c16dd..12876e3d9 100644
--- a/poky/documentation/ref-manual/ref-variables.xml
+++ b/poky/documentation/ref-manual/ref-variables.xml
@@ -16629,16 +16629,16 @@
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- When the
- <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
- class is enabled globally, you can perform a per-recipe
- check for what the latest upstream source code version is
- by calling
+ You can perform a per-recipe check for what the latest
+ upstream source code version is by calling
<filename>bitbake -c checkpkg</filename> <replaceable>recipe</replaceable>.
If the recipe source code is provided from Git
repositories, the OpenEmbedded build system determines the
latest upstream version by picking the latest tag from the
list of all repository tags.
+ </para>
+
+ <para>
You can use the
<filename>UPSTREAM_CHECK_GITTAGREGEX</filename>
variable to provide a regular expression to filter only the
@@ -16658,11 +16658,8 @@
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- When the
- <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
- class is enabled globally, use the
- <filename>UPSTREAM_CHECK_REGEX</filename> variable to
- specify a different regular expression instead of the
+ Use the <filename>UPSTREAM_CHECK_REGEX</filename> variable
+ to specify a different regular expression instead of the
default one when the package checking system is parsing
the page found using
<link linkend='var-UPSTREAM_CHECK_URI'><filename>UPSTREAM_CHECK_URI</filename></link>.
@@ -16680,12 +16677,9 @@
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- When the
- <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link>
- class is enabled globally, you can perform a per-recipe
- check for what the latest upstream source code version is
- by calling <filename>bitbake -c checkpkg</filename>
- <replaceable>recipe</replaceable>.
+ You can perform a per-recipe check for what the latest
+ upstream source code version is by calling
+ <filename>bitbake -c checkpkg</filename> <replaceable>recipe</replaceable>.
If the source code is provided from tarballs, the latest
version is determined by fetching the directory listing
where the tarball is and attempting to find a later tarball.
diff --git a/poky/documentation/sdk-manual/sdk-extensible.xml b/poky/documentation/sdk-manual/sdk-extensible.xml
index f7c5c00b8..bd5278493 100644
--- a/poky/documentation/sdk-manual/sdk-extensible.xml
+++ b/poky/documentation/sdk-manual/sdk-extensible.xml
@@ -825,7 +825,9 @@
versioning schemes, extract code into or out of the
<filename>devtool</filename>
<ulink url='&YOCTO_DOCS_REF_URL;#devtool-the-workspace-layer-structure'>workspace</ulink>,
- and work with any source file forms that the fetchers support.
+ and work with any source file forms that the
+ <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetchers</ulink>
+ support.
</para>
<para>
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index 9068e567d..59b4d9561 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -34,8 +34,8 @@
#MACHINE ?= "mpc8315e-rdb"
#MACHINE ?= "edgerouter"
#
-# This sets the default machine to be qemux86 if no other machine is selected:
-MACHINE ??= "qemux86"
+# This sets the default machine to be qemux86-64 if no other machine is selected:
+MACHINE ??= "qemux86-64"
#
# Where to place downloads
diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended
index 26603debe..77e8be26f 100644
--- a/poky/meta-poky/conf/local.conf.sample.extended
+++ b/poky/meta-poky/conf/local.conf.sample.extended
@@ -321,7 +321,6 @@ DISTRO_FEATURES_remove = "x11"
# show an example of how it can be done
# You'll also need your fortran recipe to depend on libgfortran
#FORTRAN_forcevariable = ",fortran"
-#RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath"
#
# Kernel image features
diff --git a/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb b/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb
index 4d4e34dc8..44c8e1bf5 100644
--- a/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb
+++ b/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb
@@ -28,3 +28,4 @@ do_install() {
}
FILES_${PN} = "/init ${sysconfdir}/rc.local.sample"
+RCONFLICTS_${PN} = "systemd"
diff --git a/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb b/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb
new file mode 100644
index 000000000..e0b4e13c2
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb
@@ -0,0 +1,3 @@
+SUMMARY = "Recipe with an alias of an SPDX license"
+DESCRIPTION = "Is licensed with an alias of an SPDX license to be used for testing"
+LICENSE = "GPLv3"
diff --git a/poky/meta-selftest/recipes-test/license/incompatible-license.bb b/poky/meta-selftest/recipes-test/license/incompatible-license.bb
new file mode 100644
index 000000000..1728ad76b
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/license/incompatible-license.bb
@@ -0,0 +1,3 @@
+SUMMARY = "Recipe with an SPDX license"
+DESCRIPTION = "Is licensed with an SPDX license to be used for testing"
+LICENSE = "GPL-3.0"
diff --git a/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb b/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb
new file mode 100644
index 000000000..35af0966e
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb
@@ -0,0 +1,3 @@
+SUMMARY = "Recipe with a non-SPDX license"
+DESCRIPTION = "Is licensed with a non-SPDX license to be used for testing"
+LICENSE = "FooLicense"
diff --git a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
index 3dbc0f5d1..a76a6bea1 100644
--- a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
+++ b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb
@@ -8,7 +8,7 @@ MCIMGTYPE_virtclass-mcextend-tiny = "cpio.gz"
MC_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-mc-${MCNAME}/deploy/images/${MCMACHINE}"
-do_install[mcdepends] += "multiconfig::${MCNAME}:core-image-minimal:do_image_complete multiconfig::${MCNAME}:virtual/kernel:do_deploy"
+do_install[mcdepends] += "mc::${MCNAME}:core-image-minimal:do_image_complete mc::${MCNAME}:virtual/kernel:do_deploy"
do_install () {
install -d ${D}/var/lib/machines/${MCNAME}
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index bc18ee8c4..35814cd8f 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -18,7 +18,7 @@ IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
EXTRA_IMAGECMD_jffs2 = "-lnp "
WKS_FILE ?= "beaglebone-yocto.wks"
IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage"
-do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
+do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot u-boot:do_deploy"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index 1636c6ef9..0c8a4b286 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -10,9 +10,13 @@ inherit utility-tasks
inherit metadata_scm
inherit logging
-OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license"
+OE_EXTRA_IMPORTS ?= ""
+
+OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license ${OE_EXTRA_IMPORTS}"
OE_IMPORTS[type] = "list"
+PACKAGECONFIG_CONFARGS ??= ""
+
def oe_import(d):
import sys
@@ -639,6 +643,18 @@ python () {
if needsrcrev:
d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
+ # Gather all named SRCREVs to add to the sstate hash calculation
+ # This anonymous python snippet is called multiple times so we
+ # need to be careful to not double up the appends here and cause
+ # the base hash to mismatch the task hash
+ for uri in srcuri.split():
+ parm = bb.fetch.decodeurl(uri)[5]
+ uri_names = parm.get("name", "").split(",")
+ for uri_name in filter(None, uri_names):
+ srcrev_name = "SRCREV_{}".format(uri_name)
+ if srcrev_name not in (d.getVarFlag("do_fetch", "vardeps") or "").split():
+ d.appendVarFlag("do_fetch", "vardeps", " {}".format(srcrev_name))
+
set_packagetriplet(d)
# 'multimachine' handling
diff --git a/poky/meta/classes/binconfig.bbclass b/poky/meta/classes/binconfig.bbclass
index 133b9537c..9112ed460 100644
--- a/poky/meta/classes/binconfig.bbclass
+++ b/poky/meta/classes/binconfig.bbclass
@@ -40,15 +40,6 @@ binconfig_package_preprocess () {
-e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \
$config
done
- for lafile in `find ${PKGD} -type f -name "*.la"` ; do
- sed -i \
- -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \
- -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
- -e 's:${STAGING_INCDIR}:${includedir}:g;' \
- -e 's:${STAGING_DATADIR}:${datadir}:' \
- -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \
- $lafile
- done
}
SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess"
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 796f68cf8..2e501df24 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -839,11 +839,15 @@ python buildhistory_eventhandler() {
if e.data.getVar("BUILDHISTORY_COMMIT") == "1":
bb.note("Writing buildhistory")
bb.build.exec_func("buildhistory_write_sigs", d)
+ import time
+ start=time.time()
localdata = bb.data.createCopy(e.data)
localdata.setVar('BUILDHISTORY_BUILD_FAILURES', str(e._failures))
interrupted = getattr(e, '_interrupted', 0)
localdata.setVar('BUILDHISTORY_BUILD_INTERRUPTED', str(interrupted))
bb.build.exec_func("buildhistory_commit", localdata)
+ stop=time.time()
+ bb.note("Writing buildhistory took: %s seconds" % round(stop-start))
else:
bb.note("No commit since BUILDHISTORY_COMMIT != '1'")
}
diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass
index d3f0d7084..2b317c832 100644
--- a/poky/meta/classes/cmake.bbclass
+++ b/poky/meta/classes/cmake.bbclass
@@ -26,14 +26,16 @@ python() {
if not d.getVar('OECMAKE_C_COMPILER'):
cc_list = d.getVar('CC').split()
if cc_list[0] == 'ccache':
- d.setVar('OECMAKE_C_COMPILER', '%s %s' % (cc_list[0], cc_list[1]))
+ d.setVar('OECMAKE_C_COMPILER_LAUNCHER', cc_list[0])
+ d.setVar('OECMAKE_C_COMPILER', cc_list[1])
else:
d.setVar('OECMAKE_C_COMPILER', cc_list[0])
if not d.getVar('OECMAKE_CXX_COMPILER'):
cxx_list = d.getVar('CXX').split()
if cxx_list[0] == 'ccache':
- d.setVar('OECMAKE_CXX_COMPILER', '%s %s' % (cxx_list[0], cxx_list[1]))
+ d.setVar('OECMAKE_CXX_COMPILER_LAUNCHER', cxx_list[0])
+ d.setVar('OECMAKE_CXX_COMPILER', cxx_list[1])
else:
d.setVar('OECMAKE_CXX_COMPILER', cxx_list[0])
}
@@ -49,6 +51,9 @@ OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LD
CXXFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
CFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
+OECMAKE_C_COMPILER_LAUNCHER ?= ""
+OECMAKE_CXX_COMPILER_LAUNCHER ?= ""
+
OECMAKE_RPATH ?= ""
OECMAKE_PERLNATIVE_DIR ??= ""
OECMAKE_EXTRA_ROOT_PATH ?= ""
@@ -86,6 +91,8 @@ set( CMAKE_SYSTEM_NAME `echo ${TARGET_OS} | sed -e 's/^./\u&/' -e 's/^\(Linux\).
set( CMAKE_SYSTEM_PROCESSOR ${@map_target_arch_to_uname_arch(d.getVar('TARGET_ARCH'))} )
set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} )
+set( CMAKE_C_COMPILER_LAUNCHER ${OECMAKE_C_COMPILER_LAUNCHER} )
+set( CMAKE_CXX_COMPILER_LAUNCHER ${OECMAKE_CXX_COMPILER_LAUNCHER} )
set( CMAKE_ASM_COMPILER ${OECMAKE_C_COMPILER} )
set( CMAKE_AR ${OECMAKE_AR} CACHE FILEPATH "Archiver" )
set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
@@ -112,7 +119,7 @@ set( ENV{QT_CONF_PATH} ${WORKDIR}/qt.conf )
# directory as rpath by default
set( CMAKE_INSTALL_RPATH ${OECMAKE_RPATH} )
-# Use native cmake modules
+# Use our cmake modules
list(APPEND CMAKE_MODULE_PATH "${STAGING_DATADIR}/cmake/Modules/")
# add for non /usr/lib libdir, e.g. /usr/lib64
@@ -154,15 +161,15 @@ cmake_do_configure() {
$oecmake_sitefile \
${OECMAKE_SOURCEPATH} \
-DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
- -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix'))} \
- -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix'))} \
- -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix'))} \
+ -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \
+ -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \
+ -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \
-DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
- -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix'))} \
+ -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix') + '/')} \
-DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
- -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix'))} \
- -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix'))} \
- -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix'))} \
+ -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \
+ -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \
+ -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \
-DCMAKE_INSTALL_SO_NO_EXE=0 \
-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
-DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index 743bc08a4..379f7121c 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -26,7 +26,7 @@ CVE_PRODUCT ??= "${BPN}"
CVE_VERSION ??= "${PV}"
CVE_CHECK_DB_DIR ?= "${DL_DIR}/CVE_CHECK"
-CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd.db"
+CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvd-json.db"
CVE_CHECK_LOG ?= "${T}/cve.log"
CVE_CHECK_TMP_FILE ?= "${TMPDIR}/cve_check"
@@ -62,7 +62,7 @@ python do_cve_check () {
}
addtask cve_check after do_unpack before do_build
-do_cve_check[depends] = "cve-check-tool-native:do_populate_sysroot cve-check-tool-native:do_populate_cve_db"
+do_cve_check[depends] = "cve-update-db:do_populate_cve_db"
do_cve_check[nostamp] = "1"
python cve_check_cleanup () {
@@ -163,61 +163,55 @@ def get_patches_cves(d):
def check_cves(d, patched_cves):
"""
- Run cve-check-tool looking for patched and unpatched CVEs.
+ Connect to the NVD database and find unpatched cves.
"""
-
import ast, csv, tempfile, subprocess, io
+ from distutils.version import LooseVersion
- cves_patched = []
cves_unpatched = []
- bpn = d.getVar("CVE_PRODUCT")
+ # CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
+ bpn = d.getVar("CVE_PRODUCT").split()
# If this has been unset then we're not scanning for CVEs here (for example, image recipes)
- if not bpn:
+ if len(bpn) == 0:
return ([], [])
pv = d.getVar("CVE_VERSION").split("+git")[0]
- cves = " ".join(patched_cves)
- cve_db_dir = d.getVar("CVE_CHECK_DB_DIR")
cve_whitelist = ast.literal_eval(d.getVar("CVE_CHECK_CVE_WHITELIST"))
- cve_cmd = "cve-check-tool"
- cmd = [cve_cmd, "--no-html", "--skip-update", "--csv", "--not-affected", "-t", "faux", "-d", cve_db_dir]
# If the recipe has been whitlisted we return empty lists
if d.getVar("PN") in d.getVar("CVE_CHECK_PN_WHITELIST").split():
bb.note("Recipe has been whitelisted, skipping check")
return ([], [])
- try:
- # Write the faux CSV file to be used with cve-check-tool
- fd, faux = tempfile.mkstemp(prefix="cve-faux-")
- with os.fdopen(fd, "w") as f:
- for pn in bpn.split():
- f.write("%s,%s,%s,\n" % (pn, pv, cves))
- cmd.append(faux)
-
- output = subprocess.check_output(cmd).decode("utf-8")
- bb.debug(2, "Output of command %s:\n%s" % ("\n".join(cmd), output))
- except subprocess.CalledProcessError as e:
- bb.warn("Couldn't check for CVEs: %s (output %s)" % (e, e.output))
- finally:
- os.remove(faux)
-
- for row in csv.reader(io.StringIO(output)):
- # Third row has the unpatched CVEs
- if row[2]:
- for cve in row[2].split():
- # Skip if the CVE has been whitlisted for the current version
- if pv in cve_whitelist.get(cve,[]):
- bb.note("%s-%s has been whitelisted for %s" % (bpn, pv, cve))
- else:
- cves_unpatched.append(cve)
- bb.debug(2, "%s-%s is not patched for %s" % (bpn, pv, cve))
- # Fourth row has patched CVEs
- if row[3]:
- for cve in row[3].split():
- cves_patched.append(cve)
- bb.debug(2, "%s-%s is patched for %s" % (bpn, pv, cve))
-
- return (cves_patched, cves_unpatched)
+ import sqlite3
+ db_file = d.getVar("CVE_CHECK_DB_FILE")
+ conn = sqlite3.connect(db_file)
+ c = conn.cursor()
+
+ query = """SELECT * FROM PRODUCTS WHERE
+ (PRODUCT IS '{0}' AND VERSION = '{1}' AND OPERATOR IS '=') OR
+ (PRODUCT IS '{0}' AND OPERATOR IS '<=');"""
+ for idx in range(len(bpn)):
+ for row in c.execute(query.format(bpn[idx],pv)):
+ cve = row[1]
+ version = row[4]
+
+ try:
+ discardVersion = LooseVersion(version) < LooseVersion(pv)
+ except:
+ discardVersion = True
+
+ if pv in cve_whitelist.get(cve,[]):
+ bb.note("%s-%s has been whitelisted for %s" % (bpn[idx], pv, cve))
+ elif cve in patched_cves:
+ bb.note("%s has been patched" % (cve))
+ elif discardVersion:
+ bb.debug(2, "Do not consider version %s " % (version))
+ else:
+ cves_unpatched.append(cve)
+ bb.debug(2, "%s-%s is not patched for %s" % (bpn[idx], pv, cve))
+ conn.close()
+
+ return (list(patched_cves), cves_unpatched)
def get_cve_info(d, cves):
"""
@@ -241,9 +235,10 @@ def get_cve_info(d, cves):
for row in cur.execute(query, tuple(cves)):
cve_data[row[0]] = {}
cve_data[row[0]]["summary"] = row[1]
- cve_data[row[0]]["score"] = row[2]
- cve_data[row[0]]["modified"] = row[3]
- cve_data[row[0]]["vector"] = row[4]
+ cve_data[row[0]]["scorev2"] = row[2]
+ cve_data[row[0]]["scorev3"] = row[3]
+ cve_data[row[0]]["modified"] = row[4]
+ cve_data[row[0]]["vector"] = row[5]
conn.close()
return cve_data
@@ -270,7 +265,8 @@ def cve_write_data(d, patched, unpatched, cve_data):
unpatched_cves.append(cve)
write_string += "CVE STATUS: Unpatched\n"
write_string += "CVE SUMMARY: %s\n" % cve_data[cve]["summary"]
- write_string += "CVSS v2 BASE SCORE: %s\n" % cve_data[cve]["score"]
+ write_string += "CVSS v2 BASE SCORE: %s\n" % cve_data[cve]["scorev2"]
+ write_string += "CVSS v3 BASE SCORE: %s\n" % cve_data[cve]["scorev3"]
write_string += "VECTOR: %s\n" % cve_data[cve]["vector"]
write_string += "MORE INFORMATION: %s%s\n\n" % (nvd_link, cve)
diff --git a/poky/meta/classes/devicetree.bbclass b/poky/meta/classes/devicetree.bbclass
index 5c03e4b0f..d8779c794 100644
--- a/poky/meta/classes/devicetree.bbclass
+++ b/poky/meta/classes/devicetree.bbclass
@@ -116,7 +116,7 @@ def devicetree_compile(dtspath, includes, d):
dtcargs += ["-o", "{0}.{1}".format(dtname, "dtbo" if isoverlay else "dtb")]
dtcargs += ["-I", "dts", "-O", "dtb", "{0}.pp".format(dts)]
bb.note("Running {0}".format(" ".join(dtcargs)))
- subprocess.run(dtcargs, check = True)
+ subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
python devicetree_do_compile() {
includes = expand_includes("DT_INCLUDE", d)
diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass
index b6d9372c5..e05a5c641 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes/go.bbclass
@@ -7,6 +7,7 @@ GOROOT_class-nativesdk = "${STAGING_DIR_TARGET}${libdir}/go"
GOROOT = "${STAGING_LIBDIR}/go"
export GOROOT
export GOROOT_FINAL = "${libdir}/go"
+export GOCACHE = "${B}/.cache"
export GOARCH = "${TARGET_GOARCH}"
export GOOS = "${TARGET_GOOS}"
diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass
index 1c44ec4a8..fd98a7d1b 100644
--- a/poky/meta/classes/image_types.bbclass
+++ b/poky/meta/classes/image_types.bbclass
@@ -284,7 +284,7 @@ COMPRESSIONTYPES ?= ""
CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 base64 ${COMPRESSIONTYPES}"
CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
-CONVERSION_CMD_gz = "pigz -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz"
+CONVERSION_CMD_gz = "gzip -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz"
CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_DEFAULTS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz"
CONVERSION_CMD_lz4 = "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index a9be88e81..0695a0443 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -25,7 +25,7 @@ QA_SANE = "True"
WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \
textrel already-stripped incompatible-license files-invalid \
installed-vs-shipped compile-host-path install-host-path \
- pn-overrides infodir build-deps \
+ pn-overrides infodir build-deps src-uri-bad \
unknown-configure-option symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
"
@@ -259,13 +259,6 @@ def package_qa_check_dbg(path, name, d, elf, messages):
package_qa_add_message(messages, "debug-files", "non debug package contains .debug directory: %s path %s" % \
(name, package_qa_clean_path(path,d)))
-QAPATHTEST[perms] = "package_qa_check_perm"
-def package_qa_check_perm(path,name,d, elf, messages):
- """
- Check the permission of files
- """
- return
-
QAPATHTEST[arch] = "package_qa_check_arch"
def package_qa_check_arch(path,name,d, elf, messages):
"""
@@ -408,7 +401,8 @@ def package_qa_check_buildpaths(path, name, d, elf, messages):
with open(path, 'rb') as f:
file_content = f.read()
if tmpdir in file_content:
- package_qa_add_message(messages, "buildpaths", "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d))
+ trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "")
+ package_qa_add_message(messages, "buildpaths", "File %s in package %s contains reference to TMPDIR" % (trimmed, name))
QAPATHTEST[xorg-driver-abi] = "package_qa_check_xorg_driver_abi"
@@ -892,6 +886,17 @@ def package_qa_check_host_user(path, name, d, elf, messages):
return False
return True
+QARECIPETEST[src-uri-bad] = "package_qa_check_src_uri"
+def package_qa_check_src_uri(pn, d, messages):
+ import re
+
+ if "${PN}" in d.getVar("SRC_URI", False):
+ package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d)
+
+ pn = d.getVar("SRC_URI")
+ if re.search(r"github\.com/.+/.+/archive/.+", pn):
+ package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d)
+
# The PACKAGE FUNC to scan each package
python do_package_qa () {
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index 2820ff968..b51882dce 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -42,7 +42,7 @@ python __anonymous () {
# Verified boot will sign the fitImage and append the public key to
# U-Boot dtb. We ensure the U-Boot dtb is deployed before assembling
# the fitImage:
- if d.getVar('UBOOT_SIGN_ENABLE') == "1":
+ if d.getVar('UBOOT_SIGN_ENABLE') == "1" and d.getVar('UBOOT_DTB_BINARY'):
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn)
}
@@ -50,6 +50,9 @@ python __anonymous () {
# Options for the device tree compiler passed to mkimage '-D' feature:
UBOOT_MKIMAGE_DTCOPTS ??= ""
+# fitImage Hash Algo
+FIT_HASH_ALG ?= "sha256"
+
#
# Emit the fitImage ITS header
#
@@ -109,7 +112,7 @@ EOF
# $4 ... Compression type
fitimage_emit_section_kernel() {
- kernel_csum="sha1"
+ kernel_csum="${FIT_HASH_ALG}"
ENTRYPOINT="${UBOOT_ENTRYPOINT}"
if [ -n "${UBOOT_ENTRYSYMBOL}" ]; then
@@ -142,7 +145,7 @@ EOF
# $3 ... Path to DTB image
fitimage_emit_section_dtb() {
- dtb_csum="sha1"
+ dtb_csum="${FIT_HASH_ALG}"
dtb_loadline=""
dtb_ext=${DTB##*.}
@@ -176,7 +179,7 @@ EOF
# $3 ... Path to setup image
fitimage_emit_section_setup() {
- setup_csum="sha1"
+ setup_csum="${FIT_HASH_ALG}"
cat << EOF >> ${1}
setup@${2} {
@@ -203,7 +206,7 @@ EOF
# $3 ... Path to ramdisk image
fitimage_emit_section_ramdisk() {
- ramdisk_csum="sha1"
+ ramdisk_csum="${FIT_HASH_ALG}"
ramdisk_ctype="none"
ramdisk_loadline=""
ramdisk_entryline=""
@@ -261,7 +264,7 @@ EOF
# $6 ... default flag
fitimage_emit_section_config() {
- conf_csum="sha1"
+ conf_csum="${FIT_HASH_ALG}"
if [ -n "${UBOOT_SIGN_ENABLE}" ] ; then
conf_sign_keyname="${UBOOT_SIGN_KEYNAME}"
fi
diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass
index 2364053f3..0457c5d1d 100644
--- a/poky/meta/classes/kernel-uboot.bbclass
+++ b/poky/meta/classes/kernel-uboot.bbclass
@@ -5,8 +5,8 @@ uboot_prep_kimage() {
linux_comp="none"
elif [ -e arch/${ARCH}/boot/Image ] ; then
vmlinux_path="vmlinux"
- linux_suffix=""
- linux_comp="none"
+ linux_suffix=".gz"
+ linux_comp="gzip"
elif [ -e arch/${ARCH}/boot/vmlinuz.bin ]; then
rm -f linux.bin
cp -l arch/${ARCH}/boot/vmlinuz.bin linux.bin
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 437b8c767..a60e15b57 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -8,6 +8,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-na
PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot"
+do_clean[depends] += "make-mod-scripts:do_clean"
CVE_PRODUCT ?= "linux_kernel"
@@ -558,7 +559,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure
# kernel-image becomes kernel-image-${KERNEL_VERSION}
PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules"
FILES_${PN} = ""
-FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin"
+FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
FILES_${KERNEL_PACKAGE_NAME}-image = ""
FILES_${KERNEL_PACKAGE_NAME}-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
FILES_${KERNEL_PACKAGE_NAME}-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass
index ed91a4b4d..adca881c8 100644
--- a/poky/meta/classes/license.bbclass
+++ b/poky/meta/classes/license.bbclass
@@ -268,7 +268,7 @@ def expand_wildcard_licenses(d, wildcard_licenses):
wildcards from SPDXLICENSEMAP flags and SRC_DISTRIBUTE_LICENSES values.
"""
import fnmatch
- licenses = []
+ licenses = wildcard_licenses[:]
spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys()
for wld_lic in wildcard_licenses:
spdxflags = fnmatch.filter(spdxmapkeys, wld_lic)
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index 6fb76be48..2cfda81c9 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -40,7 +40,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
import stat
bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split()
- bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
+ bad_licenses = [canonical_license(d, l) for l in bad_licenses]
bad_licenses = expand_wildcard_licenses(d, bad_licenses)
with open(license_manifest, "w") as license_file:
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass
index 115d1aedc..0edbfc181 100644
--- a/poky/meta/classes/meson.bbclass
+++ b/poky/meta/classes/meson.bbclass
@@ -56,6 +56,8 @@ def meson_cpu_family(var, d):
return 'ppc64'
elif arch == 'armeb':
return 'arm'
+ elif arch == 'aarch64_be':
+ return 'aarch64'
elif arch == 'mipsel':
return 'mips'
elif arch == 'mips64el':
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass
index 2b761f355..7750221f7 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -33,6 +33,8 @@ python multilib_virtclass_handler () {
e.data.setVar("MLPREFIX", variant + "-")
e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
e.data.setVar('SDKTARGETSYSROOT', e.data.getVar('SDKTARGETSYSROOT'))
+ override = ":virtclass-multilib-" + variant
+ e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)
target_vendor = e.data.getVar("TARGET_VENDOR_" + "virtclass-multilib-" + variant, False)
if target_vendor:
e.data.setVar("TARGET_VENDOR", target_vendor)
diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass
index 649cc096b..19ce1a509 100644
--- a/poky/meta/classes/multilib_global.bbclass
+++ b/poky/meta/classes/multilib_global.bbclass
@@ -118,6 +118,9 @@ def preferred_ml_updates(d):
d.renameVar(prov, provexp)
def translate_provide(prefix, prov):
+ # Really need to know if kernel modules class is inherited somehow
+ if prov == "lttng-modules":
+ return prov
if not prov.startswith("virtual/"):
return prefix + "-" + prov
if prov == "virtual/kernel":
diff --git a/poky/meta/classes/npm.bbclass b/poky/meta/classes/npm.bbclass
index 6dbae6bc7..4b1f0a39f 100644
--- a/poky/meta/classes/npm.bbclass
+++ b/poky/meta/classes/npm.bbclass
@@ -10,7 +10,7 @@ def node_pkgname(d):
NPMPN ?= "${@node_pkgname(d)}"
-NPM_INSTALLDIR = "${libdir}/node/${NPMPN}"
+NPM_INSTALLDIR = "${libdir}/node_modules/${NPMPN}"
# function maps arch names to npm arch names
def npm_oe_arch_map(target_arch, d):
@@ -53,9 +53,10 @@ npm_do_install() {
# be created in this directory
export HOME=${WORKDIR}
mkdir -p ${D}${libdir}/node_modules
- npm pack .
- npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPMPN}-${PV}.tgz
- mv ${D}${libdir}/node_modules ${D}${libdir}/node
+ local NPM_PACKFILE=$(npm pack .)
+ npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPM_PACKFILE}
+ ln -fs node_modules ${D}${libdir}/node
+ find ${D}${NPM_INSTALLDIR} -type f \( -name "*.a" -o -name "*.d" -o -name "*.o" \) -delete
if [ -d ${D}${prefix}/etc ] ; then
# This will be empty
rmdir ${D}${prefix}/etc
@@ -85,6 +86,8 @@ python populate_packages_prepend () {
}
FILES_${PN} += " \
+ ${bindir} \
+ ${libdir}/node \
${NPM_INSTALLDIR} \
"
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index 4c0a85953..20d72bba7 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -1005,6 +1005,12 @@ python split_and_strip_files () {
symlinks[file] = target
results = oe.utils.multiprocess_launch(oe.package.is_elf, checkelf.keys(), d)
+
+ # Sort results by file path. This ensures that the files are always
+ # processed in the same order, which is important to make sure builds
+ # are reproducible when dealing with hardlinks
+ results.sort(key=lambda x: x[0])
+
for (file, elf_file) in results:
# It's a file (or hardlink), not a link
# ...but is it ELF, and is it already stripped?
@@ -1343,6 +1349,8 @@ EXPORT_FUNCTIONS package_name_hook
PKGDESTWORK = "${WORKDIR}/pkgdata"
+PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
+
python emit_pkgdata() {
from glob import glob
import json
@@ -1447,48 +1455,26 @@ fi
total_size += fstat.st_size
d.setVar('FILES_INFO', json.dumps(files, sort_keys=True))
- subdata_file = pkgdatadir + "/runtime/%s" % pkg
- sf = open(subdata_file, 'w')
- write_if_exists(sf, pkg, 'PN')
- write_if_exists(sf, pkg, 'PE')
- write_if_exists(sf, pkg, 'PV')
- write_if_exists(sf, pkg, 'PR')
- write_if_exists(sf, pkg, 'PKGE')
- write_if_exists(sf, pkg, 'PKGV')
- write_if_exists(sf, pkg, 'PKGR')
- write_if_exists(sf, pkg, 'LICENSE')
- write_if_exists(sf, pkg, 'DESCRIPTION')
- write_if_exists(sf, pkg, 'SUMMARY')
- write_if_exists(sf, pkg, 'RDEPENDS')
- rprov = write_if_exists(sf, pkg, 'RPROVIDES')
- write_if_exists(sf, pkg, 'RRECOMMENDS')
- write_if_exists(sf, pkg, 'RSUGGESTS')
- write_if_exists(sf, pkg, 'RREPLACES')
- write_if_exists(sf, pkg, 'RCONFLICTS')
- write_if_exists(sf, pkg, 'SECTION')
- write_if_exists(sf, pkg, 'PKG')
- write_if_exists(sf, pkg, 'ALLOW_EMPTY')
- write_if_exists(sf, pkg, 'FILES')
- write_if_exists(sf, pkg, 'CONFFILES')
process_postinst_on_target(pkg, d.getVar("MLPREFIX"))
add_set_e_to_scriptlets(pkg)
- write_if_exists(sf, pkg, 'pkg_postinst')
- write_if_exists(sf, pkg, 'pkg_postrm')
- write_if_exists(sf, pkg, 'pkg_preinst')
- write_if_exists(sf, pkg, 'pkg_prerm')
- write_if_exists(sf, pkg, 'FILERPROVIDESFLIST')
- write_if_exists(sf, pkg, 'FILES_INFO')
- for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split():
- write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile)
-
- write_if_exists(sf, pkg, 'FILERDEPENDSFLIST')
- for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split():
- write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile)
-
- sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
- sf.close()
+
+ subdata_file = pkgdatadir + "/runtime/%s" % pkg
+ with open(subdata_file, 'w') as sf:
+ for var in (d.getVar('PKGDATA_VARS') or "").split():
+ val = write_if_exists(sf, pkg, var)
+
+ write_if_exists(sf, pkg, 'FILERPROVIDESFLIST')
+ for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split():
+ write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile)
+
+ write_if_exists(sf, pkg, 'FILERDEPENDSFLIST')
+ for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split():
+ write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile)
+
+ sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
# Symlinks needed for rprovides lookup
+ rprov = d.getVar('RPROVIDES_%s' % pkg) or d.getVar('RPROVIDES')
if rprov:
for p in rprov.strip().split():
subdata_sym = pkgdatadir + "/runtime-rprovides/%s/%s" % (p, pkg)
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass
index a7f0fe743..59920a57a 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -57,7 +57,7 @@ python () {
d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
else:
d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native')
- d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')
+ d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 -9 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')
}
SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass
index 9ee7d1587..6b171ca8d 100644
--- a/poky/meta/classes/scons.bbclass
+++ b/poky/meta/classes/scons.bbclass
@@ -1,8 +1,11 @@
-DEPENDS += "python-scons-native"
+inherit python3native
+
+DEPENDS += "python3-scons-native"
EXTRA_OESCONS ?= ""
do_configure() {
+ unset _PYTHON_SYSCONFIGDATA_NAME
if [ -n "${CONFIGURESTAMPFILE}" ]; then
if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
@@ -14,11 +17,13 @@ do_configure() {
}
scons_do_compile() {
+ unset _PYTHON_SYSCONFIGDATA_NAME
${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
die "scons build execution failed."
}
scons_do_install() {
+ unset _PYTHON_SYSCONFIGDATA_NAME
${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
die "scons install execution failed."
}
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index 6bcd0b087..920706022 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -168,7 +168,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d):
if not fixme:
return
cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (target, " ".join(fixme), recipesysroot, recipesysrootnative)
- for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']:
+ for fixmevar in ['PSEUDO_SYSROOT', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']:
fixme_path = d.getVar(fixmevar)
cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path)
bb.debug(2, cmd)
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index 9bb5a5cb0..525c5a617 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -210,7 +210,11 @@ def testimage_main(d):
bb.fatal('Unsupported image type built. Add a comptible image to '
'IMAGE_FSTYPES. Supported types: %s' %
', '.join(supported_fstypes))
- rootfs = '%s.%s' % (image_name, fstypes[0])
+ qfstype = fstypes[0]
+ qdeffstype = d.getVar("QB_DEFAULT_FSTYPE")
+ if qdeffstype:
+ qfstype = qdeffstype
+ rootfs = '%s.%s' % (image_name, qfstype)
# Get tmpdir (not really used, just for compatibility)
tmpdir = d.getVar("TMPDIR")
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index 8beafff7c..de81ad1b3 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -116,7 +116,7 @@ do_install_append() {
}
python () {
- if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN'):
+ if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN') and d.getVar('UBOOT_DTB_BINARY'):
kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
# Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb
diff --git a/poky/meta/classes/uninative.bbclass b/poky/meta/classes/uninative.bbclass
index ba99fb6e8..3326c0db3 100644
--- a/poky/meta/classes/uninative.bbclass
+++ b/poky/meta/classes/uninative.bbclass
@@ -2,7 +2,7 @@ UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/
UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}"
UNINATIVE_URL ?= "unset"
-UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2"
+UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.xz"
# Example checksums
#UNINATIVE_CHECKSUM[aarch64] = "dead"
#UNINATIVE_CHECKSUM[i686] = "dead"
@@ -89,7 +89,7 @@ python uninative_event_fetchloader() {
cmd = d.expand("\
mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \
cd ${UNINATIVE_STAGING_DIR}-uninative; \
-tar -xjf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \
+tar -xJf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \
${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \
${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux \
${UNINATIVE_LOADER} \
diff --git a/poky/meta/classes/update-rc.d.bbclass b/poky/meta/classes/update-rc.d.bbclass
index 265c4be9d..1366fee65 100644
--- a/poky/meta/classes/update-rc.d.bbclass
+++ b/poky/meta/classes/update-rc.d.bbclass
@@ -20,28 +20,14 @@ def use_updatercd(d):
return '[ -n "$D" -o ! -d /run/systemd/system ]'
return 'true'
-updatercd_preinst() {
-if ${@use_updatercd(d)} && [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
- ${INIT_D_DIR}/${INITSCRIPT_NAME} stop || :
-fi
-if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then
- if [ -n "$D" ]; then
- OPT="-f -r $D"
- else
- OPT="-f"
- fi
- update-rc.d $OPT ${INITSCRIPT_NAME} remove
-fi
-}
-
PACKAGE_WRITE_DEPS += "update-rc.d-native"
updatercd_postinst() {
if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then
if [ -n "$D" ]; then
- OPT="-f -r $D"
+ OPT="-r $D"
else
- OPT="-f -s"
+ OPT="-s"
fi
update-rc.d $OPT ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS}
fi
@@ -79,7 +65,7 @@ python __anonymous() {
PACKAGESPLITFUNCS_prepend = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'populate_packages_updatercd ', '', d)}"
PACKAGESPLITFUNCS_remove_class-nativesdk = "populate_packages_updatercd "
-populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst"
+populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_postinst"
populate_packages_updatercd[vardepsexclude] += "OVERRIDES"
python populate_packages_updatercd () {
@@ -95,7 +81,7 @@ python populate_packages_updatercd () {
d.appendVar('RDEPENDS_' + pkg, ' %sinitd-functions' % (mlprefix))
def update_rcd_package(pkg):
- bb.debug(1, 'adding update-rc.d calls to preinst/postinst/prerm/postrm for %s' % pkg)
+ bb.debug(1, 'adding update-rc.d calls to postinst/prerm/postrm for %s' % pkg)
localdata = bb.data.createCopy(d)
overrides = localdata.getVar("OVERRIDES")
@@ -103,12 +89,6 @@ python populate_packages_updatercd () {
update_rcd_auto_depend(pkg)
- preinst = d.getVar('pkg_preinst_%s' % pkg)
- if not preinst:
- preinst = '#!/bin/sh\n'
- preinst += localdata.getVar('updatercd_preinst')
- d.setVar('pkg_preinst_%s' % pkg, preinst)
-
postinst = d.getVar('pkg_postinst_%s' % pkg)
if not postinst:
postinst = '#!/bin/sh\n'
diff --git a/poky/meta/classes/useradd.bbclass b/poky/meta/classes/useradd.bbclass
index 124becd08..e5f3ba24f 100644
--- a/poky/meta/classes/useradd.bbclass
+++ b/poky/meta/classes/useradd.bbclass
@@ -100,6 +100,8 @@ useradd_sysroot () {
# Pseudo may (do_prepare_recipe_sysroot) or may not (do_populate_sysroot_setscene) be running
# at this point so we're explicit about the environment so pseudo can load if
# not already present.
+ # PSEUDO_SYSROOT can contain references to the build architecture and COMPONENT_DIR
+ # so needs the STAGING_FIXME below
export PSEUDO="${FAKEROOTENV} ${PSEUDO_SYSROOT}${bindir_native}/pseudo"
# Explicitly set $D since it isn't set to anything
@@ -134,10 +136,10 @@ useradd_sysroot () {
}
# The export of PSEUDO in useradd_sysroot() above contains references to
-# ${COMPONENTS_DIR} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging
+# ${PSEUDO_SYSROOT} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging
# shell functions use ${LOGFIFO}. These need to be handled when restoring
# postinst-useradd-${PN} from the sstate cache.
-EXTRA_STAGING_FIXMES += "COMPONENTS_DIR PSEUDO_LOCALSTATEDIR LOGFIFO"
+EXTRA_STAGING_FIXMES += "PSEUDO_SYSROOT PSEUDO_LOCALSTATEDIR LOGFIFO"
python useradd_sysroot_sstate () {
scriptfile = None
@@ -182,6 +184,7 @@ def update_useradd_after_parse(d):
bb.fatal("%s inherits useradd but doesn't set USERADD_PACKAGES" % d.getVar('FILE', False))
for pkg in useradd_packages.split():
+ d.appendVarFlag("do_populate_sysroot", "vardeps", "USERADD_PARAM_%s GROUPADD_PARAM_%s GROUPMEMS_PARAM_%s" % (pkg, pkg, pkg))
if not d.getVar('USERADD_PARAM_%s' % pkg) and not d.getVar('GROUPADD_PARAM_%s' % pkg) and not d.getVar('GROUPMEMS_PARAM_%s' % pkg):
bb.fatal("%s inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package %s" % (d.getVar('FILE', False), pkg))
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index c5313ccd1..4b907d682 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -492,7 +492,7 @@ HOSTTOOLS += " \
[ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
- head hostname id install ld ldd ln ls make makeinfo md5sum mkdir mknod \
+ head hostname iconv id install ld ldd ln ls make makeinfo md5sum mkdir mknod \
mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd python2 \
python2.7 python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh sha256sum \
sleep sort split stat strings strip tail tar tee test touch tr true uname \
diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc
index 21419038f..2be337877 100644
--- a/poky/meta/conf/distro/include/default-providers.inc
+++ b/poky/meta/conf/distro/include/default-providers.inc
@@ -42,6 +42,7 @@ PREFERRED_PROVIDER_opkg ?= "opkg"
PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
PREFERRED_PROVIDER_nativesdk-opkg ?= "nativesdk-opkg"
PREFERRED_PROVIDER_console-tools ?= "kbd"
+PREFERRED_PROVIDER_gzip-native ?= "pigz-native"
PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}"
PREFERRED_RPROVIDER_bluez-hcidump ?= "${@bb.utils.contains('DISTRO_FEATURES','bluetooth bluez5','bluez5','bluez-hcidump',d)}"
# Alternative is ltp-ddt in meta-oe: meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index a9a689fb0..64856e105 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -136,6 +136,7 @@ RECIPE_MAINTAINER_pn-cryptodev-tests = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-cups = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-curl = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-cve-check-tool = "Ross Burton <ross.burton@intel.com>"
+RECIPE_MAINTAINER_pn-cve-update-db = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-cwautomacros = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-db = "Mark Hatle <mark.hatle@windriver.com>"
RECIPE_MAINTAINER_pn-dbus = "Chen Qi <Qi.Chen@windriver.com>"
@@ -162,6 +163,8 @@ RECIPE_MAINTAINER_pn-dtc = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-dwarfsrcfiles = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-efivar = "Ross Burton <ross.burton@intel.com>"
+RECIPE_MAINTAINER_pn-efibootmgr = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -312,6 +315,7 @@ RECIPE_MAINTAINER_pn-libatomic-ops = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libbsd = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libcap = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libcap-ng = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER_pn-libcap-ng-python = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -352,6 +356,7 @@ RECIPE_MAINTAINER_pn-libksba = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libmatchbox = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libmnl = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libmpc = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-libmodulemd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libnewt-python = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -406,6 +411,7 @@ RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcursor = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcrypt = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-libxcrypt-compat = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libxdamage = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxdmcp = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxext = "Armin Kuster <akuster808@gmail.com>"
@@ -535,6 +541,7 @@ RECIPE_MAINTAINER_pn-nspr = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-nss = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@intel.com>"
+RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
RECIPE_MAINTAINER_pn-openssh = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
@@ -602,7 +609,10 @@ RECIPE_MAINTAINER_pn-python3-numpy = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-pbr = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-pip = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-pycairo = "Derek Straka <derek@asterius.io>"
+RECIPE_MAINTAINER_pn-python3-pygments = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-pygobject = "Derek Straka <derek@asterius.io>"
+RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-setuptools = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-six = "Derek Straka <derek@asterius.io>"
RECIPE_MAINTAINER_pn-python3-smmap = "Derek Straka <derek@asterius.io>"
@@ -644,7 +654,6 @@ RECIPE_MAINTAINER_pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.c
RECIPE_MAINTAINER_pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-source-highlight = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-speex = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-speexdsp = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -722,6 +731,7 @@ RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-wireless-regdb = "Adrian Bunk <bunk@kernel.org>"
RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-x11perf = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-x264 = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index ec7ed6fa4..0dc085091 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -24,6 +24,7 @@ PTESTS_FAST = "\
kbd-ptest \
libconvert-asn1-perl-ptest \
liberror-perl-ptest \
+ libmodule-build-perl-ptest \
libpcre-ptest \
libtimedate-perl-ptest \
libtest-needs-perl-ptest \
@@ -65,6 +66,7 @@ PTESTS_SLOW = "\
gstreamer1.0-ptest \
libevent-ptest \
lttng-tools-ptest \
+ mdadm-ptest \
openssh-ptest \
openssl-ptest \
perl-ptest \
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 668f31324..32176dae4 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -18,10 +18,10 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
-GCCVERSION ?= "8.%"
+GCCVERSION ?= "9.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.32%"
-GDBVERSION ?= "8.2%"
+GDBVERSION ?= "8.3%"
GLIBCVERSION ?= "2.29%"
LINUXLIBCVERSION ?= "5.0%"
QEMUVERSION ?= "4.0%"
diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc
index 59ccd6931..df2434685 100644
--- a/poky/meta/conf/distro/include/yocto-uninative.inc
+++ b/poky/meta/conf/distro/include/yocto-uninative.inc
@@ -8,7 +8,7 @@
UNINATIVE_MAXGLIBCVERSION = "2.29"
-UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.4/"
-UNINATIVE_CHECKSUM[aarch64] ?= "af2e2faf6cf00ff45cc1bcd5e3fb00cee7f79b3ec7c3be15917ad4ff8c154cfe"
-UNINATIVE_CHECKSUM[i686] ?= "fafacfc537a6ce2bd122bd16c146881ab5ac69bd575abf6cb68a0dd33fa70ea2"
-UNINATIVE_CHECKSUM[x86_64] ?= "06f91685b782f2ccfedf3070b3ba0fe4a5ba2f0766dad5c9d1642dccf95accd0"
+UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.6/"
+UNINATIVE_CHECKSUM[aarch64] ?= "a37118fc8b423f48146120707b81dd15017512c3e8ef9e6ca2cb3a033f4f4046"
+UNINATIVE_CHECKSUM[i686] ?= "3234fc3ded810225071f23a0e9a99f4f8c2480059945a848eff076ce78122ade"
+UNINATIVE_CHECKSUM[x86_64] ?= "133387753a9acf3e1b788103c59fac91e968e2ee331d7a4b9498e926ada7be57"
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index 6590e8070..5ecb93651 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -77,6 +77,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
weston-init->weston \
weston-init->kbd \
connman->xl2tpd \
+ lttng-tools->lttng-modules \
"
# Avoid adding bison-native to the sysroot without a specific
diff --git a/poky/meta/conf/machine/include/riscv/arch-riscv.inc b/poky/meta/conf/machine/include/riscv/arch-riscv.inc
new file mode 100644
index 000000000..19f8f3e21
--- /dev/null
+++ b/poky/meta/conf/machine/include/riscv/arch-riscv.inc
@@ -0,0 +1,10 @@
+# RISCV Architecture definition
+
+DEFAULTTUNE ?= "riscv64"
+
+TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}"
+TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
+TUNE_CCARGS .= ""
+
+# QEMU usermode fails with invalid instruction error (For riscv32)
+MACHINE_FEATURES_BACKFILL_CONSIDERED_append = "${@bb.utils.contains('TUNE_FEATURES', 'riscv32', ' qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
new file mode 100644
index 000000000..84d09fa78
--- /dev/null
+++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -0,0 +1,50 @@
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/riscv/tune-riscv.inc
+
+MACHINE_FEATURES = "screen keyboard ext2 ext3 serial"
+
+KERNEL_IMAGETYPE = "Image"
+KERNEL_IMAGETYPES += "uImage"
+KEEPUIMAGE = "no"
+
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
+
+IMAGE_FSTYPES_append = " ext4"
+
+MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
+
+EXTRA_IMAGEDEPENDS += "opensbi"
+RISCV_SBI_PLAT ?= "qemu/virt"
+RISCV_SBI_PAYLOAD ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin"
+
+UBOOT_ENTRYPOINT_riscv32 = "0x80400000"
+UBOOT_ENTRYPOINT_riscv64 = "0x80200000"
+
+# qemuboot options
+QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
+QB_MEM = "-m 512"
+QB_MACHINE = "-machine virt"
+QB_DEFAULT_KERNEL = "fw_jump.elf"
+QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
+QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
+QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
+QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
+QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
+QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
+
+BAD_RECOMMENDATIONS += "\
+ libcxx-dev \
+ libcxx-staticdev \
+ compiler-rt-dev \
+ compiler-rt-staticdev \
+"
+
+ASSUME_PROVIDED += "\
+ libcxx-dev \
+ libcxx-staticdev \
+ compiler-rt-dev \
+ compiler-rt-staticdev \
+"
diff --git a/poky/meta/conf/machine/include/riscv/tune-riscv.inc b/poky/meta/conf/machine/include/riscv/tune-riscv.inc
new file mode 100644
index 000000000..1e3a1081e
--- /dev/null
+++ b/poky/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -0,0 +1,19 @@
+require conf/machine/include/riscv/arch-riscv.inc
+
+TUNEVALID[riscv64] = "Enable 64-bit RISC-V optimizations"
+TUNEVALID[riscv32] = "Enable 32-bit RISC-V optimizations"
+
+TUNEVALID[littleendian] = "Little endian mode"
+
+AVAILTUNES += "riscv64 riscv32"
+
+TUNE_FEATURES_tune-riscv64 = "riscv64 littleendian"
+TUNE_ARCH_tune-riscv64 = "riscv64"
+TUNE_PKGARCH_tune-riscv64 = "riscv64"
+PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64"
+
+TUNE_FEATURES_tune-riscv32 = "riscv32 littleendian"
+TUNE_ARCH_tune-riscv32 = "riscv32"
+TUNE_PKGARCH_tune-riscv32 = "riscv32"
+PACKAGE_EXTRA_ARCHS_tune-riscv32 = "riscv32"
+
diff --git a/poky/meta/conf/machine/include/tune-thunderx.inc b/poky/meta/conf/machine/include/tune-thunderx.inc
index 92adf2df1..aa4d0501d 100644
--- a/poky/meta/conf/machine/include/tune-thunderx.inc
+++ b/poky/meta/conf/machine/include/tune-thunderx.inc
@@ -15,5 +15,5 @@ TUNE_FEATURES_tune-thunderx_be = "${TUNE_FEATURES_tune-thunderx} bigendian"
BASE_LIB_tune-thunderx = "lib64"
BASE_LIB_tune-thunderx_be = "lib64"
-PACKAGE_EXTRA_ARCHS_tune-thunderx = "armv8a-crc-crypto thunderx"
+PACKAGE_EXTRA_ARCHS_tune-thunderx = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} thunderx"
PACKAGE_EXTRA_ARCHS_tune-thunderx_be = "aarch64_be thunderx_be"
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index 5c8aac151..353ac927d 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -14,6 +14,7 @@ QB_SYSTEM_NAME = "qemu-system-aarch64"
QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a57"
+QB_CPU_KVM = "-cpu host"
# Standard Serial console
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
diff --git a/poky/meta/conf/machine/qemuriscv64.conf b/poky/meta/conf/machine/qemuriscv64.conf
new file mode 100644
index 000000000..dba8f09e9
--- /dev/null
+++ b/poky/meta/conf/machine/qemuriscv64.conf
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME: generic riscv64 machine
+#@DESCRIPTION: Machine configuration for running a generic riscv64
+
+require conf/machine/include/riscv/qemuriscv.inc
+
+QB_OPT_APPEND += "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80200000"
+
+EXTRA_IMAGEDEPENDS += "u-boot"
+UBOOT_MACHINE = "qemu-riscv64_defconfig"
+UBOOT_ELF = "u-boot"
diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py
index a95d2ba34..2fd8c3b1a 100644
--- a/poky/meta/lib/oe/gpg_sign.py
+++ b/poky/meta/lib/oe/gpg_sign.py
@@ -15,21 +15,27 @@ class LocalSigner(object):
def __init__(self, d):
self.gpg_bin = d.getVar('GPG_BIN') or \
bb.utils.which(os.getenv('PATH'), 'gpg')
+ self.gpg_cmd = [self.gpg_bin]
+ self.gpg_agent_bin = bb.utils.which(os.getenv('PATH'), "gpg-agent")
+ # Without this we see "Cannot allocate memory" errors when running processes in parallel
+ # It needs to be set for any gpg command since any agent launched can stick around in memory
+ # and this parameter must be set.
+ if self.gpg_agent_bin:
+ self.gpg_cmd += ["--agent-program=%s|--auto-expand-secmem" % (self.gpg_agent_bin)]
self.gpg_path = d.getVar('GPG_PATH')
- self.gpg_version = self.get_gpg_version()
self.rpm_bin = bb.utils.which(os.getenv('PATH'), "rpmsign")
- self.gpg_agent_bin = bb.utils.which(os.getenv('PATH'), "gpg-agent")
+ self.gpg_version = self.get_gpg_version()
+
def export_pubkey(self, output_file, keyid, armor=True):
"""Export GPG public key to a file"""
- cmd = '%s --no-permission-warning --batch --yes --export -o %s ' % \
- (self.gpg_bin, output_file)
+ cmd = self.gpg_cmd + ["--no-permission-warning", "--batch", "--yes", "--export", "-o", output_file]
if self.gpg_path:
- cmd += "--homedir %s " % self.gpg_path
+ cmd += ["--homedir", self.gpg_path]
if armor:
- cmd += "--armor "
- cmd += keyid
- subprocess.check_output(shlex.split(cmd), stderr=subprocess.STDOUT)
+ cmd += ["--armor"]
+ cmd += [keyid]
+ subprocess.check_output(cmd, stderr=subprocess.STDOUT)
def sign_rpms(self, files, keyid, passphrase, digest, sign_chunk, fsk=None, fsk_password=None):
"""Sign RPM files"""
@@ -59,7 +65,7 @@ class LocalSigner(object):
if passphrase_file and passphrase:
raise Exception("You should use either passphrase_file of passphrase, not both")
- cmd = [self.gpg_bin, '--detach-sign', '--no-permission-warning', '--batch',
+ cmd = self.gpg_cmd + ['--detach-sign', '--no-permission-warning', '--batch',
'--no-tty', '--yes', '--passphrase-fd', '0', '-u', keyid]
if self.gpg_path:
@@ -72,9 +78,6 @@ class LocalSigner(object):
if self.gpg_version > (2,1,):
cmd += ['--pinentry-mode', 'loopback']
- if self.gpg_agent_bin:
- cmd += ["--agent-program=%s|--auto-expand-secmem" % (self.gpg_agent_bin)]
-
cmd += [input_file]
try:
@@ -101,7 +104,8 @@ class LocalSigner(object):
def get_gpg_version(self):
"""Return the gpg version as a tuple of ints"""
try:
- ver_str = subprocess.check_output((self.gpg_bin, "--version", "--no-permission-warning")).split()[2].decode("utf-8")
+ cmd = self.gpg_cmd + ["--version", "--no-permission-warning"]
+ ver_str = subprocess.check_output(cmd).split()[2].decode("utf-8")
return tuple([int(i) for i in ver_str.split("-")[0].split('.')])
except subprocess.CalledProcessError as e:
raise bb.build.FuncFailed("Could not get gpg version: %s" % e)
@@ -109,11 +113,12 @@ class LocalSigner(object):
def verify(self, sig_file):
"""Verify signature"""
- cmd = self.gpg_bin + " --verify --no-permission-warning "
+ cmd = self.gpg_cmd + [" --verify", "--no-permission-warning"]
if self.gpg_path:
- cmd += "--homedir %s " % self.gpg_path
- cmd += sig_file
- status = subprocess.call(shlex.split(cmd))
+ cmd += ["--homedir", self.gpg_path]
+
+ cmd += [sig_file]
+ status = subprocess.call(cmd)
ret = False if status else True
return ret
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index 1e5b9a49f..630ae967a 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -934,7 +934,7 @@ def get_recipe_pv_without_srcpv(pv, uri_type):
sfx = ''
if uri_type == 'git':
- git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>[^\+]*)((?P<sfx>\+(git)?r?(AUTOINC\+))(?P<rev>.*))?")
+ git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>.*?)(?P<sfx>\+[^\+]*(git)?r?(AUTOINC\+))(?P<rev>.*)")
m = git_regex.match(pv)
if m:
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 9358f562c..c62fa5f54 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -647,6 +647,7 @@ class DpkgRootfs(DpkgOpkgRootfs):
if pkg_type in pkgs_to_install:
self.pm.install(pkgs_to_install[pkg_type],
[False, True][pkg_type == Manifest.PKG_TYPE_ATTEMPT_ONLY])
+ self.pm.fix_broken_dependencies()
if self.progress_reporter:
# Don't support attemptonly, so skip that
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index 417943db9..13af16e47 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -155,7 +155,7 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
else:
def get_mc(tid):
tid = tid.rsplit('.', 1)[0]
- if tid.startswith('multiconfig:'):
+ if tid.startswith('mc:'):
elems = tid.split(':')
return elems[1]
def recipename_from_dep(dep):
diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py
index 54977c809..aca144e9d 100644
--- a/poky/meta/lib/oeqa/core/case.py
+++ b/poky/meta/lib/oeqa/core/case.py
@@ -32,6 +32,8 @@ class OETestCase(unittest.TestCase):
@classmethod
def _oeSetUpClass(clss):
_validate_td_vars(clss.td, clss.td_vars, "class")
+ if hasattr(clss, 'setUpHooker') and callable(getattr(clss, 'setUpHooker')):
+ clss.setUpHooker()
clss.setUpClassMethod()
@classmethod
diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py
index 09627044c..68819cc33 100644
--- a/poky/meta/lib/oeqa/core/context.py
+++ b/poky/meta/lib/oeqa/core/context.py
@@ -9,6 +9,7 @@ import json
import time
import logging
import collections
+import unittest
from oeqa.core.loader import OETestLoader
from oeqa.core.runner import OETestRunner
@@ -45,10 +46,22 @@ class OETestContext(object):
def skipTests(self, skips):
if not skips:
return
+ def skipfuncgen(skipmsg):
+ def func():
+ raise unittest.SkipTest(skipmsg)
+ return func
+ class_ids = {}
for test in self.suites:
+ if test.__class__ not in class_ids:
+ class_ids[test.__class__] = '.'.join(test.id().split('.')[:-1])
for skip in skips:
- if test.id().startswith(skip):
- setattr(test, 'setUp', lambda: test.skipTest('Skip by the command line argument "%s"' % skip))
+ if (test.id()+'.').startswith(skip+'.'):
+ setattr(test, 'setUp', skipfuncgen('Skip by the command line argument "%s"' % skip))
+ for tclass in class_ids:
+ cid = class_ids[tclass]
+ for skip in skips:
+ if (cid + '.').startswith(skip + '.'):
+ setattr(tclass, 'setUpHooker', skipfuncgen('Skip by the command line argument "%s"' % skip))
def loadTests(self, module_paths, modules=[], tests=[],
modules_manifest="", modules_required=[], filters={}):
diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
index 8358793a2..bfa57c534 100644
--- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -35,7 +35,9 @@ class LogrotateTest(OERuntimeTestCase):
@OETestDepends(['logrotate.LogrotateTest.test_1_logrotate_setup'])
def test_2_logrotate(self):
- status, output = self.target.run('logrotate -f /etc/logrotate.conf')
+ status, output = self.target.run('echo "create \n include /etc/logrotate.d" > /tmp/logrotate-test.conf')
+ status, output = self.target.run('logrotate -f /tmp/logrotate-test.conf')
+
msg = ('logrotate service could not be reloaded. Status and output: '
'%s and %s' % (status, output))
self.assertEqual(status, 0, msg = msg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/scons.py b/poky/meta/lib/oeqa/runtime/cases/scons.py
new file mode 100644
index 000000000..3c7c7f727
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/scons.py
@@ -0,0 +1,37 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class SconsCompileTest(OERuntimeTestCase):
+
+ @classmethod
+ def setUp(cls):
+ dst = '/tmp/'
+ src = os.path.join(cls.tc.runtime_files_dir, 'hello.c')
+ cls.tc.target.copyTo(src, dst)
+
+ src = os.path.join(cls.tc.runtime_files_dir, 'SConstruct')
+ cls.tc.target.copyTo(src, dst)
+
+ @classmethod
+ def tearDown(cls):
+ files = '/tmp/hello.c /tmp/hello.o /tmp/hello /tmp/SConstruct'
+ cls.tc.target.run('rm %s' % files)
+
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(['gcc'])
+ @OEHasPackage(['python3-scons'])
+ def test_scons_compile(self):
+ status, output = self.target.run('cd /tmp/ && scons')
+ msg = 'scons compile failed, output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
+ status, output = self.target.run('/tmp/hello')
+ msg = 'running compiled file failed, output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
diff --git a/poky/meta/lib/oeqa/runtime/files/SConstruct b/poky/meta/lib/oeqa/runtime/files/SConstruct
new file mode 100644
index 000000000..d2cb6dd12
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/files/SConstruct
@@ -0,0 +1 @@
+Program('hello.c')
diff --git a/poky/meta/lib/oeqa/runtime/files/hello.c b/poky/meta/lib/oeqa/runtime/files/hello.c
new file mode 100644
index 000000000..b0697a330
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/files/hello.c
@@ -0,0 +1,5 @@
+int
+ main()
+ {
+ printf("Hello, world!\n");
+ }
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 434a7b9dd..904ff6988 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -393,7 +393,7 @@ class DevtoolAddTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
testver = '0.23'
- url = 'https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-%s.tar.gz' % testver
+ url = 'https://files.pythonhosted.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-%s.tar.gz' % testver
testrecipe = 'python-markupsafe'
srcdir = os.path.join(tempdir, testrecipe)
# Test devtool add
diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
new file mode 100644
index 000000000..8fb93af8a
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -0,0 +1,41 @@
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class IncompatibleLicenseTests(OESelftestTestCase):
+
+ def lic_test(self, pn, pn_lic, lic):
+ error_msg = 'ERROR: Nothing PROVIDES \'%s\'\n%s was skipped: it has an incompatible license: %s' % (pn, pn, pn_lic)
+
+ self.write_config("INCOMPATIBLE_LICENSE += \"%s\"" % (lic))
+
+ result = bitbake('%s --dry-run' % (pn), ignore_status=True)
+ if error_msg not in result.output:
+ raise AssertionError(result.output)
+
+ # Verify that a package with an SPDX license (from SRC_DISTRIBUTE_LICENSES)
+ # cannot be built when INCOMPATIBLE_LICENSE contains this SPDX license
+ def test_incompatible_spdx_license(self):
+ self.lic_test('incompatible-license', 'GPL-3.0', 'GPL-3.0')
+
+ # Verify that a package with an SPDX license (from SRC_DISTRIBUTE_LICENSES)
+ # cannot be built when INCOMPATIBLE_LICENSE contains an alias (in
+ # SPDXLICENSEMAP) of this SPDX license
+ def test_incompatible_alias_spdx_license(self):
+ self.lic_test('incompatible-license', 'GPL-3.0', 'GPLv3')
+
+ # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
+ # license cannot be built when INCOMPATIBLE_LICENSE contains this SPDX
+ # license
+ def test_incompatible_spdx_license_alias(self):
+ self.lic_test('incompatible-license-alias', 'GPLv3', 'GPL-3.0')
+
+ # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
+ # license cannot be built when INCOMPATIBLE_LICENSE contains this alias
+ def test_incompatible_alias_spdx_license_alias(self):
+ self.lic_test('incompatible-license-alias', 'GPLv3', 'GPLv3')
+
+ # Verify that a package with a non-SPDX license (neither in
+ # SRC_DISTRIBUTE_LICENSES nor in SPDXLICENSEMAP) cannot be built when
+ # INCOMPATIBLE_LICENSE contains this license
+ def test_incompatible_nonspdx_license(self):
+ self.lic_test('incompatible-nonspdx-license', 'FooLicense', 'FooLicense')
diff --git a/poky/meta/lib/oeqa/selftest/cases/manifest.py b/poky/meta/lib/oeqa/selftest/cases/manifest.py
index c0b25ab5d..5d13f3546 100644
--- a/poky/meta/lib/oeqa/selftest/cases/manifest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/manifest.py
@@ -86,11 +86,8 @@ class VerifyManifest(OESelftestTestCase):
try:
mdir = self.get_dir_from_bb_var('SDK_DEPLOY', self.buildtarget)
for k in d_target.keys():
- bb_vars = get_bb_vars(['SDK_NAME', 'SDK_VERSION'], self.buildtarget)
- mfilename[k] = "{}-toolchain-{}.{}.manifest".format(
- bb_vars['SDK_NAME'],
- bb_vars['SDK_VERSION'],
- k)
+ toolchain_outputname = get_bb_var('TOOLCHAIN_OUTPUTNAME', self.buildtarget)
+ mfilename[k] = "{}.{}.manifest".format(toolchain_outputname, k)
mpath[k] = os.path.join(mdir, mfilename[k])
if not os.path.isfile(mpath[k]):
self.logger.debug("{}: {} does not exist".format(
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index 217afe377..7770b66a2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -3,6 +3,7 @@
#
import os
+import unittest
from oeqa.selftest.case import OESelftestTestCase
from oeqa.selftest.cases.buildhistory import BuildhistoryBase
from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer
@@ -38,7 +39,7 @@ class OEScriptTests(OESelftestTestCase):
try:
import cairo
except ImportError:
- cls.skipTest('Python module cairo is not present')
+ raise unittest.SkipTest('Python module cairo is not present')
bitbake("core-image-minimal -c rootfs -f")
cls.tmpdir = get_bb_var('TMPDIR')
cls.buildstats = cls.tmpdir + "/buildstats/" + sorted(os.listdir(cls.tmpdir + "/buildstats"))[-1]
diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py
index 7a0075382..291627877 100644
--- a/poky/meta/lib/oeqa/selftest/cases/package.py
+++ b/poky/meta/lib/oeqa/selftest/cases/package.py
@@ -7,6 +7,7 @@ from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runqemu
import stat
import subprocess, os
import oe.path
+import re
class VersionOrdering(OESelftestTestCase):
# version1, version2, sort order
@@ -134,7 +135,7 @@ class PackageTests(OESelftestTestCase):
return False
# Check debugging symbols works correctly
- elif "Breakpoint 1, main () at hello.c:4" in l:
+ elif re.match("Breakpoint 1.*hello\.c.*4", l):
return True
self.logger.error("GDB result:\n%d: %s", status, output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index f1cb37b53..e3f5c7166 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -435,7 +435,45 @@ class RecipetoolTests(RecipetoolBase):
checkvars = {}
checkvars['LICENSE'] = set(['Apache-2.0'])
checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https'
- inherits = ['setuptools']
+ inherits = ['setuptools3']
+ self._test_recipe_contents(recipefile, checkvars, inherits)
+
+ def test_recipetool_create_python3_setuptools(self):
+ # Test creating python3 package from tarball (using setuptools3 class)
+ temprecipe = os.path.join(self.tempdir, 'recipe')
+ os.makedirs(temprecipe)
+ pn = 'python-magic'
+ pv = '0.4.15'
+ recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv))
+ srcuri = 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-%s.tar.gz' % pv
+ result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
+ self.assertTrue(os.path.isfile(recipefile))
+ checkvars = {}
+ checkvars['LICENSE'] = set(['MIT'])
+ checkvars['LIC_FILES_CHKSUM'] = 'file://LICENSE;md5=16a934f165e8c3245f241e77d401bb88'
+ checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-${PV}.tar.gz'
+ checkvars['SRC_URI[md5sum]'] = 'e384c95a47218f66c6501cd6dd45ff59'
+ checkvars['SRC_URI[sha256sum]'] = 'f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5'
+ inherits = ['setuptools3']
+ self._test_recipe_contents(recipefile, checkvars, inherits)
+
+ def test_recipetool_create_python3_distutils(self):
+ # Test creating python3 package from tarball (using distutils3 class)
+ temprecipe = os.path.join(self.tempdir, 'recipe')
+ os.makedirs(temprecipe)
+ pn = 'docutils'
+ pv = '0.14'
+ recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv))
+ srcuri = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-%s.tar.gz' % pv
+ result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
+ self.assertTrue(os.path.isfile(recipefile))
+ checkvars = {}
+ checkvars['LICENSE'] = set(['PSF', '&', 'BSD', 'GPL'])
+ checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING.txt;md5=35a23d42b615470583563132872c97d6'
+ checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-${PV}.tar.gz'
+ checkvars['SRC_URI[md5sum]'] = 'c53768d63db3873b7d452833553469de'
+ checkvars['SRC_URI[sha256sum]'] = '51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274'
+ inherits = ['distutils3']
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_github_tarball(self):
@@ -450,7 +488,7 @@ class RecipetoolTests(RecipetoolBase):
checkvars = {}
checkvars['LICENSE'] = set(['Apache-2.0'])
checkvars['SRC_URI'] = 'https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz'
- inherits = ['setuptools']
+ inherits = ['setuptools3']
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_git_http(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
new file mode 100644
index 000000000..6dc83d284
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -0,0 +1,160 @@
+#
+# SPDX-License-Identifier: MIT
+#
+# Copyright 2019 by Garmin Ltd. or its subsidiaries
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
+import functools
+import multiprocessing
+import textwrap
+import unittest
+
+MISSING = 'MISSING'
+DIFFERENT = 'DIFFERENT'
+SAME = 'SAME'
+
+@functools.total_ordering
+class CompareResult(object):
+ def __init__(self):
+ self.reference = None
+ self.test = None
+ self.status = 'UNKNOWN'
+
+ def __eq__(self, other):
+ return (self.status, self.test) == (other.status, other.test)
+
+ def __lt__(self, other):
+ return (self.status, self.test) < (other.status, other.test)
+
+class PackageCompareResults(object):
+ def __init__(self):
+ self.total = []
+ self.missing = []
+ self.different = []
+ self.same = []
+
+ def add_result(self, r):
+ self.total.append(r)
+ if r.status == MISSING:
+ self.missing.append(r)
+ elif r.status == DIFFERENT:
+ self.different.append(r)
+ else:
+ self.same.append(r)
+
+ def sort(self):
+ self.total.sort()
+ self.missing.sort()
+ self.different.sort()
+ self.same.sort()
+
+ def __str__(self):
+ return 'same=%i different=%i missing=%i total=%i' % (len(self.same), len(self.different), len(self.missing), len(self.total))
+
+def compare_file(reference, test, diffutils_sysroot):
+ result = CompareResult()
+ result.reference = reference
+ result.test = test
+
+ if not os.path.exists(reference):
+ result.status = MISSING
+ return result
+
+ r = runCmd(['cmp', '--quiet', reference, test], native_sysroot=diffutils_sysroot, ignore_status=True)
+
+ if r.status:
+ result.status = DIFFERENT
+ return result
+
+ result.status = SAME
+ return result
+
+class ReproducibleTests(OESelftestTestCase):
+ package_classes = ['deb']
+ images = ['core-image-minimal']
+
+ def setUpLocal(self):
+ super().setUpLocal()
+ needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS']
+ bb_vars = get_bb_vars(needed_vars)
+ for v in needed_vars:
+ setattr(self, v.lower(), bb_vars[v])
+
+ if not hasattr(self.tc, "extraresults"):
+ self.tc.extraresults = {}
+ self.extras = self.tc.extraresults
+
+ self.extras.setdefault('reproducible.rawlogs', {})['log'] = ''
+
+ def append_to_log(self, msg):
+ self.extras['reproducible.rawlogs']['log'] += msg
+
+ def compare_packages(self, reference_dir, test_dir, diffutils_sysroot):
+ result = PackageCompareResults()
+
+ old_cwd = os.getcwd()
+ try:
+ file_result = {}
+ os.chdir(test_dir)
+ with multiprocessing.Pool(processes=int(self.bb_number_threads or 0)) as p:
+ for root, dirs, files in os.walk('.'):
+ async_result = []
+ for f in files:
+ reference_path = os.path.join(reference_dir, root, f)
+ test_path = os.path.join(test_dir, root, f)
+ async_result.append(p.apply_async(compare_file, (reference_path, test_path, diffutils_sysroot)))
+
+ for a in async_result:
+ result.add_result(a.get())
+
+ finally:
+ os.chdir(old_cwd)
+
+ result.sort()
+ return result
+
+ @unittest.skip("Reproducible builds do not yet pass")
+ def test_reproducible_builds(self):
+ capture_vars = ['DEPLOY_DIR_' + c.upper() for c in self.package_classes]
+
+ common_config = textwrap.dedent('''\
+ INHERIT += "reproducible_build"
+ PACKAGE_CLASSES = "%s"
+ ''') % (' '.join('package_%s' % c for c in self.package_classes))
+
+ # Do an initial build. It's acceptable for this build to use sstate
+ self.write_config(common_config)
+ vars_reference = get_bb_vars(capture_vars)
+ bitbake(' '.join(self.images))
+
+ # Build native utilities
+ bitbake("diffutils-native -c addto_recipe_sysroot")
+ diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native")
+
+ # Perform another build. This build should *not* share sstate or pull
+ # from any mirrors, but sharing a DL_DIR is fine
+ self.write_config(textwrap.dedent('''\
+ TMPDIR = "${TOPDIR}/reproducible/tmp"
+ SSTATE_DIR = "${TMPDIR}/sstate"
+ SSTATE_MIRROR = ""
+ ''') + common_config)
+ vars_test = get_bb_vars(capture_vars)
+ bitbake(' '.join(self.images))
+
+ for c in self.package_classes:
+ package_class = 'package_' + c
+
+ deploy_reference = vars_reference['DEPLOY_DIR_' + c.upper()]
+ deploy_test = vars_test['DEPLOY_DIR_' + c.upper()]
+
+ result = self.compare_packages(deploy_reference, deploy_test, diffutils_sysroot)
+
+ self.logger.info('Reproducibility summary for %s: %s' % (c, result))
+
+ self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total))
+
+ if result.missing or result.different:
+ self.fail("The following %s packages are missing or different: %s" %
+ (c, ' '.join(r.test for r in (result.missing + result.different))))
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
index 10eb9c12d..dac5c4680 100644
--- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
@@ -56,7 +56,7 @@ class ResultToolTests(OESelftestTestCase):
'test4': {'status': 'ERROR'},
'test5': {'status': 'SKIPPED'}}}
report = ResultsTextReport()
- result_report = report.get_aggregated_test_result(None, result_data)
+ result_report = report.get_aggregated_test_result(None, result_data, 'DummyMachine')
self.assertTrue(result_report['passed'] == 2, msg="Passed count not correct:%s" % result_report['passed'])
self.assertTrue(result_report['failed'] == 2, msg="Failed count not correct:%s" % result_report['failed'])
self.assertTrue(result_report['skipped'] == 1, msg="Skipped count not correct:%s" % result_report['skipped'])
diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py
index 9c710bd0f..b390f37d8 100644
--- a/poky/meta/lib/oeqa/selftest/cases/signing.py
+++ b/poky/meta/lib/oeqa/selftest/cases/signing.py
@@ -30,7 +30,8 @@ class Signing(OESelftestTestCase):
self.secret_key_path = os.path.join(self.testlayer_path, 'files', 'signing', "key.secret")
nsysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "gnupg-native")
- runCmd('gpg --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path), native_sysroot=nsysroot)
+
+ runCmd('gpg --agent-program=`which gpg-agent`\|--auto-expand-secmem --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path), native_sysroot=nsysroot)
return nsysroot + get_bb_var("bindir_native")
diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py
index cc6d18d94..b31214b1c 100644
--- a/poky/meta/lib/oeqa/utils/logparser.py
+++ b/poky/meta/lib/oeqa/utils/logparser.py
@@ -16,7 +16,7 @@ class PtestParser(object):
def parse(self, logfile):
test_regex = {}
test_regex['PASSED'] = re.compile(r"^PASS:(.+)")
- test_regex['FAILED'] = re.compile(r"^FAIL:(.+)")
+ test_regex['FAILED'] = re.compile(r"^FAIL:([^(]+)")
test_regex['SKIPPED'] = re.compile(r"^SKIP:(.+)")
section_regex = {}
@@ -69,7 +69,7 @@ class PtestParser(object):
if result:
if current_section['name'] not in self.results:
self.results[current_section['name']] = {}
- self.results[current_section['name']][result.group(1)] = t
+ self.results[current_section['name']][result.group(1).strip()] = t
return self.results, self.sections
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index fd386ef5a..c16227fc3 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -60,6 +60,7 @@ class QemuRunner:
self.runqemutime = 120
self.qemu_pidfile = 'pidfile_'+str(os.getpid())
self.host_dumper = HostDumper(dump_host_cmds, dump_dir)
+ self.monitorpipe = None
self.logger = logger
@@ -155,11 +156,11 @@ class QemuRunner:
# and analyze descendents in order to determine it.
if os.path.exists(self.qemu_pidfile):
os.remove(self.qemu_pidfile)
- self.qemuparams = 'bootparams="{0}" qemuparams="-serial tcp:127.0.0.1:{1} -pidfile {2}"'.format(bootparams, threadport, self.qemu_pidfile)
+ self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
if qemuparams:
self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
- launch_cmd += ' tcpserial=%s %s' % (self.serverport, self.qemuparams)
+ launch_cmd += ' tcpserial=%s:%s %s' % (threadport, self.serverport, self.qemuparams)
self.origchldhandler = signal.getsignal(signal.SIGCHLD)
signal.signal(signal.SIGCHLD, self.handleSIGCHLD)
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch
index 42f3a8182..42f3a8182 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/files/0001-remove-extra-decl.patch
+++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch
diff --git a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb
index 4edb2e664..0e5a81e31 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/efibootmgr/efibootmgr_17.bb
+++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb
@@ -1,28 +1,34 @@
DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager."
SUMMARY = "EFI Boot Manager"
-HOMEPAGE = "https://github.com/rhinstaller/efibootmgr"
+HOMEPAGE = "https://github.com/rhboot/efibootmgr"
SECTION = "base"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-DEPENDS = "pciutils zlib efivar"
+DEPENDS = "efivar popt"
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-SRCREV = "e067160ecef8208e1944002e5d50b275733211fb"
SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
file://0001-remove-extra-decl.patch \
"
+SRCREV = "e067160ecef8208e1944002e5d50b275733211fb"
+
S = "${WORKDIR}/git"
inherit pkgconfig
-EXTRA_OEMAKE = "'EFIDIR=/' 'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar`'"
+# The directory under the ESP that the default bootloader is found in. When
+# wic uses a subdirectory, this should use the same one too.
+EFIDIR ?= "/"
+
+EXTRA_OEMAKE += "'EFIDIR=${EFIDIR}'"
+
+CFLAGS += " -Wno-error"
-CFLAGS_append_toolchain-clang = " -Wno-error"
do_install () {
- install -D -p -m0755 ${B}/src/efibootmgr ${D}/${sbindir}/efibootmgr
+ oe_runmake install DESTDIR="${D}"
}
CLEANBROKEN = "1"
diff --git a/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch b/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch
new file mode 100644
index 000000000..50a0b1023
--- /dev/null
+++ b/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch
@@ -0,0 +1,18 @@
+Don't use -Werror because newer compilers introduce newer warnings.
+
+Upstream-Status: Inappropriate [https://github.com/rhboot/efivar/issues/131]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/gcc.specs b/gcc.specs
+index 45d43d1..1baf11a 100644
+--- a/gcc.specs
++++ b/gcc.specs
+@@ -2,7 +2,7 @@
+ + -D_GNU_SOURCE
+
+ *efivar_cpp_options:
+- -Werror -Wall -std=gnu11 -Wextra
++ -Wall -std=gnu11 -Wextra
+
+ *cpp_options:
+ + %(efivar_cpp_options)
diff --git a/poky/meta/recipes-bsp/efivar/efivar_37.bb b/poky/meta/recipes-bsp/efivar/efivar_37.bb
new file mode 100644
index 000000000..c4254c70d
--- /dev/null
+++ b/poky/meta/recipes-bsp/efivar/efivar_37.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Tools to manipulate UEFI variables"
+DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
+HOMEPAGE = "https://github.com/rhboot/efivar"
+
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+SRC_URI = "git://github.com/rhinstaller/efivar.git \
+ file://no-werror.patch"
+SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+export CCLD_FOR_BUILD = "${BUILD_CCLD}"
+
+# Upstream uses --add-needed in gcc.specs which gold doesn't support, so
+# enforce BFD.
+LDFLAGS += "-fuse-ld=bfd"
+
+do_compile_prepend() {
+ # Remove when https://github.com/rhboot/efivar/issues/130 is fixed
+ oe_runmake CFLAGS="${BUILD_CFLAGS}" -C src makeguids
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+BBCLASSEXTEND = "native"
+
+RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs"
+
+CLEANBROKEN = "1"
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index 7d8c280b3..bac2d7d41 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -60,7 +60,7 @@ BUILD_CFLAGS = ""
BUILD_CXXFLAGS = ""
BUILD_LDFLAGS = ""
-CFLAGS_append = "-Wno-error"
+CFLAGS_append = " -Wno-error"
do_configure_prepend() {
# The grub2 configure script uses variables such as TARGET_CFLAGS etc
diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch
new file mode 100644
index 000000000..5fcb3aa92
--- /dev/null
+++ b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch
@@ -0,0 +1,25 @@
+Implicit declaration compile warning fixes from Debian
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Inappropriate [upstream is dead]
+
+--- lrzsz-0.12.21.orig/lib/long-options.c
++++ lrzsz-0.12.21/lib/long-options.c
+@@ -22,6 +22,7 @@
+ #endif
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <getopt.h>
+ #include "long-options.h"
+
+--- lrzsz-0.12.21.orig/src/lsyslog.c
++++ lrzsz-0.12.21/src/lsyslog.c
+@@ -22,6 +22,7 @@
+ #ifdef ENABLE_SYSLOG
+ #include "zglobal.h"
+ #include <pwd.h>
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #endif
diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
index 002c774c6..34556b2c2 100644
--- a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
+++ b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
@@ -20,6 +20,7 @@ SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \
file://lrzsz_fix_for_automake-1.12.patch \
file://lrzsz-check-locale.h.patch \
file://cve-2018-10195.patch \
+ file://include.patch \
"
SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4"
diff --git a/poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch b/poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch
new file mode 100644
index 000000000..9c2d0eb47
--- /dev/null
+++ b/poky/meta/recipes-bsp/opensbi/files/0001-Makefile-Don-t-specify-mabi-or-march.patch
@@ -0,0 +1,38 @@
+From f5871e1f3650d6c8a032928cb5d8ca00c275c377 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Fri, 15 Feb 2019 14:57:41 -0800
+Subject: [PATCH] Makefile: Don't specify mabi or march
+
+To avoid
+ can't link double-float modules with soft-float modules
+errors when building 32-bit openSBI don't specify mabi or march.
+
+Upstream-Status: Inappropriate [Fixes a 32-bit Yocto flow bug]
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ae68f55..10851fc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -145,7 +145,6 @@ GENFLAGS += $(firmware-genflags-y)
+ CFLAGS = -g -Wall -Werror -nostdlib -fno-strict-aliasing -O2
+ CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
+ CFLAGS += -mno-save-restore -mstrict-align
+-CFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA)
+ CFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL)
+ CFLAGS += $(GENFLAGS)
+ CFLAGS += $(platform-cflags-y)
+@@ -158,7 +157,6 @@ CPPFLAGS += $(firmware-cppflags-y)
+ ASFLAGS = -g -Wall -nostdlib -D__ASSEMBLY__
+ ASFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
+ ASFLAGS += -mno-save-restore -mstrict-align
+-ASFLAGS += -mabi=$(PLATFORM_RISCV_ABI) -march=$(PLATFORM_RISCV_ISA)
+ ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL)
+ ASFLAGS += $(GENFLAGS)
+ ASFLAGS += $(platform-asflags-y)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch b/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch
new file mode 100644
index 000000000..3c846bde6
--- /dev/null
+++ b/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch
@@ -0,0 +1,128 @@
+From 508a27204cbbca0a9430236e56681e5e0d343fb9 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Fri, 8 Mar 2019 11:22:22 -0800
+Subject: [PATCH] lib: Create a sbi_ipi_data structure
+
+Create a sbi_ipi_data structure that holds unpacked IPI information. At
+the same time remove ipi_type from the sbi_scratch struct and use a
+fixed offset to access it.
+
+This structure fits in behind the sbi_scratch structure.
+
+This fixes https://github.com/riscv/opensbi/issues/81
+
+Upstream-Status: Backport [https://github.com/riscv/opensbi/commit/508a27204cbbca0a9430236e56681e5e0d343fb9]
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ firmware/fw_base.S | 1 -
+ include/sbi/sbi_scratch.h | 23 ++++++++++++++++-------
+ lib/sbi_ipi.c | 8 +++++---
+ 3 files changed, 21 insertions(+), 11 deletions(-)
+
+diff --git a/firmware/fw_base.S b/firmware/fw_base.S
+index cf2c6a0..69cfc90 100644
+--- a/firmware/fw_base.S
++++ b/firmware/fw_base.S
+@@ -183,7 +183,6 @@ _start_warm:
+ REG_S a4, SBI_SCRATCH_PLATFORM_ADDR_OFFSET(tp)
+ la a4, _hartid_to_scratch
+ REG_S a4, SBI_SCRATCH_HARTID_TO_SCRATCH_OFFSET(tp)
+- REG_S zero, SBI_SCRATCH_IPI_TYPE_OFFSET(tp)
+ REG_S zero, SBI_SCRATCH_TMP0_OFFSET(tp)
+
+ /* Setup stack */
+diff --git a/include/sbi/sbi_scratch.h b/include/sbi/sbi_scratch.h
+index 8389ef3..70ab384 100644
+--- a/include/sbi/sbi_scratch.h
++++ b/include/sbi/sbi_scratch.h
+@@ -28,17 +28,24 @@
+ #define SBI_SCRATCH_PLATFORM_ADDR_OFFSET (6 * __SIZEOF_POINTER__)
+ /** Offset of hartid_to_scratch member in sbi_scratch */
+ #define SBI_SCRATCH_HARTID_TO_SCRATCH_OFFSET (7 * __SIZEOF_POINTER__)
+-/** Offset of ipi_type member in sbi_scratch */
+-#define SBI_SCRATCH_IPI_TYPE_OFFSET (8 * __SIZEOF_POINTER__)
+ /** Offset of tmp0 member in sbi_scratch */
+-#define SBI_SCRATCH_TMP0_OFFSET (9 * __SIZEOF_POINTER__)
+-/** Maximum size of sbi_scratch */
+-#define SBI_SCRATCH_SIZE 256
++#define SBI_SCRATCH_TMP0_OFFSET (8 * __SIZEOF_POINTER__)
++
++/** sbi_ipi_data is located behind sbi_scratch. This struct is not packed. */
++/** Offset of ipi_type in sbi_ipi_data */
++#define SBI_IPI_DATA_IPI_TYPE_OFFSET (15 * __SIZEOF_POINTER__)
++
++/** Maximum size of sbi_scratch and sbi_ipi_data */
++#define SBI_SCRATCH_SIZE (32 * __SIZEOF_POINTER__)
+
+ #ifndef __ASSEMBLY__
+
+ #include <sbi/sbi_types.h>
+
++struct sbi_ipi_data {
++ unsigned long ipi_type;
++};
++
+ /** Representation of per-HART scratch space */
+ struct sbi_scratch {
+ /** Start (or base) address of firmware linked to OpenSBI library */
+@@ -57,8 +64,6 @@ struct sbi_scratch {
+ unsigned long platform_addr;
+ /** Address of HART ID to sbi_scratch conversion function */
+ unsigned long hartid_to_scratch;
+- /** IPI type (or flags) */
+- unsigned long ipi_type;
+ /** Temporary storage */
+ unsigned long tmp0;
+ } __packed;
+@@ -71,6 +76,10 @@ struct sbi_scratch {
+ #define sbi_scratch_thishart_arg1_ptr() \
+ ((void *)(sbi_scratch_thishart_ptr()->next_arg1))
+
++/** Get pointer to sbi_ipi_data from sbi_scratch */
++#define sbi_ipi_data_ptr(scratch) \
++((struct sbi_ipi_data *)(void*)scratch + SBI_IPI_DATA_IPI_TYPE_OFFSET)
++
+ #endif
+
+ #endif
+diff --git a/lib/sbi_ipi.c b/lib/sbi_ipi.c
+index 0e371d7..e0f2a19 100644
+--- a/lib/sbi_ipi.c
++++ b/lib/sbi_ipi.c
+@@ -31,7 +31,7 @@ static int sbi_ipi_send(struct sbi_scratch *scratch, u32 hartid, u32 event)
+ * trigger the interrupt
+ */
+ remote_scratch = sbi_hart_id_to_scratch(scratch, hartid);
+- atomic_raw_set_bit(event, &remote_scratch->ipi_type);
++ atomic_raw_set_bit(event, &sbi_ipi_data_ptr(remote_scratch)->ipi_type);
+ mb();
+ sbi_platform_ipi_send(plat, hartid);
+ if (event != SBI_IPI_EVENT_SOFT)
+@@ -80,7 +80,7 @@ void sbi_ipi_process(struct sbi_scratch *scratch)
+ sbi_platform_ipi_clear(plat, hartid);
+
+ do {
+- ipi_type = scratch->ipi_type;
++ ipi_type = sbi_ipi_data_ptr(scratch)->ipi_type;
+ rmb();
+ ipi_event = __ffs(ipi_type);
+ switch (ipi_event) {
+@@ -97,12 +97,14 @@ void sbi_ipi_process(struct sbi_scratch *scratch)
+ sbi_hart_hang();
+ break;
+ };
+- ipi_type = atomic_raw_clear_bit(ipi_event, &scratch->ipi_type);
++ ipi_type = atomic_raw_clear_bit(ipi_event, &sbi_ipi_data_ptr(scratch)->ipi_type);
+ } while(ipi_type > 0);
+ }
+
+ int sbi_ipi_init(struct sbi_scratch *scratch, bool cold_boot)
+ {
++ sbi_ipi_data_ptr(scratch)->ipi_type = 0x00;
++
+ /* Enable software interrupts */
+ csr_set(CSR_MIE, MIP_MSIP);
+
+--
+2.22.0
+
diff --git a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc
new file mode 100644
index 000000000..7828599ce
--- /dev/null
+++ b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc
@@ -0,0 +1,37 @@
+def riscv_get_extra_oemake_image(d):
+ sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
+ deploy_dir = d.getVar('DEPLOY_DIR_IMAGE')
+
+ if sbi_payload is None:
+ return ""
+
+ if d.getVar('RISCV_SBI_PAYLOAD'):
+ return "FW_PAYLOAD_PATH=" + deploy_dir + "/" + sbi_payload
+
+ return ""
+
+def riscv_get_extra_oemake_fdt(d):
+ sbi_fdt_payload = d.getVar('RISCV_SBI_FDT')
+ deploy_dir = d.getVar('DEPLOY_DIR_IMAGE')
+
+ if sbi_fdt_payload is None:
+ return ""
+
+ if d.getVar('RISCV_SBI_PAYLOAD'):
+ # This is internal to openSBI, not a full path
+ return "FW_PAYLOAD_FDT=" + sbi_fdt_payload
+
+ return ""
+
+def riscv_get_do_compile_depends(d):
+ sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
+
+ if sbi_payload is None:
+ return ""
+
+ if 'linux' in sbi_payload or 'Image' in sbi_payload:
+ return "virtual/kernel:do_deploy"
+ if 'u-boot.bin' in sbi_payload:
+ return "virtual/bootloader:do_deploy"
+
+ return ""
diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb
new file mode 100644
index 000000000..2b4fb97df
--- /dev/null
+++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb
@@ -0,0 +1,49 @@
+SUMMARY = "RISC-V Open Source Supervisor Binary Interface (OpenSBI)"
+DESCRIPTION = "OpenSBI aims to provide an open-source and extensible implementation of the RISC-V SBI specification for a platform specific firmware (M-mode) and a general purpose OS, hypervisor or bootloader (S-mode or HS-mode). OpenSBI implementation can be easily extended by RISC-V platform or System-on-Chip vendors to fit a particular hadware configuration."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=c36118b4f615f9da37635f2a7ac8ccaf"
+DEPENDS += "dtc-native"
+
+require opensbi-payloads.inc
+
+inherit autotools-brokensep
+
+SRCREV = "ca20ac0cd4c099006d4eea4d9ac7bd7b58e2ae0f"
+SRC_URI = "git://github.com/riscv/opensbi.git \
+ file://0001-Makefile-Don-t-specify-mabi-or-march.patch \
+ file://0002-lib-Create-a-sbi_ipi_data-structure.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+SRC_URI[md5sum] = "621f38d8205ef5fb185e4055025e73df"
+SRC_URI[sha256sum] = "07f18b73abf3b85aabe5bead19a923716c100d30eb58033459f39c3a224be300"
+
+EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D}"
+# If RISCV_SBI_PAYLOAD is set then include it as a payload
+EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_image(d)} ${@riscv_get_extra_oemake_fdt(d)}"
+
+# Required if specifying a custom payload
+do_compile[depends] += "${@riscv_get_do_compile_depends(d)}"
+
+do_install_append() {
+ # In the future these might be required as a dependency for other packages.
+ # At the moment just delete them to avoid warnings
+ rm -r ${D}/include
+ rm -r ${D}/platform/${RISCV_SBI_PLAT}/lib
+ rm -r ${D}/platform/${RISCV_SBI_PLAT}/firmware/payloads
+}
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOY_DIR_IMAGE}/
+ install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOY_DIR_IMAGE}/
+}
+
+addtask deploy after do_install
+
+FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.*"
+FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.*"
+
+COMPATIBLE_HOST = "(riscv64|riscv32).*"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch b/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch
deleted file mode 100644
index 7edff2614..000000000
--- a/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream-Status: Backport (https://github.com/gregkh/usbutils/commit/508d1acf42e1bfd470c6bf1a188574c69c20aeed)
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 1c9162a5b30550aec8fa163906067bc179291b57 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Fri, 27 Jul 2018 15:28:34 +0100
-Subject: [PATCH] usb-devices: use /bin/sh
-
-This script doesn't use any bashisms, so change the hashbang to /bin/sh.
-
-Fixes #73.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- usb-devices | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/usb-devices b/usb-devices
-index afb4217..89d1b7d 100755
---- a/usb-devices
-+++ b/usb-devices
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- # SPDX-License-Identifier: GPL-2.0+
- #
- # Copyright (c) 2009 Greg Kroah-Hartman <greg@kroah.com>
---
-2.11.0
-
diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_010.bb b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb
index e6d05b8e8..0213e7af6 100644
--- a/poky/meta/recipes-bsp/usbutils/usbutils_010.bb
+++ b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb
@@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "file://lsusb.c;endline=1;md5=7d4861d978ff5ba7cb2b319ed1d4afe
DEPENDS = "libusb1 virtual/libiconv udev"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
- file://usb-devices-avoid-dependency-on-bash.patch \
"
-SRC_URI[md5sum] = "5eb2d2d68f9ed6dc3e9659a5988f7ed6"
-SRC_URI[sha256sum] = "881ba47fb2df10c3ba54a4cd6755a90377180890788e476f99d480ea9bc8bb58"
+SRC_URI[md5sum] = "7484445cbcf04b3eacac892fe58f8d9f"
+SRC_URI[sha256sum] = "ae2e10aad530d95839b6f4d46cd41715eae6f0f1789310d793e9be21b3e7ae20"
inherit autotools pkgconfig distro_features_check update-alternatives
diff --git a/poky/meta/recipes-connectivity/avahi/avahi.inc b/poky/meta/recipes-connectivity/avahi/avahi.inc
index 8339e451f..94fe6a16b 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi.inc
+++ b/poky/meta/recipes-connectivity/avahi/avahi.inc
@@ -36,6 +36,7 @@ PACKAGECONFIG ??= "dbus ${AVAHI_GTK}"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+"
PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3"
+PACKAGECONFIG[libdns_sd] = "--enable-compat-libdns_sd --enable-dbus,,dbus"
inherit autotools pkgconfig gettext gobject-introspection
@@ -77,3 +78,9 @@ do_install() {
test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
rm -rf ${D}${libdir}/avahi
}
+
+PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "libdns_sd", "libavahi-compat-libdnssd", "", d)}"
+
+FILES_libavahi-compat-libdnssd = "${libdir}/libdns_sd.so.*"
+
+RPROVIDES_libavahi-compat-libdnssd = "libdns-sd"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index aaf2af975..8f321638c 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -6,7 +6,7 @@ LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e"
-DEPENDS = "udev dbus-glib glib-2.0"
+DEPENDS = "dbus-glib glib-2.0"
PROVIDES += "bluez-hcidump"
RPROVIDES_${PN} += "bluez-hcidump"
@@ -22,6 +22,7 @@ PACKAGECONFIG ??= "obex-profiles \
hog-profiles \
tools \
deprecated \
+ udev \
"
PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical"
PACKAGECONFIG[readline] = "--enable-client,--disable-client,readline,"
@@ -43,6 +44,7 @@ PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
PACKAGECONFIG[deprecated] = "--enable-deprecated,--disable-deprecated"
PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c ell"
PACKAGECONFIG[btpclient] = "--enable-btpclient,--disable-btpclient, ell"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
SRC_URI = "\
${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
@@ -54,6 +56,7 @@ SRC_URI = "\
file://0001-test-gatt-Fix-hung-issue.patch \
file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
file://CVE-2018-10910.patch \
+ file://gcc9-fixes.patch \
"
S = "${WORKDIR}/bluez-${PV}"
@@ -117,7 +120,10 @@ FILES_${PN}-dev += " \
FILES_${PN}-obex = "${libexecdir}/bluetooth/obexd \
${exec_prefix}/lib/systemd/user/obex.service \
+ ${systemd_system_unitdir}/obex.service \
+ ${sysconfdir}/systemd/system/multi-user.target.wants/obex.service \
${datadir}/dbus-1/services/org.bluez.obex.service \
+ ${sysconfdir}/dbus-1/system.d/obexd.conf \
"
SYSTEMD_SERVICE_${PN}-obex = "obex.service"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch
new file mode 100644
index 000000000..ca678e601
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch
@@ -0,0 +1,301 @@
+Backported commit from upstream master branch (post 5.50 release), which
+resolves assertion failures in several unit tests.
+
+https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=0be5246170
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/unit/test-avctp.c b/unit/test-avctp.c
+index 3bc3569..24de663 100644
+--- a/unit/test-avctp.c
++++ b/unit/test-avctp.c
+@@ -43,7 +43,7 @@
+
+ struct test_pdu {
+ bool valid;
+- const uint8_t *data;
++ uint8_t *data;
+ size_t size;
+ };
+
+@@ -66,7 +66,7 @@ struct context {
+ #define raw_pdu(args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -91,6 +91,11 @@ static void test_debug(const char *str, void *user_data)
+ static void test_free(gconstpointer user_data)
+ {
+ const struct test_data *data = user_data;
++ struct test_pdu *pdu;
++ int i;
++
++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
++ g_free(pdu->data);
+
+ g_free(data->test_name);
+ g_free(data->pdu_list);
+diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c
+index dd8aed7..e2c951a 100644
+--- a/unit/test-avdtp.c
++++ b/unit/test-avdtp.c
+@@ -47,7 +47,7 @@
+ struct test_pdu {
+ bool valid;
+ bool fragmented;
+- const uint8_t *data;
++ uint8_t *data;
+ size_t size;
+ };
+
+@@ -61,7 +61,7 @@ struct test_data {
+ #define raw_pdu(args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -69,7 +69,7 @@ struct test_data {
+ { \
+ .valid = true, \
+ .fragmented = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -81,7 +81,7 @@ struct test_data {
+ static struct test_data data; \
+ data.test_name = g_strdup(name); \
+ data.pdu_list = g_memdup(pdus, sizeof(pdus)); \
+- tester_add(name, &data, NULL, function, NULL); \
++ tester_add(name, &data, NULL, function, NULL); \
+ } while (0)
+
+ struct context {
+@@ -109,6 +109,11 @@ static void test_debug(const char *str, void *user_data)
+ static void test_free(gconstpointer user_data)
+ {
+ const struct test_data *data = user_data;
++ struct test_pdu *pdu;
++ int i;
++
++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
++ g_free(pdu->data);
+
+ g_free(data->test_name);
+ g_free(data->pdu_list);
+diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c
+index 01307e6..f1aa353 100644
+--- a/unit/test-avrcp.c
++++ b/unit/test-avrcp.c
+@@ -49,7 +49,7 @@ struct test_pdu {
+ bool fragmented;
+ bool continuing;
+ bool browse;
+- const uint8_t *data;
++ uint8_t *data;
+ size_t size;
+ };
+
+@@ -74,7 +74,7 @@ struct context {
+ #define raw_pdu(args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -82,7 +82,7 @@ struct context {
+ { \
+ .valid = true, \
+ .browse = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -90,7 +90,7 @@ struct context {
+ { \
+ .valid = true, \
+ .fragmented = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -98,7 +98,7 @@ struct context {
+ { \
+ .valid = true, \
+ .continuing = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -123,6 +123,11 @@ static void test_debug(const char *str, void *user_data)
+ static void test_free(gconstpointer user_data)
+ {
+ const struct test_data *data = user_data;
++ struct test_pdu *pdu;
++ int i;
++
++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
++ g_free(pdu->data);
+
+ g_free(data->test_name);
+ g_free(data->pdu_list);
+diff --git a/unit/test-gatt.c b/unit/test-gatt.c
+index c7e28f8..d49f7a0 100644
+--- a/unit/test-gatt.c
++++ b/unit/test-gatt.c
+@@ -48,7 +48,7 @@
+
+ struct test_pdu {
+ bool valid;
+- const uint8_t *data;
++ uint8_t *data;
+ size_t size;
+ };
+
+@@ -86,7 +86,7 @@ struct context {
+ #define raw_pdu(args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -306,6 +306,11 @@ static bt_uuid_t uuid_char_128 = {
+ static void test_free(gconstpointer user_data)
+ {
+ const struct test_data *data = user_data;
++ struct test_pdu *pdu;
++ int i;
++
++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
++ g_free(pdu->data);
+
+ g_free(data->test_name);
+ g_free(data->pdu_list);
+@@ -1911,6 +1916,8 @@ static void test_server(gconstpointer data)
+ g_assert_cmpint(len, ==, pdu.size);
+
+ util_hexdump('<', pdu.data, len, test_debug, "GATT: ");
++
++ g_free(pdu.data);
+ }
+
+ static void test_search_primary(gconstpointer data)
+diff --git a/unit/test-hfp.c b/unit/test-hfp.c
+index f2b9622..890eee6 100644
+--- a/unit/test-hfp.c
++++ b/unit/test-hfp.c
+@@ -43,7 +43,7 @@ struct context {
+
+ struct test_pdu {
+ bool valid;
+- const uint8_t *data;
++ uint8_t *data;
+ size_t size;
+ enum hfp_gw_cmd_type type;
+ bool fragmented;
+@@ -63,7 +63,7 @@ struct test_data {
+ #define raw_pdu(args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ }
+
+@@ -75,7 +75,7 @@ struct test_data {
+ #define type_pdu(cmd_type, args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ .type = cmd_type, \
+ }
+@@ -83,7 +83,7 @@ struct test_data {
+ #define frg_pdu(args...) \
+ { \
+ .valid = true, \
+- .data = data(args), \
++ .data = g_memdup(data(args), sizeof(data(args))), \
+ .size = sizeof(data(args)), \
+ .fragmented = true, \
+ }
+@@ -119,6 +119,11 @@ struct test_data {
+ static void test_free(gconstpointer user_data)
+ {
+ const struct test_data *data = user_data;
++ struct test_pdu *pdu;
++ int i;
++
++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
++ g_free(pdu->data);
+
+ g_free(data->test_name);
+ g_free(data->pdu_list);
+diff --git a/unit/test-hog.c b/unit/test-hog.c
+index d117968..25bdb42 100644
+--- a/unit/test-hog.c
++++ b/unit/test-hog.c
+@@ -68,11 +68,11 @@ struct context {
+
+ #define data(args...) ((const unsigned char[]) { args })
+
+-#define raw_pdu(args...) \
+-{ \
+- .valid = true, \
+- .data = data(args), \
+- .size = sizeof(data(args)),\
++#define raw_pdu(args...) \
++{ \
++ .valid = true, \
++ .data = g_memdup(data(args), sizeof(data(args))), \
++ .size = sizeof(data(args)), \
+ }
+
+ #define false_pdu() \
+diff --git a/unit/test-sdp.c b/unit/test-sdp.c
+index ac921a9..c71ee1f 100644
+--- a/unit/test-sdp.c
++++ b/unit/test-sdp.c
+@@ -59,14 +59,14 @@ struct test_data {
+ #define raw_pdu(args...) \
+ { \
+ .valid = true, \
+- .raw_data = raw_data(args), \
++ .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
+ .raw_size = sizeof(raw_data(args)), \
+ }
+
+ #define raw_pdu_cont(cont, args...) \
+ { \
+ .valid = true, \
+- .raw_data = raw_data(args), \
++ .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
+ .raw_size = sizeof(raw_data(args)), \
+ .cont_len = cont, \
+ }
+@@ -103,7 +103,7 @@ struct test_data_de {
+ #define define_test_de_attr(name, input, exp) \
+ do { \
+ static struct test_data_de data; \
+- data.input_data = input; \
++ data.input_data = g_memdup(input, sizeof(input)); \
+ data.input_size = sizeof(input); \
+ data.expected = exp; \
+ tester_add("/sdp/DE/ATTR/" name, &data, NULL, \
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch b/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch
new file mode 100644
index 000000000..30f1432cd
--- /dev/null
+++ b/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch
@@ -0,0 +1,34 @@
+From f0a8c69971b30ea7ca255bb885fdd1179fa5d298 Mon Sep 17 00:00:00 2001
+From: Nicola Lunghi <nick83ola@gmail.com>
+Date: Thu, 23 May 2019 07:55:25 +0100
+Subject: [PATCH] gweb: fix segfault with musl v1.1.21
+
+In musl > v1.1.21 freeaddrinfo() implementation changed and
+was causing a segmentation fault on recent Yocto using musl.
+
+See this commit:
+
+ https://git.musl-libc.org/cgit/musl/commit/src/network/freeaddrinfo.c?id=d1395c43c019aec6b855cf3c656bf47c8a719e7f
+
+Upstream-Status: Submitted
+---
+ gweb/gweb.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gweb/gweb.c b/gweb/gweb.c
+index 393afe0a..12fcb1d8 100644
+--- a/gweb/gweb.c
++++ b/gweb/gweb.c
+@@ -1274,7 +1274,8 @@ static bool is_ip_address(const char *host)
+ addr = NULL;
+
+ result = getaddrinfo(host, NULL, &hints, &addr);
+- freeaddrinfo(addr);
++ if(!result)
++ freeaddrinfo(addr);
+
+ return result == 0;
+ }
+--
+2.19.1
+
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.37.bb b/poky/meta/recipes-connectivity/connman/connman_1.37.bb
index 2cf904cd8..00852bf0d 100644
--- a/poky/meta/recipes-connectivity/connman/connman_1.37.bb
+++ b/poky/meta/recipes-connectivity/connman/connman_1.37.bb
@@ -3,6 +3,7 @@ require connman.inc
SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
+ file://0001-gweb-fix-segfault-with-musl-v1.1.21.patch \
file://connman \
file://no-version-scripts.patch \
"
@@ -13,3 +14,4 @@ SRC_URI[md5sum] = "75012084f14fb63a84b116e66c6e94fb"
SRC_URI[sha256sum] = "6ce29b3eb0bb16a7387bc609c39455fd13064bdcde5a4d185fab3a0c71946e16"
RRECOMMENDS_${PN} = "connman-conf"
+RCONFLICTS_${PN} = "networkmanager"
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch
deleted file mode 100644
index 6ef70ccac..000000000
--- a/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 01641d146e4e6bea954e4a4ee1f6230b822665b4 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 15 Aug 2017 15:37:49 +0800
-Subject: [PATCH 06/11] site.h: enable gentle shutdown
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
-Rebase to 4.3.6
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- includes/site.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: dhcp-4.4.1/includes/site.h
-===================================================================
---- dhcp-4.4.1.orig/includes/site.h
-+++ dhcp-4.4.1/includes/site.h
-@@ -295,7 +295,7 @@
- situations. We plan to revisit this feature and may
- make non-backwards compatible changes including the
- removal of this define. Use at your own risk. */
--/* #define ENABLE_GENTLE_SHUTDOWN */
-+#define ENABLE_GENTLE_SHUTDOWN
-
- /* Include old error codes. This is provided in case you
- are building an external program similar to omshell for
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
index 19524cb3c..275961a60 100644
--- a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
+++ b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
@@ -5,7 +5,6 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat
file://0003-link-with-lcrypto.patch \
file://0004-Fix-out-of-tree-builds.patch \
file://0005-dhcp-client-fix-invoke-dhclient-script-failed-on-Rea.patch \
- file://0006-site.h-enable-gentle-shutdown.patch \
file://0007-Add-configure-argument-to-make-the-libxml2-dependenc.patch \
file://0009-remove-dhclient-script-bash-dependency.patch \
file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
index ec1384eab..ac2e017d8 100644
--- a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -200,7 +200,7 @@ RDEPENDS_${PN}-tftpd += "xinetd"
FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet"
FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd"
-RCONFLICTS_${PN}-telnetd += "netkit-telnetd"
+RCONFLICTS_${PN}-telnetd += "netkit-telnet"
RPROVIDES_${PN}-telnetd = "telnetd"
RDEPENDS_${PN}-telnetd += "xinetd"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb
index 8f33c7fe1..6854a1300 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb
@@ -5,8 +5,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
file://0001-libc-compat.h-add-musl-workaround.patch \
"
-SRC_URI[md5sum] = "d22107b4d7cfb999eeb8ad8a0aec1124"
-SRC_URI[sha256sum] = "df047302a39650ef832c07e8dab5df7a23218cd398bd310c8628e386161d20ba"
+SRC_URI[md5sum] = "a2b8349abf4ae00e92155fda22de4d5e"
+SRC_URI[sha256sum] = "dc5a980873eabf6b00c0be976b6e5562b1400d47d1d07d2ac35d5e5acbcf7bcf"
# CFLAGS are computed in Makefile and reference CCOPTS
#
diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch
deleted file mode 100644
index f63eb90cd..000000000
--- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From bdf01a581d58eb5340e9238d143dbcac9db5b11c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Jan 2016 19:29:45 +0000
-Subject: [PATCH] check for nss.h
-
-nss.h may not available on all libc implementations, e.g. musl does not
-have this header, this patch detects nss.h presence and defines the data
-types that are required if nss.h is missing on platform
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 2 +-
- src/nss.c | 11 +++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index aa66bc6..ce19b07 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -71,7 +71,7 @@ AC_PROG_LIBTOOL
-
- # Checks for header files.
- AC_HEADER_STDC
--AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h])
-+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h nss.h])
-
- # Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
-diff --git a/src/nss.c b/src/nss.c
-index e48e315..406733b 100644
---- a/src/nss.c
-+++ b/src/nss.c
-@@ -29,7 +29,18 @@
- #include <assert.h>
- #include <netdb.h>
- #include <sys/socket.h>
-+#ifdef HAVE_NSS_H
- #include <nss.h>
-+#else
-+enum nss_status {
-+ NSS_STATUS_TRYAGAIN = -2,
-+ NSS_STATUS_UNAVAIL,
-+ NSS_STATUS_NOTFOUND,
-+ NSS_STATUS_SUCCESS,
-+ NSS_STATUS_RETURN
-+};
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
-
---
-2.7.0
-
diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
index d0eb2768d..953505971 100644
--- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
+++ b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
@@ -9,7 +9,6 @@ DEPENDS = "avahi"
PR = "r7"
SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz \
- file://0001-check-for-nss.h.patch \
"
SRC_URI[md5sum] = "03938f17646efbb50aa70ba5f99f51d7"
@@ -21,6 +20,8 @@ localstatedir = "/"
inherit autotools
+COMPATIBLE_HOST_libc-musl = 'null'
+
EXTRA_OECONF = "--libdir=${base_libdir} --disable-lynx --enable-avahi"
# suppress warning, but don't bother with autonamer
diff --git a/poky/meta/recipes-connectivity/ofono/ofono.inc b/poky/meta/recipes-connectivity/ofono/ofono.inc
index 0472414b1..e1185c6e6 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono.inc
+++ b/poky/meta/recipes-connectivity/ofono/ofono.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
inherit autotools pkgconfig update-rc.d systemd bluetooth gobject-introspection-data
-DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info"
+DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell"
INITSCRIPT_NAME = "ofono"
INITSCRIPT_PARAMS = "defaults 22"
@@ -19,7 +19,7 @@ PACKAGECONFIG ??= "\
PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}"
-EXTRA_OECONF += "--enable-test"
+EXTRA_OECONF += "--enable-test --enable-external-ell"
SYSTEMD_SERVICE_${PN} = "ofono.service"
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch
new file mode 100644
index 000000000..77073ddb1
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch
@@ -0,0 +1,50 @@
+From eeaf8dac80f15a2b7c18d1d4ee63106973a6a873 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@kernel.org>
+Date: Tue, 21 May 2019 14:13:35 +0300
+Subject: Makefile.am: Don't overwrite src_ofonod_DEPENDENCIES
+
+src_ofonod_DEPENDENCIES did overwrite the dependencies
+automatically generated from src_ofonod_LDADD with
+incomplete dependencies.
+
+This fixes the following build error:
+...
+ CCLD src/ofonod
+libtool: error: cannot find the library 'gdbus/libgdbus-internal.la' or unhandled argument 'gdbus/libgdbus-internal.la'
+make: *** [Makefile:3448: src/ofonod] Error 1
+
+Upstream-Status: Submitted
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+---
+ Makefile.am | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d2e310d5..5edc4488 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,12 +6,10 @@ noinst_LTLIBRARIES =
+ if EXTERNAL_ELL
+ ell_cflags = @ELL_CFLAGS@
+ ell_ldadd = @ELL_LIBS@
+-ell_dependencies =
+ ell_built_sources =
+ else
+ ell_cflags =
+ ell_ldadd = ell/libell-internal.la
+-ell_dependencies = $(ell_ldadd)
+ ell_built_sources = ell/internal ell/ell.h
+
+ noinst_LTLIBRARIES += ell/libell-internal.la
+@@ -729,8 +727,6 @@ src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) $(ell_ldadd) \
+ src_ofonod_LDFLAGS = -Wl,--export-dynamic \
+ -Wl,--version-script=$(srcdir)/src/ofono.ver
+
+-src_ofonod_DEPENDENCIES = $(ell_dependencies)
+-
+ BUILT_SOURCES = $(local_headers) $(ell_built_sources) src/builtin.h
+
+ CLEANFILES = $(BUILT_SOURCES) $(rules_DATA)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch
new file mode 100644
index 000000000..f9858e7f2
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch
@@ -0,0 +1,36 @@
+From 48e31f9fc3cf3c486c3d27a67b2687f6df0c5c71 Mon Sep 17 00:00:00 2001
+From: Denis Kenzior <denkenz@gmail.com>
+Date: Thu, 16 May 2019 15:10:53 -0500
+Subject: main: Quiet ld errors with external ell
+
+When oFono is built with --enable-external-ell, the compiler for some
+reason does not generate a debug section on some systems. This is due
+to the fact that l_debug is never called. However, ell also does not
+call l_debug, yet when built-in ell is used, the section is created by
+the compiler.
+
+For now work around this by adding a no-op l_debug() call in main.c.
+The real fix is to migrate all of the oFono logging functionality to use
+ell instead.
+
+Upstream-Status: Backport
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+---
+ src/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.c b/src/main.c
+index 8623a060..4529cde1 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -236,6 +236,7 @@ int main(int argc, char **argv)
+ event_loop = g_main_loop_new(NULL, FALSE);
+
+ l_log_set_stderr();
++ l_debug("");
+ l_debug_enable("*");
+ l_main_init();
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch
new file mode 100644
index 000000000..8a5a300ad
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch
@@ -0,0 +1,36 @@
+From 22b52db4842611ac31a356f023fc09595384e2ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 May 2019 18:11:22 -0700
+Subject: [PATCH] mbim: add an optional TEMP_FAILURE_RETRY macro copy
+
+Fixes build on musl which does not provide this macro
+
+Upstream-Status: Submitted [https://lists.ofono.org/pipermail/ofono/2019-May/019370.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ drivers/mbimmodem/mbim-private.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h
+index e159235..51693ea 100644
+--- a/drivers/mbimmodem/mbim-private.h
++++ b/drivers/mbimmodem/mbim-private.h
+@@ -21,6 +21,15 @@
+
+ #define align_len(len, boundary) (((len)+(boundary)-1) & ~((boundary)-1))
+
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) ({ \
++ __typeof(expression) __result; \
++ do { \
++ __result = (expression); \
++ } while (__result == -1 && errno == EINTR); \
++ __result; })
++#endif
++
+ enum mbim_control_message {
+ MBIM_OPEN_MSG = 0x1,
+ MBIM_CLOSE_MSG = 0x2,
+--
+2.21.0
+
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb
index a22b99a72..900a6d26d 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb
+++ b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb
@@ -5,6 +5,9 @@ SRC_URI = "\
file://ofono \
file://0001-build-Fix-a-race-condition.patch \
file://0001-build-Add-check-for-explicit_bzero-support.patch \
+ file://0001-main-Quiet-ld-errors-with-external-ell.patch \
+ file://0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch \
+ file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
"
SRC_URI[md5sum] = "4fa0372630ff03f223452e4d05efa8f8"
SRC_URI[sha256sum] = "67f0f8e5740dea5b46309e40667d1e560be39c90ef08dd01ff9e9ce8e61f0679"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
deleted file mode 100644
index 4c9d57442..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 5df934e2279e8ed1f07b990f4b2b3baf6470f7e5 Mon Sep 17 00:00:00 2001
-From: "dtucker@openbsd.org" <dtucker@openbsd.org>
-Date: Thu, 24 Jan 2019 16:52:17 +0000
-Subject: [PATCH] upstream: Have progressmeter force an update at the beginning
- and
-
-end of each transfer. Fixes the problem recently introduces where very quick
-transfers do not display the progressmeter at all. Spotted by naddy@
-
-OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- progressmeter.c | 13 +++++--------
- progressmeter.h | 4 ++--
- scp.c | 2 +-
- sftp-client.c | 2 +-
- 4 files changed, 9 insertions(+), 12 deletions(-)
-
-diff --git a/progressmeter.c b/progressmeter.c
-index add462d..e385c12 100644
---- a/progressmeter.c
-+++ b/progressmeter.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */
-+/* $OpenBSD: progressmeter.c,v 1.47 2019/01/24 16:52:17 dtucker Exp $ */
- /*
- * Copyright (c) 2003 Nils Nordman. All rights reserved.
- *
-@@ -59,9 +59,6 @@ static void format_rate(char *, int, off_t);
- static void sig_winch(int);
- static void setscreensize(void);
-
--/* updates the progressmeter to reflect the current state of the transfer */
--void refresh_progress_meter(void);
--
- /* signal handler for updating the progress meter */
- static void sig_alarm(int);
-
-@@ -120,7 +117,7 @@ format_size(char *buf, int size, off_t bytes)
- }
-
- void
--refresh_progress_meter(void)
-+refresh_progress_meter(int force_update)
- {
- char buf[MAX_WINSIZE + 1];
- off_t transferred;
-@@ -131,7 +128,7 @@ refresh_progress_meter(void)
- int hours, minutes, seconds;
- int file_len;
-
-- if ((!alarm_fired && !win_resized) || !can_output())
-+ if ((!force_update && !alarm_fired && !win_resized) || !can_output())
- return;
- alarm_fired = 0;
-
-@@ -254,7 +251,7 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr)
- bytes_per_second = 0;
-
- setscreensize();
-- refresh_progress_meter();
-+ refresh_progress_meter(1);
-
- signal(SIGALRM, sig_alarm);
- signal(SIGWINCH, sig_winch);
-@@ -271,7 +268,7 @@ stop_progress_meter(void)
-
- /* Ensure we complete the progress */
- if (cur_pos != end_pos)
-- refresh_progress_meter();
-+ refresh_progress_meter(1);
-
- atomicio(vwrite, STDOUT_FILENO, "\n", 1);
- }
-diff --git a/progressmeter.h b/progressmeter.h
-index 8f66780..1703ea7 100644
---- a/progressmeter.h
-+++ b/progressmeter.h
-@@ -1,4 +1,4 @@
--/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */
-+/* $OpenBSD: progressmeter.h,v 1.5 2019/01/24 16:52:17 dtucker Exp $ */
- /*
- * Copyright (c) 2002 Nils Nordman. All rights reserved.
- *
-@@ -24,5 +24,5 @@
- */
-
- void start_progress_meter(const char *, off_t, off_t *);
--void refresh_progress_meter(void);
-+void refresh_progress_meter(int);
- void stop_progress_meter(void);
-diff --git a/scp.c b/scp.c
-index 4a342a6..0587cec 100644
---- a/scp.c
-+++ b/scp.c
-@@ -585,7 +585,7 @@ scpio(void *_cnt, size_t s)
- off_t *cnt = (off_t *)_cnt;
-
- *cnt += s;
-- refresh_progress_meter();
-+ refresh_progress_meter(0);
- if (limit_kbps > 0)
- bandwidth_limit(&bwlimit, s);
- return 0;
-diff --git a/sftp-client.c b/sftp-client.c
-index 2bc698f..cf2887a 100644
---- a/sftp-client.c
-+++ b/sftp-client.c
-@@ -101,7 +101,7 @@ sftpio(void *_bwlimit, size_t amount)
- {
- struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit;
-
-- refresh_progress_meter();
-+ refresh_progress_meter(0);
- if (bwlimit != NULL)
- bandwidth_limit(bwlimit, amount);
- return 0;
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
deleted file mode 100644
index c5b3baece..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001
-From: "djm@openbsd.org" <djm@openbsd.org>
-Date: Fri, 16 Nov 2018 03:03:10 +0000
-Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer
- to the
-
-current directory; based on report/patch from Harry Sintonen
-
-OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
-
-CVE: CVE-2018-20685
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- scp.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/scp.c b/scp.c
-index 60682c6..4f3fdcd 100644
---- a/scp.c
-+++ b/scp.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */
-+/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */
- /*
- * scp - secure remote copy. This is basically patched BSD rcp which
- * uses ssh to do the data transfer (instead of using rcmd).
-@@ -1106,7 +1106,8 @@ sink(int argc, char **argv)
- SCREWUP("size out of range");
- size = (off_t)ull;
-
-- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) {
-+ if (*cp == '\0' || strchr(cp, '/') != NULL ||
-+ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) {
- run_err("error: unexpected filename: %s", cp);
- exit(1);
- }
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch
deleted file mode 100644
index dabe4a6c9..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch
+++ /dev/null
@@ -1,275 +0,0 @@
-From 15d47c3bd8551521240bc459fc004c280daef817 Mon Sep 17 00:00:00 2001
-From: "dtucker@openbsd.org" <dtucker@openbsd.org>
-Date: Wed, 23 Jan 2019 08:01:46 +0000
-Subject: [PATCH] upstream: Sanitize scp filenames via snmprintf. To do this we
- move
-
-the progressmeter formatting outside of signal handler context and have the
-atomicio callback called for EINTR too. bz#2434 with contributions from djm
-and jjelen at redhat.com, ok djm@
-
-OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
-CVE: CVE-2019-6109
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- atomicio.c | 20 +++++++++++++++-----
- progressmeter.c | 53 ++++++++++++++++++++++++-----------------------------
- progressmeter.h | 3 ++-
- scp.c | 1 +
- sftp-client.c | 16 +++++++++-------
- 5 files changed, 51 insertions(+), 42 deletions(-)
-
-diff --git a/atomicio.c b/atomicio.c
-index f854a06..d91bd76 100644
---- a/atomicio.c
-+++ b/atomicio.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */
-+/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */
- /*
- * Copyright (c) 2006 Damien Miller. All rights reserved.
- * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved.
-@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n,
- res = (f) (fd, s + pos, n - pos);
- switch (res) {
- case -1:
-- if (errno == EINTR)
-+ if (errno == EINTR) {
-+ /* possible SIGALARM, update callback */
-+ if (cb != NULL && cb(cb_arg, 0) == -1) {
-+ errno = EINTR;
-+ return pos;
-+ }
- continue;
-- if (errno == EAGAIN || errno == EWOULDBLOCK) {
-+ } else if (errno == EAGAIN || errno == EWOULDBLOCK) {
- #ifndef BROKEN_READ_COMPARISON
- (void)poll(&pfd, 1, -1);
- #endif
-@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd,
- res = (f) (fd, iov, iovcnt);
- switch (res) {
- case -1:
-- if (errno == EINTR)
-+ if (errno == EINTR) {
-+ /* possible SIGALARM, update callback */
-+ if (cb != NULL && cb(cb_arg, 0) == -1) {
-+ errno = EINTR;
-+ return pos;
-+ }
- continue;
-- if (errno == EAGAIN || errno == EWOULDBLOCK) {
-+ } else if (errno == EAGAIN || errno == EWOULDBLOCK) {
- #ifndef BROKEN_READV_COMPARISON
- (void)poll(&pfd, 1, -1);
- #endif
-diff --git a/progressmeter.c b/progressmeter.c
-index fe9bf52..add462d 100644
---- a/progressmeter.c
-+++ b/progressmeter.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */
-+/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */
- /*
- * Copyright (c) 2003 Nils Nordman. All rights reserved.
- *
-@@ -31,6 +31,7 @@
-
- #include <errno.h>
- #include <signal.h>
-+#include <stdarg.h>
- #include <stdio.h>
- #include <string.h>
- #include <time.h>
-@@ -39,6 +40,7 @@
- #include "progressmeter.h"
- #include "atomicio.h"
- #include "misc.h"
-+#include "utf8.h"
-
- #define DEFAULT_WINSIZE 80
- #define MAX_WINSIZE 512
-@@ -61,7 +63,7 @@ static void setscreensize(void);
- void refresh_progress_meter(void);
-
- /* signal handler for updating the progress meter */
--static void update_progress_meter(int);
-+static void sig_alarm(int);
-
- static double start; /* start progress */
- static double last_update; /* last progress update */
-@@ -74,6 +76,7 @@ static long stalled; /* how long we have been stalled */
- static int bytes_per_second; /* current speed in bytes per second */
- static int win_size; /* terminal window size */
- static volatile sig_atomic_t win_resized; /* for window resizing */
-+static volatile sig_atomic_t alarm_fired;
-
- /* units for format_size */
- static const char unit[] = " KMGT";
-@@ -126,9 +129,17 @@ refresh_progress_meter(void)
- off_t bytes_left;
- int cur_speed;
- int hours, minutes, seconds;
-- int i, len;
- int file_len;
-
-+ if ((!alarm_fired && !win_resized) || !can_output())
-+ return;
-+ alarm_fired = 0;
-+
-+ if (win_resized) {
-+ setscreensize();
-+ win_resized = 0;
-+ }
-+
- transferred = *counter - (cur_pos ? cur_pos : start_pos);
- cur_pos = *counter;
- now = monotime_double();
-@@ -158,16 +169,11 @@ refresh_progress_meter(void)
-
- /* filename */
- buf[0] = '\0';
-- file_len = win_size - 35;
-+ file_len = win_size - 36;
- if (file_len > 0) {
-- len = snprintf(buf, file_len + 1, "\r%s", file);
-- if (len < 0)
-- len = 0;
-- if (len >= file_len + 1)
-- len = file_len;
-- for (i = len; i < file_len; i++)
-- buf[i] = ' ';
-- buf[file_len] = '\0';
-+ buf[0] = '\r';
-+ snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s",
-+ file_len * -1, file);
- }
-
- /* percent of transfer done */
-@@ -228,22 +234,11 @@ refresh_progress_meter(void)
-
- /*ARGSUSED*/
- static void
--update_progress_meter(int ignore)
-+sig_alarm(int ignore)
- {
-- int save_errno;
--
-- save_errno = errno;
--
-- if (win_resized) {
-- setscreensize();
-- win_resized = 0;
-- }
-- if (can_output())
-- refresh_progress_meter();
--
-- signal(SIGALRM, update_progress_meter);
-+ signal(SIGALRM, sig_alarm);
-+ alarm_fired = 1;
- alarm(UPDATE_INTERVAL);
-- errno = save_errno;
- }
-
- void
-@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr)
- bytes_per_second = 0;
-
- setscreensize();
-- if (can_output())
-- refresh_progress_meter();
-+ refresh_progress_meter();
-
-- signal(SIGALRM, update_progress_meter);
-+ signal(SIGALRM, sig_alarm);
- signal(SIGWINCH, sig_winch);
- alarm(UPDATE_INTERVAL);
- }
-@@ -286,6 +280,7 @@ stop_progress_meter(void)
- static void
- sig_winch(int sig)
- {
-+ signal(SIGWINCH, sig_winch);
- win_resized = 1;
- }
-
-diff --git a/progressmeter.h b/progressmeter.h
-index bf179dc..8f66780 100644
---- a/progressmeter.h
-+++ b/progressmeter.h
-@@ -1,4 +1,4 @@
--/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */
-+/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */
- /*
- * Copyright (c) 2002 Nils Nordman. All rights reserved.
- *
-@@ -24,4 +24,5 @@
- */
-
- void start_progress_meter(const char *, off_t, off_t *);
-+void refresh_progress_meter(void);
- void stop_progress_meter(void);
-diff --git a/scp.c b/scp.c
-index 4f3fdcd..4a342a6 100644
---- a/scp.c
-+++ b/scp.c
-@@ -585,6 +585,7 @@ scpio(void *_cnt, size_t s)
- off_t *cnt = (off_t *)_cnt;
-
- *cnt += s;
-+ refresh_progress_meter();
- if (limit_kbps > 0)
- bandwidth_limit(&bwlimit, s);
- return 0;
-diff --git a/sftp-client.c b/sftp-client.c
-index 4986d6d..2bc698f 100644
---- a/sftp-client.c
-+++ b/sftp-client.c
-@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount)
- {
- struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit;
-
-- bandwidth_limit(bwlimit, amount);
-+ refresh_progress_meter();
-+ if (bwlimit != NULL)
-+ bandwidth_limit(bwlimit, amount);
- return 0;
- }
-
-@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m)
- iov[1].iov_base = (u_char *)sshbuf_ptr(m);
- iov[1].iov_len = sshbuf_len(m);
-
-- if (atomiciov6(writev, conn->fd_out, iov, 2,
-- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) !=
-+ if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio,
-+ conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) !=
- sshbuf_len(m) + sizeof(mlen))
- fatal("Couldn't send packet: %s", strerror(errno));
-
-@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
-
- if ((r = sshbuf_reserve(m, 4, &p)) != 0)
- fatal("%s: buffer error: %s", __func__, ssh_err(r));
-- if (atomicio6(read, conn->fd_in, p, 4,
-- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) {
-+ if (atomicio6(read, conn->fd_in, p, 4, sftpio,
-+ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) {
- if (errno == EPIPE || errno == ECONNRESET)
- fatal("Connection closed");
- else
-@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
-
- if ((r = sshbuf_reserve(m, msg_len, &p)) != 0)
- fatal("%s: buffer error: %s", __func__, ssh_err(r));
-- if (atomicio6(read, conn->fd_in, p, msg_len,
-- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in)
-+ if (atomicio6(read, conn->fd_in, p, msg_len, sftpio,
-+ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL)
- != msg_len) {
- if (errno == EPIPE)
- fatal("Connection closed");
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
deleted file mode 100644
index e498da381..000000000
--- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From 15cc3497367d2e9729353b3df75518548e845c82 Mon Sep 17 00:00:00 2001
-From: "djm@openbsd.org" <djm@openbsd.org>
-Date: Sat, 26 Jan 2019 22:41:28 +0000
-Subject: [PATCH] upstream: check in scp client that filenames sent during
-
-remote->local directory copies satisfy the wildcard specified by the user.
-
-This checking provides some protection against a malicious server
-sending unexpected filenames, but it comes at a risk of rejecting wanted
-files due to differences between client and server wildcard expansion rules.
-
-For this reason, this also adds a new -T flag to disable the check.
-
-reported by Harry Sintonen
-fix approach suggested by markus@;
-has been in snaps for ~1wk courtesy deraadt@
-
-OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
-
-CVE: CVE-2019-6111
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- scp.1 | 12 +++++++++++-
- scp.c | 37 +++++++++++++++++++++++++++++--------
- 2 files changed, 40 insertions(+), 9 deletions(-)
-
-diff --git a/scp.1 b/scp.1
-index 0e5cc1b..397e770 100644
---- a/scp.1
-+++ b/scp.1
-@@ -18,7 +18,7 @@
- .Nd secure copy (remote file copy program)
- .Sh SYNOPSIS
- .Nm scp
--.Op Fl 346BCpqrv
-+.Op Fl 346BCpqrTv
- .Op Fl c Ar cipher
- .Op Fl F Ar ssh_config
- .Op Fl i Ar identity_file
-@@ -208,6 +208,16 @@ to use for the encrypted connection.
- The program must understand
- .Xr ssh 1
- options.
-+.It Fl T
-+Disable strict filename checking.
-+By default when copying files from a remote host to a local directory
-+.Nm
-+checks that the received filenames match those requested on the command-line
-+to prevent the remote end from sending unexpected or unwanted files.
-+Because of differences in how various operating systems and shells interpret
-+filename wildcards, these checks may cause wanted files to be rejected.
-+This option disables these checks at the expense of fully trusting that
-+the server will not send unexpected filenames.
- .It Fl v
- Verbose mode.
- Causes
-diff --git a/scp.c b/scp.c
-index 0587cec..b2d331e 100644
---- a/scp.c
-+++ b/scp.c
-@@ -94,6 +94,7 @@
- #include <dirent.h>
- #include <errno.h>
- #include <fcntl.h>
-+#include <fnmatch.h>
- #include <limits.h>
- #include <locale.h>
- #include <pwd.h>
-@@ -375,14 +376,14 @@ void verifydir(char *);
- struct passwd *pwd;
- uid_t userid;
- int errs, remin, remout;
--int pflag, iamremote, iamrecursive, targetshouldbedirectory;
-+int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory;
-
- #define CMDNEEDS 64
- char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */
-
- int response(void);
- void rsource(char *, struct stat *);
--void sink(int, char *[]);
-+void sink(int, char *[], const char *);
- void source(int, char *[]);
- void tolocal(int, char *[]);
- void toremote(int, char *[]);
-@@ -421,8 +422,9 @@ main(int argc, char **argv)
- addargs(&args, "-oRemoteCommand=none");
- addargs(&args, "-oRequestTTY=no");
-
-- fflag = tflag = 0;
-- while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1)
-+ fflag = Tflag = tflag = 0;
-+ while ((ch = getopt(argc, argv,
-+ "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) {
- switch (ch) {
- /* User-visible flags. */
- case '1':
-@@ -501,9 +503,13 @@ main(int argc, char **argv)
- setmode(0, O_BINARY);
- #endif
- break;
-+ case 'T':
-+ Tflag = 1;
-+ break;
- default:
- usage();
- }
-+ }
- argc -= optind;
- argv += optind;
-
-@@ -534,7 +540,7 @@ main(int argc, char **argv)
- }
- if (tflag) {
- /* Receive data. */
-- sink(argc, argv);
-+ sink(argc, argv, NULL);
- exit(errs != 0);
- }
- if (argc < 2)
-@@ -792,7 +798,7 @@ tolocal(int argc, char **argv)
- continue;
- }
- free(bp);
-- sink(1, argv + argc - 1);
-+ sink(1, argv + argc - 1, src);
- (void) close(remin);
- remin = remout = -1;
- }
-@@ -968,7 +974,7 @@ rsource(char *name, struct stat *statp)
- (sizeof(type) != 4 && sizeof(type) != 8))
-
- void
--sink(int argc, char **argv)
-+sink(int argc, char **argv, const char *src)
- {
- static BUF buffer;
- struct stat stb;
-@@ -984,6 +990,7 @@ sink(int argc, char **argv)
- unsigned long long ull;
- int setimes, targisdir, wrerrno = 0;
- char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048];
-+ char *src_copy = NULL, *restrict_pattern = NULL;
- struct timeval tv[2];
-
- #define atime tv[0]
-@@ -1008,6 +1015,17 @@ sink(int argc, char **argv)
- (void) atomicio(vwrite, remout, "", 1);
- if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode))
- targisdir = 1;
-+ if (src != NULL && !iamrecursive && !Tflag) {
-+ /*
-+ * Prepare to try to restrict incoming filenames to match
-+ * the requested destination file glob.
-+ */
-+ if ((src_copy = strdup(src)) == NULL)
-+ fatal("strdup failed");
-+ if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) {
-+ *restrict_pattern++ = '\0';
-+ }
-+ }
- for (first = 1;; first = 0) {
- cp = buf;
- if (atomicio(read, remin, cp, 1) != 1)
-@@ -1112,6 +1130,9 @@ sink(int argc, char **argv)
- run_err("error: unexpected filename: %s", cp);
- exit(1);
- }
-+ if (restrict_pattern != NULL &&
-+ fnmatch(restrict_pattern, cp, 0) != 0)
-+ SCREWUP("filename does not match request");
- if (targisdir) {
- static char *namebuf;
- static size_t cursize;
-@@ -1149,7 +1170,7 @@ sink(int argc, char **argv)
- goto bad;
- }
- vect[0] = xstrdup(np);
-- sink(1, vect);
-+ sink(1, vect, src);
- if (setimes) {
- setimes = 0;
- if (utimes(vect[0], tv) < 0)
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch b/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch
index 7e043a2db..20036da93 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch
+++ b/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch
@@ -11,14 +11,17 @@ would lead to program abort.
Upstream-Status: Submitted [http://bugzilla.mindrot.org/show_bug.cgi?id=2608]
Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
+
+Complete the fix
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- openbsd-compat/strlcat.c | 8 ++++++--
- openbsd-compat/strlcpy.c | 8 ++++++--
- openbsd-compat/strnlen.c | 8 ++++++--
- 3 files changed, 18 insertions(+), 6 deletions(-)
+ openbsd-compat/strlcat.c | 10 +++++++---
+ openbsd-compat/strlcpy.c | 8 ++++++--
+ openbsd-compat/strnlen.c | 8 ++++++--
+ 3 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/openbsd-compat/strlcat.c b/openbsd-compat/strlcat.c
-index bcc1b61..e758ebf 100644
+index bcc1b61..124e1e3 100644
--- a/openbsd-compat/strlcat.c
+++ b/openbsd-compat/strlcat.c
@@ -23,6 +23,7 @@
@@ -29,6 +32,15 @@ index bcc1b61..e758ebf 100644
/*
* Appends src to string dst of size siz (unlike strncat, siz is the
+@@ -42,7 +43,7 @@ strlcat(char *dst, const char *src, size_t siz)
+ /* Find the end of dst and adjust bytes left but don't go past end */
+ while (n-- != 0 && *d != '\0')
+ d++;
+- dlen = d - dst;
++ dlen = (uintptr_t)d - (uintptr_t)dst;
+ n = siz - dlen;
+
+ if (n == 0)
@@ -55,8 +56,11 @@ strlcat(char *dst, const char *src, size_t siz)
s++;
}
@@ -70,7 +82,7 @@ index b4b1b60..b06f374 100644
#endif /* !HAVE_STRLCPY */
diff --git a/openbsd-compat/strnlen.c b/openbsd-compat/strnlen.c
-index 93d5155..9b8de5d 100644
+index 7ad3573..7040f1f 100644
--- a/openbsd-compat/strnlen.c
+++ b/openbsd-compat/strnlen.c
@@ -23,6 +23,7 @@
@@ -95,5 +107,5 @@ index 93d5155..9b8de5d 100644
}
#endif
--
-1.9.1
+2.17.1
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb
index 3b4ed7223..35cdf71eb 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb
@@ -8,7 +8,7 @@ SECTION = "console/network"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"
-DEPENDS = "zlib openssl"
+DEPENDS = "zlib openssl virtual/crypt"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
@@ -24,13 +24,9 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
file://sshd_check_keys \
file://add-test-support-for-busybox.patch \
- file://CVE-2018-20685.patch \
- file://CVE-2019-6109.patch \
- file://0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch \
- file://CVE-2019-6111.patch \
"
-SRC_URI[md5sum] = "c6af50b7a474d04726a5aa747a5dce8f"
-SRC_URI[sha256sum] = "6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad"
+SRC_URI[md5sum] = "bf050f002fe510e1daecd39044e1122d"
+SRC_URI[sha256sum] = "bd943879e69498e8031eb6b7f44d08cdc37d59a7ab689aa0b437320c3481fd68"
PAM_SRC_URI = "file://sshd"
@@ -149,7 +145,8 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools"
-RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed"
+# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies
+RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils"
RPROVIDES_${PN}-ssh = "ssh"
RPROVIDES_${PN}-sshd = "sshd"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch b/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch
new file mode 100644
index 000000000..9a90a68cf
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch
@@ -0,0 +1,43 @@
+From 1f8c0f2feea5cdcae0bcd9dfc78198d9e2c4cf09 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Thu, 13 Jun 2019 12:17:30 +0900
+Subject: [PATCH] Fix build error for aarch64 big endian.
+
+Modified rev to rev64, because rev only takes integer registers.
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90827
+Otherwise, the following error will occur.
+
+Error: operand 1 must be an integer register -- `rev v31.16b,v31.16b'
+
+Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/9151]
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ crypto/sha/asm/keccak1600-armv8.pl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crypto/sha/asm/keccak1600-armv8.pl b/crypto/sha/asm/keccak1600-armv8.pl
+index dc72f18..6620690 100755
+--- a/crypto/sha/asm/keccak1600-armv8.pl
++++ b/crypto/sha/asm/keccak1600-armv8.pl
+@@ -731,7 +731,7 @@ $code.=<<___;
+ blo .Lprocess_block_ce
+ ldr d31,[$inp],#8 // *inp++
+ #ifdef __AARCH64EB__
+- rev v31.16b,v31.16b
++ rev64 v31.16b,v31.16b
+ #endif
+ eor $A[$j/5][$j%5],$A[$j/5][$j%5],v31.16b
+ beq .Lprocess_block_ce
+@@ -740,7 +740,7 @@ ___
+ $code.=<<___;
+ ldr d31,[$inp],#8 // *inp++
+ #ifdef __AARCH64EB__
+- rev v31.16b,v31.16b
++ rev64 v31.16b,v31.16b
+ #endif
+ eor $A[4][4],$A[4][4],v31.16b
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch
deleted file mode 100644
index 900ef97fc..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Upstream-Status: Backport [https://github.com/openssl/openssl/commit/f426625b6ae9a7831010750490a5f0ad689c5ba3]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From f426625b6ae9a7831010750490a5f0ad689c5ba3 Mon Sep 17 00:00:00 2001
-From: Matt Caswell <matt@openssl.org>
-Date: Tue, 5 Mar 2019 14:39:15 +0000
-Subject: [PATCH] Prevent over long nonces in ChaCha20-Poly1305
-
-ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for
-every encryption operation. RFC 7539 specifies that the nonce value (IV)
-should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and
-front pads the nonce with 0 bytes if it is less than 12 bytes. However it
-also incorrectly allows a nonce to be set of up to 16 bytes. In this case
-only the last 12 bytes are significant and any additional leading bytes are
-ignored.
-
-It is a requirement of using this cipher that nonce values are unique.
-Messages encrypted using a reused nonce value are susceptible to serious
-confidentiality and integrity attacks. If an application changes the
-default nonce length to be longer than 12 bytes and then makes a change to
-the leading bytes of the nonce expecting the new value to be a new unique
-nonce then such an application could inadvertently encrypt messages with a
-reused nonce.
-
-Additionally the ignored bytes in a long nonce are not covered by the
-integrity guarantee of this cipher. Any application that relies on the
-integrity of these ignored leading bytes of a long nonce may be further
-affected.
-
-Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe
-because no such use sets such a long nonce value. However user
-applications that use this cipher directly and set a non-default nonce
-length to be longer than 12 bytes may be vulnerable.
-
-CVE: CVE-2019-1543
-
-Fixes #8345
-
-Reviewed-by: Paul Dale <paul.dale@oracle.com>
-Reviewed-by: Richard Levitte <levitte@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/8406)
-
-(cherry picked from commit 2a3d0ee9d59156c48973592331404471aca886d6)
----
- crypto/evp/e_chacha20_poly1305.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c
-index c1917bb86a6..d3e2c622a1b 100644
---- a/crypto/evp/e_chacha20_poly1305.c
-+++ b/crypto/evp/e_chacha20_poly1305.c
-@@ -30,6 +30,8 @@ typedef struct {
-
- #define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data)
-
-+#define CHACHA20_POLY1305_MAX_IVLEN 12
-+
- static int chacha_init_key(EVP_CIPHER_CTX *ctx,
- const unsigned char user_key[CHACHA_KEY_SIZE],
- const unsigned char iv[CHACHA_CTR_SIZE], int enc)
-@@ -533,7 +535,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,
- return 1;
-
- case EVP_CTRL_AEAD_SET_IVLEN:
-- if (arg <= 0 || arg > CHACHA_CTR_SIZE)
-+ if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN)
- return 0;
- actx->nonce_len = arg;
- return 1;
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch
index 7c4b084f3..b7c0e9697 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch
+++ b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch
@@ -18,14 +18,14 @@ index 3baa8ce..9ef52ed 100755
- ($mi2) = $mi2 =~ /(\d+)/;
- my $ver = $ma*10000 + $mi1*100 + $mi2;
- if ($ver < $minver) {
-- $disabled{afalgeng} = "too-old-kernel";
+- disable('too-old-kernel', 'afalgeng');
- } else {
- push @{$config{engdirs}}, "afalg";
- }
- } else {
-- $disabled{afalgeng} = "cross-compiling";
+- disable('cross-compiling', 'afalgeng');
- }
+ push @{$config{engdirs}}, "afalg";
} else {
- $disabled{afalgeng} = "not-linux";
+ disable('not-linux', 'afalgeng');
}
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
index 8bb3a309a..011740731 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
@@ -16,15 +16,15 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://0001-skip-test_symbol_presence.patch \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://afalg.patch \
- file://CVE-2019-1543.patch \
+ file://0001-Fix-build-error-for-aarch64-big-endian.patch \
"
SRC_URI_append_class-nativesdk = " \
file://environment.d-openssl.sh \
"
-SRC_URI[md5sum] = "4532712e7bcc9414f5bce995e4e13930"
-SRC_URI[sha256sum] = "5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b"
+SRC_URI[md5sum] = "15e21da6efe8aa0e0768ffd8cd37a5f6"
+SRC_URI[sha256sum] = "f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90"
inherit lib_package multilib_header ptest
@@ -167,8 +167,8 @@ do_install_ptest () {
cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
# For test_shlibload
- ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/libcrypto.so
- ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/libssl.so
+ ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/
+ ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/
install -d ${D}${PTEST_PATH}/apps
ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
diff --git a/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch b/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch
deleted file mode 100644
index 4bbd36766..000000000
--- a/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e6a7d96fa3675bdd3f4d7a3d7682381789eef22f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 15 Feb 2016 20:25:34 +0000
-Subject: [PATCH] define NETDB_INTERNAL to -1 if not available
-
-helps build with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- compat.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/compat.h b/compat.h
-index c8bee4d..bfb013a 100644
---- a/compat.h
-+++ b/compat.h
-@@ -666,6 +666,10 @@ typedef int sig_atomic_t;
- # define NETDB_INTERNAL h_NETDB_INTERNAL
- #endif
-
-+#if !defined(NETDB_INTERNAL)
-+# define NETDB_INTERNAL (-1)
-+#endif
-+
- #ifndef INET_ADDRSTRLEN
- # define INET_ADDRSTRLEN sizeof(struct sockaddr_in)
- #endif
---
-2.7.1
-
diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb
index 7a889a380..067f7c644 100644
--- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb
+++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb
@@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f"
SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
- file://0001-define-NETDB_INTERNAL-to-1-if-not-available.patch \
"
SRC_URI[md5sum] = "b2a032a47b8b89a18485697fa975154f"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
index a83620e85..c347daf50 100644
--- a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
+++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
@@ -30,3 +30,5 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES_${PN} = "${sysconfdir}/inittab"
CONFFILES_${PN} = "${sysconfdir}/inittab"
+
+RCONFLICTS_${PN} = "sysvinit-inittab"
diff --git a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb
index b7383bd2a..9afbc2b6a 100644
--- a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb
+++ b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb
@@ -2,7 +2,7 @@ SUMMARY = "High level language (GLib) binding for D-Bus"
DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \
the D-Bus library with the GLib thread abstraction and main loop."
HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
-LICENSE = "AFL-2 | GPLv2+"
+LICENSE = "AFL-2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cf5b3a2f7083750d504333114e738656 \
file://dbus/dbus-glib.h;beginline=7;endline=21;md5=7755c9d7abccd5dbd25a6a974538bb3c"
SECTION = "base"
diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb
index f95b31a86..bea0e74ed 100644
--- a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
+++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb
@@ -1,7 +1,7 @@
SUMMARY = "D-Bus test package (for D-bus functionality testing only)"
HOMEPAGE = "http://dbus.freedesktop.org"
SECTION = "base"
-LICENSE = "AFL-2 | GPLv2+"
+LICENSE = "AFL-2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
@@ -16,8 +16,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
"
-SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8"
-SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8"
+SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890"
+SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80"
S="${WORKDIR}/dbus-${PV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus_1.12.16.bb
index 6e9be79ff..05716608b 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.12.16.bb
@@ -2,7 +2,7 @@ SUMMARY = "D-Bus message bus"
DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed."
HOMEPAGE = "http://dbus.freedesktop.org"
SECTION = "base"
-LICENSE = "AFL-2 | GPLv2+"
+LICENSE = "AFL-2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
DEPENDS = "expat virtual/libintl autoconf-archive"
@@ -18,8 +18,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
"
-SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8"
-SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8"
+SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890"
+SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80"
inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index 25376038f..dcbda741c 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a5ec40cafba26fc4396d0b550f824e01"
DEPENDS = "zlib virtual/crypt"
RPROVIDES_${PN} = "ssh sshd"
+RCONFLICTS_${PN} = "openssh-sshd openssh"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -19,7 +20,8 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
file://dropbear@.service \
file://dropbear.socket \
file://dropbear.default \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} "
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} "
PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
file://0006-dropbear-configuration-file.patch \
@@ -45,8 +47,9 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
BINCOMMANDS = "dbclient ssh scp"
EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"'
-PACKAGECONFIG ?= ""
+PACKAGECONFIG ?= "disable-weak-ciphers"
PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt"
+PACKAGECONFIG[disable-weak-ciphers] = ""
EXTRA_OECONF += "\
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
diff --git a/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
new file mode 100644
index 000000000..e48a34bac
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
@@ -0,0 +1,44 @@
+This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers
+in the dropbear ssh server and client since they're considered weak ciphers
+and we want to support the stong algorithms.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com>
+
+Index: dropbear-2019.78/default_options.h
+===================================================================
+--- dropbear-2019.78.orig/default_options.h
++++ dropbear-2019.78/default_options.h
+@@ -91,7 +91,7 @@ IMPORTANT: Some options will require "ma
+
+ /* Enable CBC mode for ciphers. This has security issues though
+ * is the most compatible with older SSH implementations */
+-#define DROPBEAR_ENABLE_CBC_MODE 1
++#define DROPBEAR_ENABLE_CBC_MODE 0
+
+ /* Enable "Counter Mode" for ciphers. This is more secure than
+ * CBC mode against certain attacks. It is recommended for security
+@@ -101,7 +101,7 @@ IMPORTANT: Some options will require "ma
+ /* Message integrity. sha2-256 is recommended as a default,
+ sha1 for compatibility */
+ #define DROPBEAR_SHA1_HMAC 1
+-#define DROPBEAR_SHA1_96_HMAC 1
++#define DROPBEAR_SHA1_96_HMAC 0
+ #define DROPBEAR_SHA2_256_HMAC 1
+
+ /* Hostkey/public key algorithms - at least one required, these are used
+@@ -149,12 +149,12 @@ IMPORTANT: Some options will require "ma
+ * Small systems should generally include either curve25519 or ecdh for performance.
+ * curve25519 is less widely supported but is faster
+ */
+-#define DROPBEAR_DH_GROUP14_SHA1 1
++#define DROPBEAR_DH_GROUP14_SHA1 0
+ #define DROPBEAR_DH_GROUP14_SHA256 1
+ #define DROPBEAR_DH_GROUP16 0
+ #define DROPBEAR_CURVE25519 1
+ #define DROPBEAR_ECDH 1
+-#define DROPBEAR_DH_GROUP1 1
++#define DROPBEAR_DH_GROUP1 0
+
+ /* When group1 is enabled it will only be allowed by Dropbear client
+ not as a server, due to concerns over its strength. Set to 0 to allow
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index f24625494..a3d71f2b7 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001
+From d29dfba67b1808eea6d428085f95b6e42cf2d1e4 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 22 Mar 2016 15:14:58 +0200
Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -10,29 +10,14 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Upstream-Status: Inappropriate [OE specific]
---
- gio/Makefile.am | 3 ++-
gio/meson.build | 1 +
- 2 files changed, 3 insertions(+), 1 deletion(-)
+ 1 file changed, 1 insertion(+)
-diff --git a/gio/Makefile.am b/gio/Makefile.am
-index e14cad2..bf2bcc7 100644
---- a/gio/Makefile.am
-+++ b/gio/Makefile.am
-@@ -835,7 +835,8 @@ gio.def: libgio-2.0.la
- gio-2.0.lib: libgio-2.0.la gio.def
- $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@
-
--bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop
-+bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop
-+libexec_PROGRAMS = gio-querymodules
-
- glib_compile_resources_LDADD = libgio-2.0.la \
- $(top_builddir)/gobject/libgobject-2.0.la \
diff --git a/gio/meson.build b/gio/meson.build
-index b83d8f5..85d8b14 100644
+index 4e5e021..90a741a 100644
--- a/gio/meson.build
+++ b/gio/meson.build
-@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+@@ -940,6 +940,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
c_args : gio_c_args,
# intl.lib is not compatible with SAFESEH
link_args : noseh_link_args,
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch
deleted file mode 100644
index f0c5d84ba..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From abc26aed7a28678dfcc20b21726a97c7c02ea73b Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Thu, 14 Feb 2019 14:55:15 +0800
-Subject: [PATCH] Revert "Use absolute paths in pkg-config files"
-
-This reverts commit e7a7c9b97776fa2a638d18ea3a931ba84e778f80.
-
-The glib pkgconfig files now contain absolute paths, but they're
-target paths so when we used them from a sysroot it fails. Upstream
-thinks that we should be setting
-GLIB_MKENUMS=/path/to/sysroot/usr/bin/glib-mkenums but that really
-doesn't scale.
-
-For now, we just revert the change to put absolute paths into
-the sysroot. This should be re-evaluated when we move the recipe to use
-meson.
-
-Upstream-Status: Inappropriate [Revert of an upstream commit]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- gio-2.0.pc.in | 7 +++----
- glib-2.0.pc.in | 7 +++----
- 2 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in
-index d67e80839..526f0daa0 100644
---- a/gio-2.0.pc.in
-+++ b/gio-2.0.pc.in
-@@ -5,11 +5,10 @@ includedir=@includedir@
-
- datadir=@datadir@
- schemasdir=${datadir}/glib-2.0/schemas
--bindir=@bindir@
- giomoduledir=@GIO_MODULE_DIR@
--glib_compile_schemas=${bindir}/glib-compile-schemas
--glib_compile_resources=${bindir}/glib-compile-resources
--gdbus_codegen=${bindir}/gdbus-codegen
-+glib_compile_schemas=glib-compile-schemas
-+glib_compile_resources=glib-compile-resources
-+gdbus_codegen=gdbus-codegen
-
- Name: GIO
- Description: glib I/O library
-diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
-index 3c5ea81dc..275fc0163 100644
---- a/glib-2.0.pc.in
-+++ b/glib-2.0.pc.in
-@@ -3,10 +3,9 @@ exec_prefix=@exec_prefix@
- libdir=@libdir@
- includedir=@includedir@
-
--bindir=@bindir@
--glib_genmarshal=${bindir}/glib-genmarshal
--gobject_query=${bindir}/gobject-query
--glib_mkenums=${bindir}/glib-mkenums
-+glib_genmarshal=glib-genmarshal
-+gobject_query=gobject-query
-+glib_mkenums=glib-mkenums
-
- Name: GLib
- Description: C Utility Library
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
index 2b7fab7bd..d22a646c5 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -1,4 +1,4 @@
-From 4169f11beedacfbb8c7934a4c99189d44935a6b9 Mon Sep 17 00:00:00 2001
+From f5a4b4c0579734923c9caf70944322efff57318b Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 13 Feb 2019 15:32:05 +0100
Subject: [PATCH] Set host_machine correctly when building with mingw32
@@ -8,13 +8,13 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
gio/tests/meson.build | 8 ++++----
- glib/tests/meson.build | 4 ++--
+ glib/tests/meson.build | 2 +-
meson.build | 3 +++
tests/meson.build | 2 +-
- 4 files changed, 10 insertions(+), 7 deletions(-)
+ 4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index 181f5c7..11a1f12 100644
+index 028b196..217ccb1 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
@@ -12,7 +12,7 @@ test_c_args = [
@@ -26,57 +26,48 @@ index 181f5c7..11a1f12 100644
common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
endif
-@@ -122,7 +122,7 @@ if dbus1_dep.found()
+@@ -119,7 +119,7 @@ if dbus1_dep.found()
endif
# Test programs buildable on UNIX only
-if host_machine.system() != 'windows'
+if host_system != 'windows'
- gio_tests += [{
+ gio_tests += {
'file' : {},
'gdbus-peer' : {
-@@ -314,7 +314,7 @@ if host_machine.system() != 'windows'
+@@ -327,7 +327,7 @@ if host_machine.system() != 'windows'
endif # unix
# Test programs buildable on Windows only
-if host_machine.system() == 'windows'
+if host_system == 'windows'
- gio_tests += [{'win32-streams' : {}}]
+ gio_tests += {'win32-streams' : {}}
endif
-@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc'
- }]
+@@ -392,7 +392,7 @@ if cc.get_id() != 'msvc'
+ }
endif
-if host_machine.system() != 'windows'
+if host_system != 'windows'
- test_extra_programs += [{
+ test_extra_programs += {
'gdbus-example-unix-fd-client' : {
'install' : false,
diff --git a/glib/tests/meson.build b/glib/tests/meson.build
-index d7b6a7a..6678a08 100644
+index d54fc41..a4761fe 100644
--- a/glib/tests/meson.build
+++ b/glib/tests/meson.build
-@@ -45,7 +45,7 @@ glib_tests = {
- 'hook' : {},
- 'hostutils' : {},
- 'include' : {
-- 'skip' : host_machine.system() == 'windows',
-+ 'skip' : host_system == 'windows',
- },
- 'keyfile' : {},
- 'list' : {},
-@@ -112,7 +112,7 @@ glib_tests = {
- 'utils' : {},
- 'unicode' : {},
- 'unix' : {
-- 'skip' : host_machine.system() == 'windows',
-+ 'skip' : host_system == 'windows',
- },
- 'uri' : {},
- '1bit-mutex' : {},
+@@ -132,7 +132,7 @@ if glib_conf.has('HAVE_EVENTFD')
+ }
+ endif
+
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ if winsock2.found()
+ glib_tests += {
+ 'gpoll' : {
diff --git a/meson.build b/meson.build
-index f7405a2..4348f20 100644
+index a745024..e87eae5 100644
--- a/meson.build
+++ b/meson.build
@@ -31,6 +31,9 @@ else
@@ -90,15 +81,15 @@ index f7405a2..4348f20 100644
glib_version = meson.project_version()
glib_api_version = '2.0'
diff --git a/tests/meson.build b/tests/meson.build
-index 80e45d7..9f3869f 100644
+index 11075dd..cd6067b 100644
--- a/tests/meson.build
+++ b/tests/meson.build
-@@ -67,7 +67,7 @@ test_extra_programs = {
+@@ -66,7 +66,7 @@ test_extra_programs = {
'unicode-collate' : {},
}
-if host_machine.system() != 'windows'
+if host_system != 'windows'
- tests += [{
+ tests += {
'timeloop' : {},
- 'spawn-test' : {},
+ 'iochannel-test' : {},
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
new file mode 100644
index 000000000..59e49195c
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
@@ -0,0 +1,62 @@
+glib-2.0: fix CVE-2019-12450
+
+Not in release 2.61.1.
+
+CVE: CVE-2019-12450
+
+Upstream-Status: Backport [github.com/GNOME/glib.git]
+Signed-off-by: Joe Slater <joe.slater@windrivere.com>
+---
+From d8f8f4d637ce43f8699ba94c9b7648beda0ca174 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Thu, 23 May 2019 10:41:53 +0200
+Subject: [PATCH] gfile: Limit access to files when copying
+
+file_copy_fallback creates new files with default permissions and
+set the correct permissions after the operation is finished. This
+might cause that the files can be accessible by more users during
+the operation than expected. Use G_FILE_CREATE_PRIVATE for the new
+files to limit access to those files.
+---
+ gio/gfile.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/gio/gfile.c b/gio/gfile.c
+index 24b136d80..74b58047c 100644
+--- a/gio/gfile.c
++++ b/gio/gfile.c
+@@ -3284,12 +3284,12 @@ file_copy_fallback (GFile *source,
+ out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
+ FALSE, NULL,
+ flags & G_FILE_COPY_BACKUP,
+- G_FILE_CREATE_REPLACE_DESTINATION,
+- info,
++ G_FILE_CREATE_REPLACE_DESTINATION |
++ G_FILE_CREATE_PRIVATE, info,
+ cancellable, error);
+ else
+ out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
+- FALSE, 0, info,
++ FALSE, G_FILE_CREATE_PRIVATE, info,
+ cancellable, error);
+ }
+ else if (flags & G_FILE_COPY_OVERWRITE)
+@@ -3297,12 +3297,13 @@ file_copy_fallback (GFile *source,
+ out = (GOutputStream *)g_file_replace (destination,
+ NULL,
+ flags & G_FILE_COPY_BACKUP,
+- G_FILE_CREATE_REPLACE_DESTINATION,
++ G_FILE_CREATE_REPLACE_DESTINATION |
++ G_FILE_CREATE_PRIVATE,
+ cancellable, error);
+ }
+ else
+ {
+- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error);
++ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error);
+ }
+
+ if (!out)
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 5ccd3203f..ff2629f06 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001
+From 23cd157352ac8a53f992ddc6d6d01caadf1c79bc Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Mon, 9 Nov 2015 11:07:27 +0200
Subject: [PATCH] Enable more tests while cross-compiling
@@ -9,54 +9,16 @@ case we can depend on glib-2.0-native.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
---
- gio/tests/Makefile.am | 10 ++++++----
- gio/tests/meson.build | 15 ++++++++-------
- tests/gobject/Makefile.am | 6 ++++++
- 3 files changed, 20 insertions(+), 11 deletions(-)
+ gio/tests/meson.build | 26 ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
-diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
-index c4e7a92..633e85c 100644
---- a/gio/tests/Makefile.am
-+++ b/gio/tests/Makefile.am
-@@ -583,10 +583,9 @@ test_programs += \
- endif
-
- # -----------------------------------------------------------------------------
--# The resources test is a bit more complicated, and we cannot build it when
--# cross-compiling GIO because it requires running a binary...
-+# The resources test is a bit more complicated, and requires glib-native
-+# for running a binary
-
--if !CROSS_COMPILING
- test_programs += resources
- resources_SOURCES = resources.c
- nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
-@@ -611,7 +610,11 @@ if !ENABLE_INSTALLED_TESTS
- libresourceplugin_la_LDFLAGS += -rpath /
- endif
-
-+if !CROSS_COMPILING
- glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
-+else
-+glib_compile_resources=glib-compile-resources
-+endif
-
- test-generated.txt: test1.txt
- $(AM_V_GEN) echo "Generated" > $@ && \
-@@ -632,7 +635,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
-
- EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
- CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
--endif # !CROSS_COMPILING
-
- BUILT_SOURCES += giotypefuncs.inc
-
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index dca33bd..181f5c7 100644
+index 65f43e2..028b196 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
-@@ -173,7 +173,7 @@ if host_machine.system() != 'windows'
+@@ -185,7 +185,7 @@ if host_machine.system() != 'windows'
# Test programs that need to bring up a session bus (requires dbus-daemon)
have_dbus_daemon = find_program('dbus-daemon', required : false).found()
@@ -65,8 +27,8 @@ index dca33bd..181f5c7 100644
annotate_args = [
'--annotate', 'org.project.Bar', 'Key1', 'Value1',
'--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
-@@ -406,12 +406,13 @@ if installed_tests_enabled
- install_subdir('cert-tests', install_dir : installed_tests_execdir)
+@@ -453,12 +453,13 @@ if installed_tests_enabled
+ install_data('static-link.py', install_dir : installed_tests_execdir)
endif
-if not meson.is_cross_build() or meson.has_exe_wrapper()
@@ -81,7 +43,7 @@ index dca33bd..181f5c7 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate-source',
-@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -482,7 +483,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_gresource = custom_target('test.gresource',
input : 'test.gresource.xml',
output : 'test.gresource',
@@ -90,7 +52,7 @@ index dca33bd..181f5c7 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
-@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -493,7 +494,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_resources2_c = custom_target('test_resources2.c',
input : 'test3.gresource.xml',
output : 'test_resources2.c',
@@ -99,7 +61,7 @@ index dca33bd..181f5c7 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate',
-@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -504,7 +505,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_resources2_h = custom_target('test_resources2.h',
input : 'test3.gresource.xml',
output : 'test_resources2.h',
@@ -108,30 +70,54 @@ index dca33bd..181f5c7 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate',
-@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
- test_resources_c = custom_target('test_resources.c',
+@@ -516,7 +517,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
input : 'test2.gresource.xml',
+ depends : big_test_resource,
output : 'test_resources.c',
- command : [glib_compile_resources,
+ command : ['glib-compile-resources',
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
- '--generate-source',
-diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
-index 1bcefbe..77e646a 100644
---- a/tests/gobject/Makefile.am
-+++ b/tests/gobject/Makefile.am
-@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP
- installed_test_programs += timeloop-closure
- endif
-
-+# The marshal test requires running a binary, which means we require
-+# glib-native when cross-compiling
-+if !CROSS_COMPILING
- glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
-+else
-+glib_genmarshal=$(shell which glib-genmarshal)
-+endif
-
- testmarshal.h: stamp-testmarshal.h
- @true
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -527,7 +528,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ digit_test_resources_c = custom_target('digit_test_resources.c',
+ input : '111_digit_test.gresource.xml',
+ output : 'digit_test_resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -538,7 +539,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ digit_test_resources_h = custom_target('digit_test_resources.h',
+ input : '111_digit_test.gresource.xml',
+ output : 'digit_test_resources.h',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -565,11 +566,12 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ # Support for --add-symbol was added to LLVM objcopy in 2019
+ # (https://reviews.llvm.org/D58234). FIXME: This test could be enabled for
+ # LLVM once that support is in a stable release.
+- if build_machine.system() == 'linux' and cc.get_id() == 'gcc'
++ #if build_machine.system() == 'linux' and cc.get_id() == 'gcc'
++ if not meson.is_cross_build()
+ test_gresource_binary = custom_target('test5.gresource',
+ input : 'test5.gresource.xml',
+ output : 'test5.gresource',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -581,7 +583,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources_binary_c = custom_target('test_resources_binary.c',
+ input : 'test5.gresource.xml',
+ output : 'test_resources_binary.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch
deleted file mode 100644
index c36a397fe..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-Fix the last few remaining bugs in glib's date/locale code.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 93d8482384ebc5c7d1f3d92b0190db0371269663 Mon Sep 17 00:00:00 2001
-From: Rafal Luzynski <digitalfreak@lingonborough.com>
-Date: Fri, 10 May 2019 00:40:27 +0200
-Subject: [PATCH] build: Fix a typo in the test whether _NL_ABALTMON_n is
- supported
-
-The correct spelling is "_NL_ABALTMON_n" rather than "_NL_ALTMON_n".
-The typo made Meson build think that _NL_ABALTMON_n constants are
-not supported which was totally wrong. This made g_date_time_format()
-output incorrect abbreviated month names in some languages.
-The old configure.ac script was correct here.
-
-Bug introduced in commit be4f96b6502c01d2a51d60b7a669c8ef82e22a4d.
-
-Closes: #1759
----
- meson.build | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index c5d2ce5f8..08fa40ac5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1002,20 +1002,20 @@ if cc.links('''#ifndef _GNU_SOURCE
- #include <langinfo.h>
- int main (int argc, char ** argv) {
- char *str;
-- str = nl_langinfo (_NL_ALTMON_1);
-- str = nl_langinfo (_NL_ALTMON_2);
-- str = nl_langinfo (_NL_ALTMON_3);
-- str = nl_langinfo (_NL_ALTMON_4);
-- str = nl_langinfo (_NL_ALTMON_5);
-- str = nl_langinfo (_NL_ALTMON_6);
-- str = nl_langinfo (_NL_ALTMON_7);
-- str = nl_langinfo (_NL_ALTMON_8);
-- str = nl_langinfo (_NL_ALTMON_9);
-- str = nl_langinfo (_NL_ALTMON_10);
-- str = nl_langinfo (_NL_ALTMON_11);
-- str = nl_langinfo (_NL_ALTMON_12);
-+ str = nl_langinfo (_NL_ABALTMON_1);
-+ str = nl_langinfo (_NL_ABALTMON_2);
-+ str = nl_langinfo (_NL_ABALTMON_3);
-+ str = nl_langinfo (_NL_ABALTMON_4);
-+ str = nl_langinfo (_NL_ABALTMON_5);
-+ str = nl_langinfo (_NL_ABALTMON_6);
-+ str = nl_langinfo (_NL_ABALTMON_7);
-+ str = nl_langinfo (_NL_ABALTMON_8);
-+ str = nl_langinfo (_NL_ABALTMON_9);
-+ str = nl_langinfo (_NL_ABALTMON_10);
-+ str = nl_langinfo (_NL_ABALTMON_11);
-+ str = nl_langinfo (_NL_ABALTMON_12);
- return 0;
-- }''', name : 'nl_langinfo (_NL_ALTMON_n)')
-+ }''', name : 'nl_langinfo (_NL_ABALTMON_n)')
- glib_conf.set('HAVE_LANGINFO_ABALTMON', 1)
- endif
-
---
-2.18.1
-
-From 35c28be32762d5af6b93cb6a3420c5977f7bf599 Mon Sep 17 00:00:00 2001
-From: Rafal Luzynski <digitalfreak@lingonborough.com>
-Date: Mon, 13 May 2019 23:11:28 +0200
-Subject: [PATCH] tests: Update month name check for Greek locale
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Update the abbreviated month name in the test to match the actual
-translation. Otherwise the test fails with false positive.
-
-Vocabulary:
-
-July (nominative) - Greek: Ιούλιος (abbreviated: Ιούλ)
-Of July (genitive) - Greek: Ιουλίου (abbreviated: Ιουλ)
-
-This is similar to commit 4d215e006ee69bd7a993bf853722993433adbf9a
-and commit 7fe793e125c316ac34edd8158df5a132cb044bc1.
-
-Closes #1776
----
- glib/tests/date.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/tests/date.c b/glib/tests/date.c
-index 8eb28712b..ff13ad101 100644
---- a/glib/tests/date.c
-+++ b/glib/tests/date.c
-@@ -388,7 +388,7 @@ test_month_names (void)
- TEST_DATE ( 1, 4, 2018, "%OB %Y", "Απρίλιος 2018");
- TEST_DATE ( 1, 5, 2018, "%OB %Y", "Μάιος 2018");
- TEST_DATE ( 1, 6, 2018, "%OB %Y", "Ιούνιος 2018");
-- TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιούλ 2018");
-+ TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιουλ 2018");
- TEST_DATE ( 1, 8, 2018, "%Ob %Y", "Αύγ 2018");
- }
- else
---
-2.18.1
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
index 8420f9874..b5df40072 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
@@ -4,3 +4,6 @@ have_c99_snprintf = true
have_unix98_printf = true
va_val_copy = true
growing_stack = false
+
+[binaries]
+env = "/usr/bin/env"
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index a4e0c9201..2d698a67c 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 9d985803c50cfb99253c757934985f937da34822 Mon Sep 17 00:00:00 2001
+From 17ca85e329bf39c004b73a02e94b597dac41ddfe Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -19,7 +19,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gio/giomodule.c b/gio/giomodule.c
-index 36c0cef..912e490 100644
+index b92162d..fce9933 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -40,6 +40,8 @@
@@ -31,7 +31,7 @@ index 36c0cef..912e490 100644
#endif
#include <glib/gstdio.h>
-@@ -1099,7 +1101,15 @@ get_gio_module_dir (void)
+@@ -1156,7 +1158,15 @@ get_gio_module_dir (void)
#endif
g_free (install_dir);
#else
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
index 8f082d34f..fc50082c8 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
@@ -2,5 +2,5 @@
set -eux
useradd glib2-test
-su glib2-test -c gnome-desktop-testing-runner glib
+su glib2-test -c 'gnome-desktop-testing-runner glib'
userdel glib2-test
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb
index d749be34e..5942241de 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb
@@ -12,16 +12,15 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
file://0001-Do-not-ignore-return-value-of-write.patch \
file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
- file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \
file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \
file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \
- file://fix-nl-abaltmon.patch \
- file://glib-meson.cross \
+ file://CVE-2019-12450.patch \
"
SRC_URI_append_class-native = " file://relocate-modules.patch"
+SRC_URI_append_class-target = " file://glib-meson.cross"
-SRC_URI[md5sum] = "8058c7bde846dcffe5fa453eca366d73"
-SRC_URI[sha256sum] = "8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481"
+SRC_URI[md5sum] = "112a850caa8d2c21e24d4c9844e8b1fe"
+SRC_URI[sha256sum] = "04ab0d560d45790d055f50db2d69974eab8b693a77390075462c56e652b760b9"
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index 82107a8a1..3ae22f5e8 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -48,7 +48,7 @@ PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
PACKAGECONFIG[libelf] = ",,elfutils"
PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
-EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
+EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled"
EXTRA_OEMESON_append_class-target = " --cross-file ${WORKDIR}/glib-meson.cross"
do_configure_prepend() {
@@ -140,6 +140,7 @@ CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
RDEPENDS_${PN}-ptest += "\
+ coreutils \
libgcc \
dbus \
gnome-desktop-testing \
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
index 09af229d6..4d4fe6491 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
@@ -9,12 +9,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.md5sum] = "83321ffc3c336894b8a5bc18db3fe58d"
-SRC_URI[archive.sha256sum] = "d71c6b2faa5ac29100314f08a1be020a2afd0291f025614c0af0d17b14435d92"
+SRC_URI[archive.md5sum] = "bf46d1208ac00d78a45fbf621d459025"
+SRC_URI[archive.sha256sum] = "c022f3d10f55a5b7c31676fb001b4cb6401db8ab9f6e8418c69de00d0f268732"
PACKAGECONFIG ??= "gnutls"
PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls"
+PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl"
PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy"
EXTRA_OEMESON = "-Dgnome_proxy=disabled"
diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc
index a985d26c7..f033635bd 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale.inc
+++ b/poky/meta/recipes-core/glibc/glibc-locale.inc
@@ -12,9 +12,7 @@ BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
BINUTILSDEP_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
do_package[depends] += "${BINUTILSDEP}"
-# localedef links with libc.so and glibc-collateral.inc inhibits all default deps
-# cannot add virtual/libc to DEPENDS, because it would conflict with libc-initial in RSS
-RDEPENDS_localedef += "glibc"
+DEPENDS += "virtual/libc"
# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
# is set. The idea is to avoid running localedef on the target (at first boot)
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 3302a86da..e9cac98c5 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -22,7 +22,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
-SRCREV ?= "5c504dd014a1bd3e6b3fea528a11aca7dff4d931"
+SRCREV ?= "bb59bcd016bdd815809ac10df45d61c364c46df0"
SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb
new file mode 100644
index 000000000..ebc4648a1
--- /dev/null
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb
@@ -0,0 +1,18 @@
+#
+# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular
+#
+
+require libxcrypt_${PV}.bb
+
+PROVIDES = ""
+AUTO_LIBNAME_PKGS = ""
+EXCLUDE_FROM_WORLD = "1"
+
+API = "--enable-obsolete-api"
+
+do_install_append () {
+ rm -rf ${D}${includedir}
+ rm -rf ${D}${libdir}/pkgconfig
+ rm -rf ${D}${datadir}
+}
+
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
index b44c07b4d..893f5e737 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
@@ -9,10 +9,10 @@ LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \
inherit autotools pkgconfig
-PV = "4.4.4"
+PV = "4.4.6"
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
-SRCREV = "3b251d4e1af66aa7697c4ac96c689f996fa90c32"
+SRCREV = "398943774c5ff38baf1bc5ee088855fd8983bb05"
SRCBRANCH ?= "develop"
PROVIDES = "virtual/crypt"
@@ -29,4 +29,7 @@ BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes"
CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes"
+API = "--disable-obsolete-api"
+EXTRA_OECONF += "${API}"
+
BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/meta/cve-update-db.bb b/poky/meta/recipes-core/meta/cve-update-db.bb
new file mode 100644
index 000000000..522fd2380
--- /dev/null
+++ b/poky/meta/recipes-core/meta/cve-update-db.bb
@@ -0,0 +1,121 @@
+SUMMARY = "Updates the NVD CVE database"
+LICENSE = "MIT"
+
+INHIBIT_DEFAULT_DEPS = "1"
+PACKAGES = ""
+
+inherit nopackages
+
+deltask do_fetch
+deltask do_unpack
+deltask do_patch
+deltask do_configure
+deltask do_compile
+deltask do_install
+deltask do_populate_sysroot
+
+python do_populate_cve_db() {
+ """
+ Update NVD database with json data feed
+ """
+
+ import sqlite3, urllib3, shutil, gzip, re
+ from datetime import date
+
+ BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-"
+ YEAR_START = 2002
+ JSON_TMPFILE = d.getVar("CVE_CHECK_DB_DIR") + '/nvd.json.gz'
+
+ # Connect to database
+ db_file = d.getVar("CVE_CHECK_DB_FILE")
+ conn = sqlite3.connect(db_file)
+ c = conn.cursor()
+
+ initialize_db(c)
+
+ http = urllib3.PoolManager()
+
+ for year in range(YEAR_START, date.today().year + 1):
+ year_url = BASE_URL + str(year)
+ meta_url = year_url + ".meta"
+ json_url = year_url + ".json.gz"
+
+ # Retrieve meta last modified date
+ with http.request('GET', meta_url, preload_content=False) as r:
+ date_line = str(r.data.splitlines()[0])
+ last_modified = re.search('lastModifiedDate:(.*)', date_line).group(1)
+
+ # Compare with current db last modified date
+ c.execute("select DATE from META where YEAR = '%d'" % year)
+ meta = c.fetchone()
+ if not meta or meta[0] != last_modified:
+ # Update db with current year json file
+ with http.request('GET', json_url, preload_content=False) as r, open(JSON_TMPFILE, 'wb') as tmpfile:
+ shutil.copyfileobj(r, tmpfile)
+ with gzip.open(JSON_TMPFILE, 'rt') as jsonfile:
+ update_db(c, jsonfile)
+ c.execute("insert or replace into META values (?, ?)",
+ [year, last_modified])
+
+ conn.commit()
+ conn.close()
+
+ with open(d.getVar("CVE_CHECK_TMP_FILE"), 'a'):
+ os.utime(d.getVar("CVE_CHECK_TMP_FILE"), None)
+}
+
+# DJB2 hash algorithm
+def hash_djb2(s):
+ hash = 5381
+ for x in s:
+ hash = (( hash << 5) + hash) + ord(x)
+
+ return hash & 0xFFFFFFFF
+
+def initialize_db(c):
+ c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)")
+ c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \
+ SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)")
+ c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (HASH INTEGER UNIQUE, ID TEXT, \
+ VENDOR TEXT, PRODUCT TEXT, VERSION TEXT, OPERATOR TEXT)")
+ c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_IDX ON PRODUCTS \
+ (PRODUCT, VERSION)")
+
+def update_db(c, json_filename):
+ import json
+ root = json.load(json_filename)
+
+ for elt in root['CVE_Items']:
+ if not elt['impact']:
+ continue
+
+ cveId = elt['cve']['CVE_data_meta']['ID']
+ cveDesc = elt['cve']['description']['description_data'][0]['value']
+ date = elt['lastModifiedDate']
+ accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector']
+ cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore']
+
+ try:
+ cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore']
+ except:
+ cvssv3 = 0.0
+
+ c.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)",
+ [cveId, cveDesc, cvssv2, cvssv3, date, accessVector])
+
+ for vendor in elt['cve']['affects']['vendor']['vendor_data']:
+ for product in vendor['product']['product_data']:
+ for version in product['version']['version_data']:
+ product_str = cveId+vendor['vendor_name']+product['product_name']+version['version_value']
+ hashstr = hash_djb2(product_str)
+ c.execute("insert or replace into PRODUCTS values (?, ?, ?, ?, ?, ?)",
+ [ hashstr, cveId, vendor['vendor_name'],
+ product['product_name'], version['version_value'],
+ version['version_affected']])
+
+
+
+addtask do_populate_cve_db before do_cve_check
+do_populate_cve_db[nostamp] = "1"
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
index 50182decf..b5e8c0f03 100644
--- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
+++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -46,6 +46,7 @@ DUMMYPROVIDES = "\
/bin/bash \
/usr/bin/env \
/usr/bin/perl \
+ libperl.so.5 \
pkgconfig \
pkgconfig-dev \
pkgconfig-src \
diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb
index e0cb9ffee..39638eb8c 100644
--- a/poky/meta/recipes-core/meta/uninative-tarball.bb
+++ b/poky/meta/recipes-core/meta/uninative-tarball.bb
@@ -16,6 +16,7 @@ TOOLCHAIN_HOST_TASK = "\
nativesdk-glibc-gconv-libjis \
nativesdk-patchelf \
nativesdk-libxcrypt \
+ nativesdk-libxcrypt-compat \
nativesdk-libnss-nis \
"
@@ -57,7 +58,7 @@ fakeroot create_sdk_files() {
}
-fakeroot tar_sdk() {
+fakeroot archive_sdk() {
cd ${SDK_OUTPUT}/${SDKPATH}
DEST="./${SDK_ARCH}-${SDK_OS}"
@@ -65,5 +66,5 @@ fakeroot tar_sdk() {
rm sysroots -rf
patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf
mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative
- tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
+ ${SDK_ARCHIVE_CMD}
}
diff --git a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch b/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch
deleted file mode 100644
index 4d48d6165..000000000
--- a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 19cbebc3fa33c6a1a71a6036da4d67c98f859f06 Mon Sep 17 00:00:00 2001
-From: Adrian Bunk <bunk@stusta.de>
-Date: Wed, 15 May 2019 16:08:33 +0300
-Subject: unistd.h: Add TEMP_FAILURE_RETRY
-
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
-Upstream-Status: Inappropriate [oe-specific]
----
- include/unistd.h | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/include/unistd.h b/include/unistd.h
-index 9485da7a..8a75af57 100644
---- a/include/unistd.h
-+++ b/include/unistd.h
-@@ -460,6 +460,17 @@ int eaccess(const char *, int);
- #define _CS_V6_ENV 1148
- #define _CS_V7_ENV 1149
-
-+#ifdef _GNU_SOURCE
-+#ifndef TEMP_FAILURE_RETRY
-+# define TEMP_FAILURE_RETRY(expression) \
-+ (__extension__ \
-+ ({ long int __result; \
-+ do __result = (long int) (expression); \
-+ while (__result == -1L && errno == EINTR); \
-+ __result; }))
-+#endif
-+#endif
-+
- #ifdef __cplusplus
- }
- #endif
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 2b433aed8..a7fae4a65 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
require musl.inc
inherit linuxloader
-SRCREV = "65c8be380431eebe4d70d130bd38563f8df9a7d7"
+SRCREV = "ac304227bb3ea1787d581f17d76a5f5f3abff51f"
BASEVER = "1.1.22"
@@ -15,7 +15,6 @@ PV = "${BASEVER}+git${SRCPV}"
SRC_URI = "git://git.musl-libc.org/musl \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
- file://0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
index 928c47742..ef6ca9879 100644
--- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
@@ -8,4 +8,4 @@ SRC_URI += "file://0001-tic-hang.patch \
SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835"
S = "${WORKDIR}/git"
EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
-UPSTREAM_CHECK_GITTAGREGEX = "upstream/(?P<pver>\d+(\.\d+)+(\+\d+)*)"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb b/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb
index c9ed30d98..c9ed30d98 100644
--- a/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb
+++ b/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb
diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc
index f50e5fed8..418cf0793 100644
--- a/poky/meta/recipes-core/newlib/newlib.inc
+++ b/poky/meta/recipes-core/newlib/newlib.inc
@@ -3,21 +3,21 @@ HOMEPAGE = "https://sourceware.org/newlib/"
DESCRIPTION = "C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products."
SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2"
+LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2 & BSD-2-Clause"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.LIBGLOSS;md5=73f5c98779aea7dba4a6c94a74ab0ae2 \
file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.NEWLIB;md5=956a4b1487f7677cdcceeee8f05a21f0 \
+ file://COPYING.NEWLIB;md5=100d470af54e2d1d79fbd8498a32ff26 \
file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \
file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \
"
SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz"
-SRC_URI[md5sum] = "81ec873108b8593c586f91ca65963952"
-SRC_URI[sha256sum] = "c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332"
+SRC_URI[md5sum] = "f84263b7d524df92a9c9fb30b79e0134"
+SRC_URI[sha256sum] = "fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS = "virtual/${TARGET_PREFIX}gcc"
diff --git a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb b/poky/meta/recipes-core/newlib/newlib_3.1.0.bb
index db13724eb..7ab5b2b94 100644
--- a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
+++ b/poky/meta/recipes-core/newlib/newlib_3.1.0.bb
@@ -3,7 +3,8 @@ require newlib.inc
PROVIDES += "virtual/libc virtual/libiconv virtual/libintl"
do_configure() {
- ${S}/configure ${EXTRA_OECONF}
+ export CC_FOR_TARGET="${CC}"
+ ${S}/configure ${EXTRA_OECONF}
}
do_install_append() {
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
index cae704aa2..d05403635 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -271,6 +271,7 @@ RRECOMMENDS_packagegroup-base-ipsec = "\
SUMMARY_packagegroup-base-wifi = "WiFi support"
RDEPENDS_packagegroup-base-wifi = "\
iw \
+ wireless-regdb-static \
wpa-supplicant"
RRECOMMENDS_packagegroup-base-wifi = "\
diff --git a/poky/meta/recipes-core/systemd/systemd-conf/wired.network b/poky/meta/recipes-core/systemd/systemd-conf/wired.network
new file mode 100644
index 000000000..ff807ba31
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-conf/wired.network
@@ -0,0 +1,10 @@
+[Match]
+Name=en* eth*
+KernelCommandLine=!nfsroot
+
+[Network]
+DHCP=yes
+
+[DHCP]
+RouteMetric=10
+ClientIdentifier=mac
diff --git a/poky/meta/recipes-core/systemd/systemd-conf_242.bb b/poky/meta/recipes-core/systemd/systemd-conf_242.bb
index 96beea53a..d9ec023bf 100644
--- a/poky/meta/recipes-core/systemd/systemd-conf_242.bb
+++ b/poky/meta/recipes-core/systemd/systemd-conf_242.bb
@@ -10,17 +10,22 @@ SRC_URI = "\
file://logind.conf \
file://system.conf \
file://system.conf-qemuall \
+ file://wired.network \
"
do_install() {
install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf
install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf
+ install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network
}
# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
do_install_append_qemuall() {
install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf
+
+ # Do not install wired.network for qemu bsps
+ rm -rf ${D}${systemd_unitdir}/network
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -29,4 +34,5 @@ FILES_${PN} = "\
${systemd_unitdir}/journald.conf.d/ \
${systemd_unitdir}/logind.conf.d/ \
${systemd_unitdir}/system.conf.d/ \
+ ${systemd_unitdir}/network/ \
"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch b/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch
new file mode 100644
index 000000000..6f192a2ad
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch
@@ -0,0 +1,50 @@
+From f491dfdc88ddbba36a24a75b2063aff027461b83 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@stusta.de>
+Date: Thu, 16 May 2019 22:20:07 +0300
+Subject: Replace the legacy ULONG_LONG_MAX with the C99 ULLONG_MAX
+
+Upstream-Status: Backport
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+---
+ src/journal-remote/journal-remote-main.c | 4 ++--
+ src/shutdown/shutdown.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
+index 2321a91e7b..d32c51c3ce 100644
+--- a/src/journal-remote/journal-remote-main.c
++++ b/src/journal-remote/journal-remote-main.c
+@@ -528,7 +528,7 @@ static int dispatch_http_event(sd_event_source *event,
+ void *userdata) {
+ MHDDaemonWrapper *d = userdata;
+ int r;
+- MHD_UNSIGNED_LONG_LONG timeout = ULONG_LONG_MAX;
++ MHD_UNSIGNED_LONG_LONG timeout = ULLONG_MAX;
+
+ assert(d);
+
+@@ -538,7 +538,7 @@ static int dispatch_http_event(sd_event_source *event,
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "MHD_run failed!");
+ if (MHD_get_timeout(d->daemon, &timeout) == MHD_NO)
+- timeout = ULONG_LONG_MAX;
++ timeout = ULLONG_MAX;
+
+ r = sd_event_source_set_time(d->timer_event, timeout);
+ if (r < 0) {
+diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c
+index 35b2c2aa46..9623fe9ea2 100644
+--- a/src/shutdown/shutdown.c
++++ b/src/shutdown/shutdown.c
+@@ -212,7 +212,7 @@ static int sync_making_progress(unsigned long long *prev_dirty) {
+ }
+
+ static void sync_with_progress(void) {
+- unsigned long long dirty = ULONG_LONG_MAX;
++ unsigned long long dirty = ULLONG_MAX;
+ unsigned checks;
+ pid_t pid;
+ int r;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch
new file mode 100644
index 000000000..f0ae1db60
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch
@@ -0,0 +1,41 @@
+From 18bddeaaf225d5becfc10cd2c6a1d037c90574a2 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tmraz@fedoraproject.org>
+Date: Tue, 11 Jun 2019 15:10:21 +0200
+Subject: [PATCH] resolved: Fix incorrect use of OpenSSL BUF_MEM
+
+Fixes: #12763
+Upstream-Status: Backport [Not yet released]
+ https://github.com/systemd/systemd/commit/18bddeaaf225d5becfc10cd2c6a1d037c90574a2
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ src/resolve/resolved-dnstls-openssl.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/resolve/resolved-dnstls-openssl.c b/src/resolve/resolved-dnstls-openssl.c
+index f269e4d6487f..5d9223007581 100644
+--- a/src/resolve/resolved-dnstls-openssl.c
++++ b/src/resolve/resolved-dnstls-openssl.c
+@@ -6,6 +6,7 @@
+
+ #include <openssl/bio.h>
+ #include <openssl/err.h>
++#include <string.h>
+
+ #include "io-util.h"
+ #include "resolved-dns-stream.h"
+@@ -34,9 +35,11 @@ static int dnstls_flush_write_buffer(DnsStream *stream) {
+ return ss;
+ } else {
+ stream->dnstls_data.write_buffer->length -= ss;
+- stream->dnstls_data.write_buffer->data += ss;
+
+ if (stream->dnstls_data.write_buffer->length > 0) {
++ memmove(stream->dnstls_data.write_buffer->data,
++ stream->dnstls_data.write_buffer->data + ss,
++ stream->dnstls_data.write_buffer->length);
+ stream->dnstls_events |= EPOLLOUT;
+ return -EAGAIN;
+ }
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch b/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch
new file mode 100644
index 000000000..565deba1d
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch
@@ -0,0 +1,35 @@
+From 010f917cf222d2c7205584056fe0e4c581a2e1b1 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@stusta.de>
+Date: Thu, 16 May 2019 22:09:46 +0300
+Subject: src/udev/udev-event.c must #include <sys/wait.h>
+
+Fixes the following build failure with musl:
+../git/src/udev/udev-event.c: In function 'spawn_wait':
+../git/src/udev/udev-event.c:600:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
+ r = sd_event_add_child(e, NULL, spawn->pid, WEXITED, on_spawn_sigchld, spawn);
+ ^~~~~~~
+
+This looks like a bug in udev-event.c that could also have broken
+the compilation after some future glibc header reshuffle.
+
+Upstream-Status: Backport
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+---
+ src/udev/udev-event.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index cab1b5ac0c..a0a7ac0f9e 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -7,6 +7,7 @@
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/wait.h>
+ #include <unistd.h>
+
+ #include "sd-event.h"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
deleted file mode 100644
index dbaae4f39..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From aa6cd19ae428769a38fe7d95f98db0a9c19ae90a Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:14:49 +0800
-Subject: [PATCH 12/24] fix missing ULONG_LONG_MAX definition in case of musl
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing_type.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
-index 23602eb..7d7c1e4 100644
---- a/src/basic/missing_type.h
-+++ b/src/basic/missing_type.h
-@@ -39,3 +39,7 @@ typedef int (*__compar_fn_t)(const void *, const void *);
- #ifndef FTW_SKIP_SIBLINGS
- #define FTW_SKIP_SIBLINGS 3
- #endif
-+
-+#ifndef ULONG_LONG_MAX
-+#define ULONG_LONG_MAX ULLONG_MAX
-+#endif
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch
deleted file mode 100644
index 47212bc3c..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 6c5364736f5afd1106ac240f03806af53979cc60 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:56:50 +0800
-Subject: [PATCH 22/24] include sys/wait.h to avoid compile failure
-
-Fix the following error:
-src/udev/udev-event.c:581:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/udev/udev-event.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
-index 07b7365..e532bb7 100644
---- a/src/udev/udev-event.c
-+++ b/src/udev/udev-event.c
-@@ -8,7 +8,9 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
--
-+#ifndef __GLIBC__
-+#include <sys/wait.h>
-+#endif
- #include "sd-event.h"
-
- #include "alloc-util.h"
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
index 22186b8a7..37987b57f 100644
--- a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
@@ -1,12 +1,12 @@
-From 93e6b81b721d9eb966a257bfdf7df6e8280b885c Mon Sep 17 00:00:00 2001
+From 56fb30d93e96d7f983af0cb4dff9155da91dd671 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 16:37:19 +0800
-Subject: [PATCH 23/24] socket-util.h: include string.h
+Subject: socket-util.h: include string.h
Fix the following compile error:
src/basic/socket-util.h:187:30: error: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Werror=implicit-function-declaration]
-Upstream-Status: Pending
+Upstream-Status: Accepted
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
@@ -14,17 +14,17 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 1 insertion(+)
diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h
-index 574d2b7..097aa4d 100644
+index 6920fd99ba..36ec422f2c 100644
--- a/src/basic/socket-util.h
+++ b/src/basic/socket-util.h
-@@ -12,6 +12,7 @@
+@@ -9,6 +9,7 @@
+ #include <netinet/in.h>
+ #include <stdbool.h>
+ #include <stddef.h>
++#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>
-+#include <string.h>
-
- #include "macro.h"
- #include "missing_socket.h"
--
-2.7.4
+2.20.1
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
index bae9d3eaa..ada404b05 100644
--- a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
@@ -1,30 +1,30 @@
-From 2560a6b7b9adc5bd5dec0f87c2e3025ced8a2af2 Mon Sep 17 00:00:00 2001
+From 56e3c9581e2c9b7435d5fcbd74b47c7ccf6b3891 Mon Sep 17 00:00:00 2001
From: Andrej Valek <andrej.valek@siemens.com>
Date: Thu, 18 Apr 2019 10:47:11 +0200
-Subject: [PATCH] fs-utilh: add missing sys/stat include
+Subject: fs-util.h: add missing sys/stat include
fix error:
| error: passing argument 5 of 'chase_symlinks_and_stat' from incompatible pointer type [-Werror=incompatible-pointer-types]
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-Upstream-Status: Pending
+Upstream-Status: Accepted
---
src/basic/fs-util.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
-index b965120..e2fdfff 100644
+index b9651205e6..c153bc4448 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
-@@ -8,6 +8,7 @@
+@@ -7,6 +7,7 @@
+ #include <stdbool.h>
#include <stdint.h>
#include <sys/inotify.h>
- #include <sys/types.h>
+#include <sys/stat.h>
+ #include <sys/types.h>
#include <unistd.h>
- #include "errno-util.h"
--
-2.11.0
+2.20.1
diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb
index 20714fc70..29f64b995 100644
--- a/poky/meta/recipes-core/systemd/systemd_242.bb
+++ b/poky/meta/recipes-core/systemd/systemd_242.bb
@@ -24,10 +24,11 @@ SRC_URI += "file://touchscreen.rules \
file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
file://0006-network-remove-redunant-link-name-in-message.patch \
file://99-default.preset \
+ file://0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch \
"
# patches needed by musl
-SRC_URI += "${SRC_URI_MUSL}"
+SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \
file://0002-don-t-use-glibc-specific-qsort_r.patch \
file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
@@ -38,7 +39,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa
file://0008-add-missing-FTW_-macros-for-musl.patch \
file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
file://0011-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
+ file://0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch \
file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
@@ -47,7 +48,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa
file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \
file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \
- file://0022-include-sys-wait.h-to-avoid-compile-failure.patch \
+ file://0001-src-udev-udev-event.c-must-include-sys-wait.h.patch \
file://0023-socket-util.h-include-string.h.patch \
file://0024-test-json.c-define-M_PIl.patch \
file://0025-fs-utilh-add-missing-sys-stat-include.patch \
@@ -603,6 +604,8 @@ FILES_udev += "${base_sbindir}/udevd \
FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d"
+RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}"
+
INITSCRIPT_PACKAGES = "udev"
INITSCRIPT_NAME_udev = "systemd-udevd"
INITSCRIPT_PARAMS_udev = "start 03 S ."
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index bfd890d92..8781492d4 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -90,5 +90,4 @@ CONFFILES_${PN} = "${sysconfdir}/inittab"
USE_VT ?= "1"
SYSVINIT_ENABLED_GETTYS ?= "1"
-
-
+RCONFLICTS_${PN} = "busybox-inittab"
diff --git a/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
index baa21aeae..75632d943 100644
--- a/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
+++ b/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
@@ -4,10 +4,10 @@ DESCRIPTION = "update-rc.d is a utility that allows the management of symlinks t
SECTION = "base"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=148a48321b10eb37c1fa3ee02b940a75"
+LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f535425934bb5001f2037d9"
SRC_URI = "git://git.yoctoproject.org/update-rc.d"
-SRCREV = "22e0692898c3e7ceedc8eb5ff4ec8e0b9c340b2d"
+SRCREV = "4b150b25b38de688d25cde2b2d22c268ed65a748"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 34255a2de..84c701275 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -6,21 +6,21 @@ disk partitioning, kernel message management, filesystem creation, and system lo
SECTION = "base"
-LICENSE = "GPLv2+ & LGPLv2.1+ & BSD"
+LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause"
-LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c \
+LIC_FILES_CHKSUM = "file://README.licensing;md5=972a134f1e14b2b060e365df2fab0099 \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://Documentation/licenses/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://Documentation/licenses/COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
- file://Documentation/licenses/COPYING.BSD-3;md5=58dcd8452651fc8b07d1f65ce07ca8af \
- file://Documentation/licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \
- file://libuuid/COPYING;md5=b442ffb762cf8d3e9df1b99e0bb4af70 \
- file://libmount/COPYING;md5=fb93f01d4361069c5616327705373b16 \
- file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16"
+ file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
+ file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \
+ file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \
+ file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \
+ file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \
+ file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04"
#gtk-doc is not enabled as it requires xmlto which requires util-linux
inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest
-DEPENDS = "zlib ncurses virtual/crypt"
+DEPENDS = "libcap-ng ncurses virtual/crypt zlib"
MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \
@@ -102,6 +102,10 @@ EXTRA_OECONF = "\
--libdir='${UTIL_LINUX_LIBDIR}' \
"
+EXTRA_OECONF_append_class-target = " --enable-setpriv"
+EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv"
+EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv"
+
PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
# inherit manpages requires this to be present, however util-linux does not have
# configuration options, and installs manpages always
@@ -109,8 +113,6 @@ PACKAGECONFIG[manpages] = ""
PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
# Respect the systemd feature for uuidd
PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
-# Build setpriv requires libcap-ng
-PACKAGECONFIG[libcap-ng] = "--enable-setpriv,--disable-setpriv,libcap-ng,"
# Build python bindings for libmount
PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3"
# Readline support
@@ -142,7 +144,8 @@ RDEPENDS_${PN}_class-nativesdk = ""
RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev"
RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
-RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN} sed"
+RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz"
+RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug"
RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
ALLOW_EMPTY_${PN}-swaponoff = "1"
@@ -247,6 +250,7 @@ ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile"
ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice"
ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
+ALTERNATIVE_LINK_NAME[setpriv] = "${bindir}/setpriv"
ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid"
ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
@@ -259,7 +263,10 @@ ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump"
ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall"
-ALTERNATIVE_${PN}-doc = "blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1"
+ALTERNATIVE_${PN}-doc = "\
+blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 \
+mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\
+"
ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}"
ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8"
@@ -275,6 +282,7 @@ ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1"
ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1"
ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8"
+ALTERNATIVE_LINK_NAME[setpriv.1] = "${mandir}/man1/setpriv.1"
ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8"
ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1"
@@ -317,4 +325,8 @@ do_install_ptest() {
sed -i -e \
'/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \
${D}${PTEST_PATH}/tests/commands.sh
+
+
+ sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
+
}
diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
index 03248325b..e135ee583 100644
--- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -1,5 +1,14 @@
#!/bin/sh
+
+# When udevd (from eudev) is running most eject/mount tests will fail because
+# of automount. We need to stop udevd before executing util-linux's tests.
+# The systemd-udevd daemon doesn't change the outcome of util-linux's tests.
+UDEV_PID="`pidof "@base_sbindir@/udevd"`"
+if [ "x$UDEV_PID" != "x" ]; then
+ /etc/init.d/udev stop
+fi
+
current_path=$(readlink -f $0)
export bindir=$(dirname $current_path)
export PATH=$bindir/bin:$PATH
@@ -27,3 +36,8 @@ do
}'
done
+
+if [ "x$UDEV_PID" != "x" ]; then
+ /etc/init.d/udev start
+fi
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb
index e0bd38363..538e27612 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb
@@ -9,5 +9,5 @@ SRC_URI += "file://configure-sbindir.patch \
file://avoid_parallel_tests.patch \
file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \
"
-SRC_URI[md5sum] = "9e5b1b8c1dc99455bdb6b462cf9436d9"
-SRC_URI[sha256sum] = "86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2"
+SRC_URI[md5sum] = "91653b90fcbe9c161153e39b8cc69fb5"
+SRC_URI[sha256sum] = "631be8eac6cf6230ba478de211941d526808dba3cd436380793334496013ce97"
diff --git a/poky/meta/recipes-core/volatile-binds/files/mount-copybind b/poky/meta/recipes-core/volatile-binds/files/mount-copybind
index fddf52005..e32e67530 100755
--- a/poky/meta/recipes-core/volatile-binds/files/mount-copybind
+++ b/poky/meta/recipes-core/volatile-binds/files/mount-copybind
@@ -42,14 +42,14 @@ if [ -d "$mountpoint" ]; then
if ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir" "$mountpoint" > /dev/null 2>&1; then
if [ "$specdir_existed" != "yes" ]; then
- cp -pPR "$mountpoint"/. "$spec/"
+ cp -aPR "$mountpoint"/. "$spec/"
fi
mount -o "bind$options" "$spec" "$mountpoint"
fi
elif [ -f "$mountpoint" ]; then
if [ ! -f "$spec" ]; then
- cp -pP "$mountpoint" "$spec"
+ cp -aP "$mountpoint" "$spec"
fi
mount -o "bind$options" "$spec" "$mountpoint"
diff --git a/poky/meta/recipes-devtools/apt/apt-native.inc b/poky/meta/recipes-devtools/apt/apt-native.inc
index ef232c1eb..d82678632 100644
--- a/poky/meta/recipes-devtools/apt/apt-native.inc
+++ b/poky/meta/recipes-devtools/apt/apt-native.inc
@@ -7,8 +7,6 @@ USE_NLS = "yes"
SRC_URI += "file://db_linking_hack.patch \
file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
- file://0001-remove-Wsuggest-attribute-from-CFLAGS.patch \
- file://0001-fix-the-gcc-version-check.patch \
"
python do_install () {
diff --git a/poky/meta/recipes-devtools/apt/apt-package.inc b/poky/meta/recipes-devtools/apt/apt-package.inc
index 6a01f99c6..da91451d7 100644
--- a/poky/meta/recipes-devtools/apt/apt-package.inc
+++ b/poky/meta/recipes-devtools/apt/apt-package.inc
@@ -83,7 +83,7 @@ do_install () {
install -m 0644 include/apt-pkg/*.h ${D}${includedir}/apt-pkg/
install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/debian/apt.systemd.daily ${D}${libdir}/apt/
+ install -m 0755 ${S}/debian/apt.systemd.daily ${D}${libdir}/apt/
install -m 0644 ${S}/debian/apt-daily.service ${D}${systemd_unitdir}/system/
sed -i 's#/usr/lib/apt/#${libdir}/apt/#g' ${D}${systemd_unitdir}/system/apt-daily.service
install -m 0644 ${S}/debian/apt-daily.timer ${D}${systemd_unitdir}/system/
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch b/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch
deleted file mode 100644
index 3ac92462c..000000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 53c5d0982f03fd0e24c4195d6e1e42b9ade9d500 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Wed, 27 May 2015 14:30:28 +0800
-Subject: [PATCH] fix the gcc version check
-
-Upstream-Status: pending
-
-"GCC diagnostic push" is gcc 4.6 feature, gcc 4.4.7 on centos did not know it
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- apt-pkg/contrib/macros.h | 2 +-
- apt-pkg/deb/debsrcrecords.cc | 4 ++--
- apt-pkg/srcrecords.cc | 4 ++--
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h
-index 2727fd8..0ecae50 100644
---- a/apt-pkg/contrib/macros.h
-+++ b/apt-pkg/contrib/macros.h
-@@ -136,7 +136,7 @@
- #endif
- #endif
-
--#if __GNUC__ >= 4
-+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__)
- #define APT_IGNORE_DEPRECATED_PUSH \
- _Pragma("GCC diagnostic push") \
- _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
-diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc
-index e8295de..40160b2 100644
---- a/apt-pkg/deb/debsrcrecords.cc
-+++ b/apt-pkg/deb/debsrcrecords.cc
-@@ -139,13 +139,13 @@ bool debSrcRecordParser::Files(std::vector<pkgSrcRecords::File> &F)
- for (std::vector<pkgSrcRecords::File2>::const_iterator f2 = F2.begin(); f2 != F2.end(); ++f2)
- {
- pkgSrcRecords::File2 f;
--#if __GNUC__ >= 4
-+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__)
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
- #endif
- f.MD5Hash = f2->MD5Hash;
- f.Size = f2->Size;
--#if __GNUC__ >= 4
-+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__)
- #pragma GCC diagnostic pop
- #endif
- f.Path = f2->Path;
-diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc
-index 53d7e60..1484828 100644
---- a/apt-pkg/srcrecords.cc
-+++ b/apt-pkg/srcrecords.cc
-@@ -157,7 +157,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/
- for (std::vector<pkgSrcRecords::File>::const_iterator f = F.begin(); f != F.end(); ++f)
- {
- pkgSrcRecords::File2 f2;
--#if __GNUC__ >= 4
-+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__)
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
- #endif
-@@ -165,7 +165,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/
- f2.Size = f->Size;
- f2.Hashes.push_back(HashString("MD5Sum", f->MD5Hash));
- f2.FileSize = f->Size;
--#if __GNUC__ >= 4
-+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__)
- #pragma GCC diagnostic pop
- #endif
- f2.Path = f->Path;
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch b/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch
deleted file mode 100644
index 47870e3c8..000000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9fdf50d63df08ee65e7d8e62c35f19ac4841bca9 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Wed, 27 May 2015 09:48:45 +0800
-Subject: [PATCH] remove Wsuggest-attribute from CXXFLAGS
-
-Upstream-Status: Inappropriate
-
-Wsuggest-attribute is GCC 4.6 feature, centos6 is using GCC
-4.4.7 which unknown this flag, so remove it from CXXFLAGS
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- buildlib/environment.mak.in | 1 -
- test/libapt/makefile | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in
-index 9620722..c344d01 100644
---- a/buildlib/environment.mak.in
-+++ b/buildlib/environment.mak.in
-@@ -14,7 +14,6 @@ CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra
- CXXFLAGS+= -Wcast-align -Wlogical-op -Wredundant-decls -Wmissing-declarations -Wunsafe-loop-optimizations
- CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-include-dirs -Wnoexcept -Wsign-promo -Wundef
- # suggests methods which already have such an attribute
--#CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn
- # sanitize options to be enabled for testing
- #CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr
- # a bit too pedantic to be run by default
-diff --git a/test/libapt/makefile b/test/libapt/makefile
-index 5ff9cf6..c5b5190 100644
---- a/test/libapt/makefile
-+++ b/test/libapt/makefile
-@@ -40,7 +40,6 @@ CXXFLAGS += -pthread
- # disable some flags for gtest again
- CXXFLAGS+= -Wno-missing-declarations
- CXXFLAGS+= -Wno-missing-field-initializers
--CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn
- CXXFLAGS+= -Wno-undef
-
- # All Google Test headers. Usually you shouldn't change this definition.
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb
index 51a974890..89315915c 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb
@@ -20,6 +20,11 @@ EXTRA_OECONF_class-native = "--enable-targets=all \
--enable-install-libbfd \
--disable-werror"
+# gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target
+# So remove -O2 and use -Os as workaround
+SELECTED_OPTIMIZATION_remove_mipsarch = "-O2"
+SELECTED_OPTIMIZATION_append_mipsarch = " -Os"
+
do_install_class-native () {
autotools_do_install
@@ -47,3 +52,4 @@ PACKAGE_BEFORE_PN += "libbfd"
FILES_libbfd = "${libdir}/libbfd-*.so"
BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch
index ac16c5770..8a41a3a76 100644
--- a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch
+++ b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch
@@ -1,4 +1,4 @@
-From 4c0d7733f30903f8d7c7cd7433f5c8a7505e35f5 Mon Sep 17 00:00:00 2001
+From 31bb81ef15c42b10844eb8af8738f672076edf0e Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Tue, 21 Apr 2015 00:48:45 -0700
Subject: [PATCH] doc/local.mk: dont-depend-on-help2man.patch
@@ -10,15 +10,16 @@ Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Updated for bison 3.0.4
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
---
- doc/local.mk | 9 +--------
+ doc/local.mk | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/doc/local.mk b/doc/local.mk
-index c340452..642f385 100644
+index d12836e..f9bf332 100644
--- a/doc/local.mk
+++ b/doc/local.mk
-@@ -98,10 +98,7 @@ endif ! CROSS_COMPILING
+@@ -101,10 +101,7 @@ endif ! CROSS_COMPILING
## Man Pages. ##
## ----------- ##
@@ -30,9 +31,9 @@ index c340452..642f385 100644
# Differences to ignore when comparing the man page (the date).
remove_time_stamp = \
-@@ -124,10 +121,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS)
+@@ -127,10 +124,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS)
fi
- $(AM_V_at)rm -f $@*.t
+ $(AM_V_at)rm -f $@*.tmp
-if ENABLE_YACC
-nodist_man_MANS = doc/yacc.1
@@ -41,6 +42,3 @@ index c340452..642f385 100644
## ----------------------------- ##
## Graphviz examples generation. ##
## ----------------------------- ##
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/bison/bison_3.1.bb b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb
index a743bfdb8..adb9d48e9 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.1.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb
@@ -17,8 +17,8 @@ SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
# No point in hardcoding path to m4, just use PATH
EXTRA_OECONF += "M4=m4"
-SRC_URI[md5sum] = "db7e431785ad96870bfa570a15cab079"
-SRC_URI[sha256sum] = "7c2464ad6cb7b513b2c350a092d919327e1f63d12ff024836acbb504475da5c6"
+SRC_URI[md5sum] = "c9b552dee234b2f6b66e56b27e5234c9"
+SRC_URI[sha256sum] = "039ee45b61d95e5003e7e8376f9080001b4066ff357bde271b7faace53b9d804"
inherit autotools gettext texinfo
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch
deleted file mode 100644
index a8fcfc0f7..000000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From eecc48ecad359cd4fab650ce49cfe57e99d1859d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 17 May 2018 12:21:31 +0300
-Subject: [PATCH] Add LDFLAGS when building libbtrfsutil.so and python
- bindings.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 10f0e3b0..1697794c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -402,7 +402,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c
-
- libbtrfsutil.so.$(libbtrfsutil_version): $(libbtrfsutil_objects)
- @echo " [LD] $@"
-- $(Q)$(CC) $(LIBBTRFSUTIL_CFLAGS) $(libbtrfsutil_objects) \
-+ $(Q)$(CC) $(LIBBTRFSUTIL_CFLAGS) $(LDFLAGS) $(libbtrfsutil_objects) \
- -shared -Wl,-soname,libbtrfsutil.so.$(libbtrfsutil_major) -o $@
-
- libbtrfsutil.a: $(libbtrfsutil_objects)
-@@ -417,7 +417,7 @@ ifeq ($(PYTHON_BINDINGS),1)
- libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h
- @echo " [PY] libbtrfsutil"
- $(Q)cd libbtrfsutil/python; \
-- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build
-+ CFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build
-
- .PHONY: libbtrfsutil_python
- endif
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb
index a1e730966..2cd99706b 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb
@@ -14,9 +14,8 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
DEPENDS_append_class-target = " udev"
RDEPENDS_${PN} = "libgcc"
-SRCREV = "5c748404b97035463c79ba4e5fd41b6858535509"
+SRCREV = "781e36a784faa58a4f0515eef124af860d59e2c0"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
- file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
@@ -27,7 +26,10 @@ CLEANBROKEN = "1"
PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
EXTRA_OECONF = " --disable-zstd"
EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
-EXTRA_OEMAKE = "V=1"
+EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}"
+EXTRA_PYTHON_CFLAGS_class-native = ""
+EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}"
+EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'"
do_configure_prepend() {
# Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache.inc
index a31acada5..dcbbf0ca7 100644
--- a/poky/meta/recipes-devtools/ccache/ccache.inc
+++ b/poky/meta/recipes-devtools/ccache/ccache.inc
@@ -10,6 +10,7 @@ LICENSE = "GPLv3+"
DEPENDS = "zlib"
SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
+UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
inherit autotools
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb
index c70523dca..80c559fef 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb
@@ -8,11 +8,11 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "5b4c06f6af24633f667da37455281f24a4abd461"
+SRCREV = "f390af98c8f1bb04010e293ea864eae160f75879"
S = "${WORKDIR}/git"
-DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm"
+DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd"
DEPENDS_append_class-native = " file-replacement-native"
inherit cmake pkgconfig bash-completion distutils3-base
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch
deleted file mode 100644
index b36850886..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0ad7bba80d5b9035089ff2b2f77a774b5b201915 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:28:59 +0300
-Subject: [PATCH 5/5] dpkg-compiler.m4: remove -Wvla
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Remove the -Wvla flag from the set of compiler warning flags, since gcc
-on old host systems such as CentOS 5.8 doesn't support it, and it
-causes a build error for dpkg-native.
-
-Upstream-Status: Pending
-
-Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
-Update patch context for dpkg 1.19.4.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- m4/dpkg-compiler.m4 | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4
-index a6192f6..4c7bf2e 100644
---- a/m4/dpkg-compiler.m4
-+++ b/m4/dpkg-compiler.m4
-@@ -67,7 +67,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [
- DPKG_CHECK_COMPILER_FLAG([-Wshift-negative-value])
- DPKG_CHECK_COMPILER_FLAG([-Wsizeof-array-argument])
- DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool])
-- DPKG_CHECK_COMPILER_FLAG([-Wvla])
- DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings])
-
- AC_LANG_CASE(
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch b/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch
deleted file mode 100644
index 5debcc520..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 9d260d408f9e17abd1d1dccd685bd7e80a3655a9 Mon Sep 17 00:00:00 2001
-From: Donn Seeley <donn.seeley@windriver.com>
-Date: Tue, 25 Feb 2014 17:44:04 +0800
-Subject: [PATCH] dpkg: fix a link problem for dpkg-native on CentOS 5.8
-
-CentOS 5.8 kernels and headers support the sync_file_range() system call,
-but glibc 2.5 doesn't provide the syscall stub. It appears that this
-problem is known but will never be fixed:
-
- https://bugzilla.redhat.com/show_bug.cgi?id=518581
-
- Bug 518581 - [RHEL5] glibc misses sync_file_range syscall interface
-
- Status: CLOSED CANTFIX
- Last Closed: 2009-11-22 22:19:55
-
- Kirby Zhou 2009-08-20 23:37:55 EDT
-
- Description of problem:
-
- glibc misses sync_file_range syscall interface. The header file and
- man page both say 'sync_file_range' should exist. From man page,
- sync_file_range should exist sinc kernel-2.6.17
-
- Andreas Schwab 2009-08-21 03:24:24 EDT
-
- It has only been added to glibc 2.6, and cannot be backported due to
- ABI breakage. You can always fall back to syscall(3).
-
- Ulrich Drepper 2009-11-22 22:19:55 EST
-
- As comment #1 says, no chance to backport this.
-
- See the syscall man page for instructions.
-
- Jon E 2010-03-19 10:32:37 EDT
-
- then why document it if it's broken and you're not going to fix it?
- .. might want to FTFM over at sync_file_range(2) - in the meantime -
- borrowing from glibc 2.6 .. any thoughts on this implementation for a
- hacky workaround for those still on your "ancient releases" .. (eg:
- RHEL5.3)?:
-
- #ifdef ULI_WONT_FIX_THIS_IN_GLIBC2.5
- #define NR_sync_file_range 277
- int sync_file_range (int fd, __off64_t from, __off64_t to, unsigned int flags)
- {
- return syscall (NR_sync_file_range, fd,
- __LONG_LONG_PAIR ((long) (from >> 32), (long) from),
- __LONG_LONG_PAIR ((long) (to >> 32), (long) to),
- flags);
- }
- #endif
-
- assuming of course that you're on an x86_64 and include/asm-
- x86_64/unistd.h has the correct entry
-
- (fwiw - fio is starting to use this now)
-
-Rather than attempting to provide an implementation using syscall(),
-we take the more conservative route and ignore header support for
-sync_file_range() flags when the glibc version is <= 2.5.
-
-Upstream-Status: Inappropriate [everyone else builds on newer hosts :-)]
-
-Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
-Signed-off-by: Lei Liu <lei.liu2@windriver.com>
-
-Update patch context for dpkg 1.19.4.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- src/archives.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/archives.c b/src/archives.c
-index 8476a5c..b05a63f 100644
---- a/src/archives.c
-+++ b/src/archives.c
-@@ -68,7 +68,7 @@ fd_writeback_init(int fd)
- /* Ignore the return code as it should be considered equivalent to an
- * asynchronous hint for the kernel, we are doing an fsync() later on
- * anyway. */
--#if defined(SYNC_FILE_RANGE_WRITE)
-+#if defined(SYNC_FILE_RANGE_WRITE) && __GLIBC_PREREQ(2, 6)
- sync_file_range(fd, 0, 0, SYNC_FILE_RANGE_WRITE);
- #elif defined(HAVE_POSIX_FADVISE)
- posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED);
-@@ -1093,7 +1093,7 @@ tarobject(struct tar_archive *tar, struct tar_entry *ti)
- return 0;
- }
-
--#if defined(SYNC_FILE_RANGE_WAIT_BEFORE)
-+#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) && __GLIBC_PREREQ(2, 6)
- static void
- tar_writeback_barrier(struct fsys_namenode_list *files, struct pkginfo *pkg)
- {
---
-2.16.2
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch b/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch
new file mode 100644
index 000000000..e56b9d28a
--- /dev/null
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch
@@ -0,0 +1,21 @@
+pager: Use less instead of pager
+
+pager is a Debianism. Istead use directly pager.
+
+Upstream-Status: Inappropriate [OE-Core integration specific]
+
+Suggested-by: Burton, Ross <ross.burton@intel.com>
+Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
+diff --git a/lib/dpkg/dpkg.h b/lib/dpkg/dpkg.h
+index 2bb067a..6cbce80 100644
+--- a/lib/dpkg/dpkg.h
++++ b/lib/dpkg/dpkg.h
+@@ -95,7 +95,7 @@ DPKG_BEGIN_DECLS
+ #define MAXUPDATES 250
+
+ #define DEFAULTSHELL "sh"
+-#define DEFAULTPAGER "pager"
++#define DEFAULTPAGER "less"
+
+ #define MD5HASHLEN 32
+ #define MAXTRIGDIRECTIVE 256
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
index c3dbda77a..b83868fec 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
@@ -9,12 +9,12 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \
file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \
file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \
- file://0005-dpkg-compiler.m4-remove-Wvla.patch \
file://0006-add-musleabi-to-known-target-tripets.patch \
file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
file://0001-dpkg-Support-muslx32-build.patch \
+ file://pager.patch \
"
-SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch \
+SRC_URI_append_class-native = " \
file://tweak-options-require-tar-1.27.patch \
"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
index 0695ee9dc..ed946159b 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
@@ -113,7 +113,8 @@ ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2"
ALTERNATIVE_${PN}-tune2fs = "tune2fs"
ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
-RDEPENDS_${PN}-ptest += "${PN} ${PN}-tune2fs coreutils procps bash bzip2 diffutils perl"
+RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed"
+RDEPENDS_${PN}-ptest += "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
do_compile_ptest() {
oe_runmake -C ${B}/tests
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
index 157551e6a..5b8049f53 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
@@ -44,7 +44,7 @@ inherit autotools gettext ptest
EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
EXTRA_OECONF_append_class-native = " --without-bzlib"
-RDEPENDS_${PN}-ptest = "libasm libelf bash make coreutils ${PN}-binutils ${PN}"
+RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils"
EXTRA_OECONF_append_class-target += "--disable-tests-rpath"
@@ -61,6 +61,18 @@ do_compile_ptest() {
do_install_ptest() {
if [ ${PTEST_ENABLED} = "1" ]; then
+ # copy the files which needed by the cases
+ TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint"
+ install -d -m 755 ${D}${PTEST_PATH}/src
+ install -d -m 755 ${D}${PTEST_PATH}/libelf
+ install -d -m 755 ${D}${PTEST_PATH}/libdw
+ for test_file in ${TEST_FILES}; do
+ if [ -f ${B}/src/${test_file} ]; then
+ cp -r ${B}/src/${test_file} ${D}${PTEST_PATH}/src
+ fi
+ done
+ cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so
+ cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so
cp -r ${S}/tests/ ${D}${PTEST_PATH}
cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests
cp -r ${B}/config.h ${D}${PTEST_PATH}
@@ -109,3 +121,26 @@ FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils
# The package contains symlinks that trip up insane
INSANE_SKIP_${MLPREFIX}libdw = "dev-so"
+
+# avoid stripping some generated binaries otherwise some of the tests such as test-nlist,
+# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail
+INHIBIT_PACKAGE_STRIP_FILES = "\
+ ${PKGD}${PTEST_PATH}/tests/test-nlist \
+ ${PKGD}${PTEST_PATH}/tests/elfstrmerge \
+ ${PKGD}${PTEST_PATH}/tests/backtrace-child \
+ ${PKGD}${PTEST_PATH}/tests/backtrace-data \
+ ${PKGD}${PTEST_PATH}/tests/deleted \
+ ${PKGD}${PTEST_PATH}/src/strip \
+ ${PKGD}${PTEST_PATH}/src/addr2line \
+ ${PKGD}${PTEST_PATH}/src/elfcmp \
+ ${PKGD}${PTEST_PATH}/src/objdump \
+ ${PKGD}${PTEST_PATH}/src/readelf \
+ ${PKGD}${PTEST_PATH}/src/nm \
+ ${PKGD}${PTEST_PATH}/src/elflint \
+ ${PKGD}${PTEST_PATH}/libelf/libelf.so \
+ ${PKGD}${PTEST_PATH}/libdw/libdw.so \
+ ${PKGD}${PTEST_PATH}/backends/libebl_i386.so \
+ ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \
+"
+
+EXCLUDE_PACKAGES_FROM_SHLIBS = "${PN}-ptest"
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
index 67ca0e4c7..de8c05f11 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
@@ -1,19 +1,47 @@
-From 61939d2e552e7645ecd671fa01cf1c7a72caa82a Mon Sep 17 00:00:00 2001
+From e82a055f85e398cb03a4eaf5faf351a3a1f19344 Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Fri, 12 Apr 2019 16:29:58 +0800
-Subject: [PATCH] skip the test when gcc not deployed
+Date: Tue, 21 May 2019 15:20:34 +0800
+Subject: [PATCH v2] skip the test when gcc not deployed
Skip the tests which depend on gcc when
gcc not deployed.
-Upstream-Status: Inappropriate [oe specific]
+Upstream-Status: Submitted[https://sourceware.org/ml/elfutils-devel/2019-q2/msg00091.html]
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
---
+ tests/run-disasm-x86-64.sh | 2 ++
+ tests/run-disasm-x86.sh | 2 ++
tests/run-strip-g.sh | 2 ++
tests/run-strip-nothing.sh | 2 ++
- 2 files changed, 4 insertions(+)
+ 4 files changed, 8 insertions(+)
+diff --git a/tests/run-disasm-x86-64.sh b/tests/run-disasm-x86-64.sh
+index a6be62b..c3ef238 100755
+--- a/tests/run-disasm-x86-64.sh
++++ b/tests/run-disasm-x86-64.sh
+@@ -22,6 +22,8 @@ case "`uname -m`" in
+ x86_64)
+ tempfiles testfile45.o
+ testfiles testfile45.S testfile45.expect
++ # skip the case if no gcc deployed
++ which gcc || exit 77
+ gcc -m64 -c -o testfile45.o testfile45.S
+ testrun_compare ${abs_top_builddir}/src/objdump -d testfile45.o < testfile45.expect
+ ;;
+diff --git a/tests/run-disasm-x86.sh b/tests/run-disasm-x86.sh
+index 28a3df7..544fc28 100755
+--- a/tests/run-disasm-x86.sh
++++ b/tests/run-disasm-x86.sh
+@@ -22,6 +22,8 @@ case "`uname -m`" in
+ x86_64 | i?86 )
+ tempfiles testfile44.o
+ testfiles testfile44.S testfile44.expect
++ # skip the case if no gcc deployed
++ which gcc || exit 77
+ gcc -m32 -c -o testfile44.o testfile44.S
+ testrun_compare ${abs_top_builddir}/src/objdump -d testfile44.o < testfile44.expect
+ ;;
diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh
index 1303819..a943dec 100755
--- a/tests/run-strip-g.sh
diff --git a/poky/meta/recipes-devtools/file/file_5.36.bb b/poky/meta/recipes-devtools/file/file_5.37.bb
index 9a0e5bd22..803aa9a27 100644
--- a/poky/meta/recipes-devtools/file/file_5.36.bb
+++ b/poky/meta/recipes-devtools/file/file_5.37.bb
@@ -16,7 +16,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P<pver>(?!6_23).+)"
SRC_URI = "git://github.com/file/file.git"
-SRCREV = "f3a4b9ada3ca99e62c62b9aa78eee4935a8094fe"
+SRCREV = "a0d5b0e4e9f97d74a9911e95cedd579852e25398"
S = "${WORKDIR}/git"
inherit autotools update-alternatives
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
index fe9c7c360..1781ff5b5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
@@ -36,7 +36,6 @@ SRC_URI = "\
file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
file://0004-64-bit-multilib-hack.patch \
file://0005-optional-libstdc.patch \
- file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
file://0007-COLLECT_GCC_OPTIONS.patch \
file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
file://0009-fortran-cross-compile-hack.patch \
@@ -72,6 +71,8 @@ SRC_URI = "\
file://0039-riscv-Disable-multilib-for-OE.patch \
file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \
file://0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch \
+ file://0042-PR-debug-86964.patch \
+ file://0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch \
"
SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896"
SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
deleted file mode 100644
index 0cea228c8..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 1dba090a11c40b0926f9707a543d658c95e1f156 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:14:20 +0400
-Subject: [PATCH 06/40] gcc: disable MASK_RELAX_PIC_CALLS bit
-
-The new feature added after 4.3.3
-"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
-will cause cc1plus eat up all the system memory when build webkit-gtk.
-The function mips_get_pic_call_symbol keeps on recursively calling itself.
-Disable this feature to walk aside the bug.
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 7 -------
- gcc/configure.ac | 7 -------
- 2 files changed, 14 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 3901722400c..0c9b8ac5f55 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -27553,13 +27553,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
- $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 1b1362f70fe..53840363115 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4798,13 +4798,6 @@ x:
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
-
- AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch
new file mode 100644
index 000000000..d9b5d39b7
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch
@@ -0,0 +1,94 @@
+From beb921e1106b5bcbb0c6e2be84b241327e2ffc51 Mon Sep 17 00:00:00 2001
+From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 25 Mar 2019 21:19:09 +0000
+Subject: [PATCH] PR debug/86964 * dwarf2out.c
+ (premark_used_variables): New function. (prune_unused_types_walk): Do
+ not mark not premarked external variables. (prune_unused_types):
+ Call premark_used_variables.
+
+ * gcc.dg/debug/dwarf2/pr86964.c: New testcase.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269925 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+---
+ gcc/ChangeLog | 8 ++++++
+ gcc/dwarf2out.c | 32 +++++++++++++++++++++
+ 2 files changed, 40 insertions(+)
+
+diff --git a/gcc/ChangeLog b/gcc/ChangeLog
+index 2075480ca2b..cdce539ac6f 100644
+--- a/gcc/ChangeLog
++++ b/gcc/ChangeLog
+@@ -1,3 +1,11 @@
++2019-03-25 Johan Karlsson <johan.karlsson@enea.com>
++
++ PR debug/86964
++ * dwarf2out.c (premark_used_variables): New function.
++ (prune_unused_types_walk): Do not mark not premarked external
++ variables.
++ (prune_unused_types): Call premark_used_variables.
++
+ 2019-02-22 Release Manager
+
+ * GCC 8.3.0 released.
+diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
+index ae8bdee9981..b9a624e1ac7 100644
+--- a/gcc/dwarf2out.c
++++ b/gcc/dwarf2out.c
+@@ -22658,6 +22658,21 @@ premark_types_used_by_global_vars (void)
+ ->traverse<void *, premark_types_used_by_global_vars_helper> (NULL);
+ }
+
++/* Mark all variables used by the symtab as perennial. */
++
++static void
++premark_used_variables (void)
++{
++ /* Mark DIEs in the symtab as used. */
++ varpool_node *var;
++ FOR_EACH_VARIABLE (var)
++ {
++ dw_die_ref die = lookup_decl_die (var->decl);
++ if (die)
++ die->die_perennial_p = 1;
++ }
++}
++
+ /* Generate a DW_TAG_call_site DIE in function DECL under SUBR_DIE
+ for CA_LOC call arg loc node. */
+
+@@ -29264,6 +29279,19 @@ prune_unused_types_walk (dw_die_ref die)
+
+ return;
+
++ case DW_TAG_variable:
++ if (flag_debug_only_used_symbols)
++ {
++ if (die->die_perennial_p)
++ break;
++
++ /* premark_used_variables marks external variables --- don't mark
++ them here. */
++ if (get_AT (die, DW_AT_external))
++ return;
++ }
++ /* FALLTHROUGH */
++
+ default:
+ /* Mark everything else. */
+ break;
+@@ -29390,6 +29418,10 @@ prune_unused_types (void)
+ /* Mark types that are used in global variables. */
+ premark_types_used_by_global_vars ();
+
++ /* Mark variables used in the symtab. */
++ if (flag_debug_only_used_symbols)
++ premark_used_variables ();
++
+ /* Set the mark on nodes that are actually used. */
+ prune_unused_types_walk (comp_unit_die ());
+ for (node = limbo_die_list; node; node = node->next)
+--
+2.21.0
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch
new file mode 100644
index 000000000..f15207f58
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch
@@ -0,0 +1,813 @@
+From f98495d90ba66f67fe922a4b9229ea787041c418 Mon Sep 17 00:00:00 2001
+From: thopre01 <thopre01@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 22 Nov 2018 14:46:17 +0000
+Subject: [PATCH] PR85434: Prevent spilling of stack protector guard's address
+ on ARM
+
+In case of high register pressure in PIC mode, address of the stack
+protector's guard can be spilled on ARM targets as shown in PR85434,
+thus allowing an attacker to control what the canary would be compared
+against. ARM does lack stack_protect_set and stack_protect_test insn
+patterns, defining them does not help as the address is expanded
+regularly and the patterns only deal with the copy and test of the
+guard with the canary.
+
+This problem does not occur for x86 targets because the PIC access and
+the test can be done in the same instruction. Aarch64 is exempt too
+because PIC access insn pattern are mov of UNSPEC which prevents it from
+the second access in the epilogue being CSEd in cse_local pass with the
+first access in the prologue.
+
+The approach followed here is to create new "combined" set and test
+standard pattern names that take the unexpanded guard and do the set or
+test. This allows the target to use an opaque pattern (eg. using UNSPEC)
+to hide the individual instructions being generated to the compiler and
+split the pattern into generic load, compare and branch instruction
+after register allocator, therefore avoiding any spilling. This is here
+implemented for the ARM targets. For targets not implementing these new
+standard pattern names, the existing stack_protect_set and
+stack_protect_test pattern names are used.
+
+To be able to split PIC access after register allocation, the functions
+had to be augmented to force a new PIC register load and to control
+which register it loads into. This is because sharing the PIC register
+between prologue and epilogue could lead to spilling due to CSE again
+which an attacker could use to control what the canary gets compared
+against.
+
+2018-11-22 Thomas Preud'homme <thomas.preudhomme@linaro.org>
+
+ gcc/
+ PR target/85434
+ * target-insns.def (stack_protect_combined_set): Define new standard
+ pattern name.
+ (stack_protect_combined_test): Likewise.
+ * cfgexpand.c (stack_protect_prologue): Try new
+ stack_protect_combined_set pattern first.
+ * function.c (stack_protect_epilogue): Try new
+ stack_protect_combined_test pattern first.
+ * config/arm/arm.c (require_pic_register): Add pic_reg and compute_now
+ parameters to control which register to use as PIC register and force
+ reloading PIC register respectively. Insert in the stream of insns if
+ possible.
+ (legitimize_pic_address): Expose above new parameters in prototype and
+ adapt recursive calls accordingly. Use pic_reg if non null instead of
+ cached one.
+ (arm_load_pic_register): Add pic_reg parameter and use it if non null.
+ (arm_legitimize_address): Adapt to new legitimize_pic_address
+ prototype.
+ (thumb_legitimize_address): Likewise.
+ (arm_emit_call_insn): Adapt to require_pic_register prototype change.
+ (arm_expand_prologue): Adapt to arm_load_pic_register prototype change.
+ (thumb1_expand_prologue): Likewise.
+ * config/arm/arm-protos.h (legitimize_pic_address): Adapt to prototype
+ change.
+ (arm_load_pic_register): Likewise.
+ * config/arm/predicated.md (guard_addr_operand): New predicate.
+ (guard_operand): New predicate.
+ * config/arm/arm.md (movsi expander): Adapt to legitimize_pic_address
+ prototype change.
+ (builtin_setjmp_receiver expander): Adapt to thumb1_expand_prologue
+ prototype change.
+ (stack_protect_combined_set): New expander..
+ (stack_protect_combined_set_insn): New insn_and_split pattern.
+ (stack_protect_set_insn): New insn pattern.
+ (stack_protect_combined_test): New expander.
+ (stack_protect_combined_test_insn): New insn_and_split pattern.
+ (arm_stack_protect_test_insn): New insn pattern.
+ * config/arm/thumb1.md (thumb1_stack_protect_test_insn): New insn pattern.
+ * config/arm/unspecs.md (UNSPEC_SP_SET): New unspec.
+ (UNSPEC_SP_TEST): Likewise.
+ * doc/md.texi (stack_protect_combined_set): Document new standard
+ pattern name.
+ (stack_protect_set): Clarify that the operand for guard's address is
+ legal.
+ (stack_protect_combined_test): Document new standard pattern name.
+ (stack_protect_test): Clarify that the operand for guard's address is
+ legal.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266379 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2018-12886
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+---
+ gcc/ChangeLog | 49 ++++++
+ gcc/cfgexpand.c | 17 +++
+ gcc/config/arm/arm-protos.h | 4 +-
+ gcc/config/arm/arm.c | 87 ++++++++---
+ gcc/config/arm/arm.md | 163 +++++++++++++++++++-
+ gcc/config/arm/predicates.md | 17 +++
+ gcc/config/arm/thumb1.md | 13 ++
+ gcc/config/arm/unspecs.md | 3 +
+ gcc/doc/md.texi | 55 ++++++-
+ gcc/function.c | 32 +++-
+ gcc/target-insns.def | 2 +
+ 11 files changed, 399 insertions(+), 43 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/arm/pr85434.c
+
+diff --git a/gcc/ChangeLog b/gcc/ChangeLog
+index e2ebfd34214..fa41e7112e0 100644
+--- a/gcc/ChangeLog
++++ b/gcc/ChangeLog
+@@ -1537,6 +1537,55 @@
+ * config/arm/neon.md (movv4hf, movv8hf): Refactored to..
+ (mov<mov>): ..this and enable unconditionally.
+
++2018-11-22 Thomas Preud'homme <thomas.preudhomme@linaro.org>
++
++ * target-insns.def (stack_protect_combined_set): Define new standard
++ pattern name.
++ (stack_protect_combined_test): Likewise.
++ * cfgexpand.c (stack_protect_prologue): Try new
++ stack_protect_combined_set pattern first.
++ * function.c (stack_protect_epilogue): Try new
++ stack_protect_combined_test pattern first.
++ * config/arm/arm.c (require_pic_register): Add pic_reg and compute_now
++ parameters to control which register to use as PIC register and force
++ reloading PIC register respectively. Insert in the stream of insns if
++ possible.
++ (legitimize_pic_address): Expose above new parameters in prototype and
++ adapt recursive calls accordingly. Use pic_reg if non null instead of
++ cached one.
++ (arm_load_pic_register): Add pic_reg parameter and use it if non null.
++ (arm_legitimize_address): Adapt to new legitimize_pic_address
++ prototype.
++ (thumb_legitimize_address): Likewise.
++ (arm_emit_call_insn): Adapt to require_pic_register prototype change.
++ (arm_expand_prologue): Adapt to arm_load_pic_register prototype change.
++ (thumb1_expand_prologue): Likewise.
++ * config/arm/arm-protos.h (legitimize_pic_address): Adapt to prototype
++ change.
++ (arm_load_pic_register): Likewise.
++ * config/arm/predicated.md (guard_addr_operand): New predicate.
++ (guard_operand): New predicate.
++ * config/arm/arm.md (movsi expander): Adapt to legitimize_pic_address
++ prototype change.
++ (builtin_setjmp_receiver expander): Adapt to thumb1_expand_prologue
++ prototype change.
++ (stack_protect_combined_set): New expander..
++ (stack_protect_combined_set_insn): New insn_and_split pattern.
++ (stack_protect_set_insn): New insn pattern.
++ (stack_protect_combined_test): New expander.
++ (stack_protect_combined_test_insn): New insn_and_split pattern.
++ (arm_stack_protect_test_insn): New insn pattern.
++ * config/arm/thumb1.md (thumb1_stack_protect_test_insn): New insn pattern.
++ * config/arm/unspecs.md (UNSPEC_SP_SET): New unspec.
++ (UNSPEC_SP_TEST): Likewise.
++ * doc/md.texi (stack_protect_combined_set): Document new standard
++ pattern name.
++ (stack_protect_set): Clarify that the operand for guard's address is
++ legal.
++ (stack_protect_combined_test): Document new standard pattern name.
++ (stack_protect_test): Clarify that the operand for guard's address is
++ legal.
++
+ 2018-11-22 Uros Bizjak <ubizjak@gmail.com>
+
+ Backport from mainline
+diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
+index 8fa392fcd8a..21bdcdaeaa3 100644
+--- a/gcc/cfgexpand.c
++++ b/gcc/cfgexpand.c
+@@ -6185,6 +6185,23 @@ stack_protect_prologue (void)
+ rtx x, y;
+
+ x = expand_normal (crtl->stack_protect_guard);
++
++ if (targetm.have_stack_protect_combined_set () && guard_decl)
++ {
++ gcc_assert (DECL_P (guard_decl));
++ y = DECL_RTL (guard_decl);
++
++ /* Allow the target to compute address of Y and copy it to X without
++ leaking Y into a register. This combined address + copy pattern
++ allows the target to prevent spilling of any intermediate results by
++ splitting it after register allocator. */
++ if (rtx_insn *insn = targetm.gen_stack_protect_combined_set (x, y))
++ {
++ emit_insn (insn);
++ return;
++ }
++ }
++
+ if (guard_decl)
+ y = expand_normal (guard_decl);
+ else
+diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
+index 8d6d2395b84..00f5f16ed02 100644
+--- a/gcc/config/arm/arm-protos.h
++++ b/gcc/config/arm/arm-protos.h
+@@ -28,7 +28,7 @@ extern enum unwind_info_type arm_except_unwind_info (struct gcc_options *);
+ extern int use_return_insn (int, rtx);
+ extern bool use_simple_return_p (void);
+ extern enum reg_class arm_regno_class (int);
+-extern void arm_load_pic_register (unsigned long);
++extern void arm_load_pic_register (unsigned long, rtx);
+ extern int arm_volatile_func (void);
+ extern void arm_expand_prologue (void);
+ extern void arm_expand_epilogue (bool);
+@@ -69,7 +69,7 @@ extern int const_ok_for_dimode_op (HOST_WIDE_INT, enum rtx_code);
+ extern int arm_split_constant (RTX_CODE, machine_mode, rtx,
+ HOST_WIDE_INT, rtx, rtx, int);
+ extern int legitimate_pic_operand_p (rtx);
+-extern rtx legitimize_pic_address (rtx, machine_mode, rtx);
++extern rtx legitimize_pic_address (rtx, machine_mode, rtx, rtx, bool);
+ extern rtx legitimize_tls_address (rtx, rtx);
+ extern bool arm_legitimate_address_p (machine_mode, rtx, bool);
+ extern int arm_legitimate_address_outer_p (machine_mode, rtx, RTX_CODE, int);
+diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
+index 8393f0b87f3..12417de5102 100644
+--- a/gcc/config/arm/arm.c
++++ b/gcc/config/arm/arm.c
+@@ -7379,21 +7379,34 @@ legitimate_pic_operand_p (rtx x)
+ return 1;
+ }
+
+-/* Record that the current function needs a PIC register. Initialize
+- cfun->machine->pic_reg if we have not already done so. */
++/* Record that the current function needs a PIC register. If PIC_REG is null,
++ a new pseudo is allocated as PIC register, otherwise PIC_REG is used. In
++ both case cfun->machine->pic_reg is initialized if we have not already done
++ so. COMPUTE_NOW decide whether and where to set the PIC register. If true,
++ PIC register is reloaded in the current position of the instruction stream
++ irregardless of whether it was loaded before. Otherwise, it is only loaded
++ if not already done so (crtl->uses_pic_offset_table is null). Note that
++ nonnull PIC_REG is only supported iff COMPUTE_NOW is true and null PIC_REG
++ is only supported iff COMPUTE_NOW is false. */
+
+ static void
+-require_pic_register (void)
++require_pic_register (rtx pic_reg, bool compute_now)
+ {
++ gcc_assert (compute_now == (pic_reg != NULL_RTX));
++
+ /* A lot of the logic here is made obscure by the fact that this
+ routine gets called as part of the rtx cost estimation process.
+ We don't want those calls to affect any assumptions about the real
+ function; and further, we can't call entry_of_function() until we
+ start the real expansion process. */
+- if (!crtl->uses_pic_offset_table)
++ if (!crtl->uses_pic_offset_table || compute_now)
+ {
+- gcc_assert (can_create_pseudo_p ());
++ gcc_assert (can_create_pseudo_p ()
++ || (pic_reg != NULL_RTX
++ && REG_P (pic_reg)
++ && GET_MODE (pic_reg) == Pmode));
+ if (arm_pic_register != INVALID_REGNUM
++ && !compute_now
+ && !(TARGET_THUMB1 && arm_pic_register > LAST_LO_REGNUM))
+ {
+ if (!cfun->machine->pic_reg)
+@@ -7409,8 +7422,10 @@ require_pic_register (void)
+ {
+ rtx_insn *seq, *insn;
+
++ if (pic_reg == NULL_RTX)
++ pic_reg = gen_reg_rtx (Pmode);
+ if (!cfun->machine->pic_reg)
+- cfun->machine->pic_reg = gen_reg_rtx (Pmode);
++ cfun->machine->pic_reg = pic_reg;
+
+ /* Play games to avoid marking the function as needing pic
+ if we are being called as part of the cost-estimation
+@@ -7421,11 +7436,12 @@ require_pic_register (void)
+ start_sequence ();
+
+ if (TARGET_THUMB1 && arm_pic_register != INVALID_REGNUM
+- && arm_pic_register > LAST_LO_REGNUM)
++ && arm_pic_register > LAST_LO_REGNUM
++ && !compute_now)
+ emit_move_insn (cfun->machine->pic_reg,
+ gen_rtx_REG (Pmode, arm_pic_register));
+ else
+- arm_load_pic_register (0UL);
++ arm_load_pic_register (0UL, pic_reg);
+
+ seq = get_insns ();
+ end_sequence ();
+@@ -7438,16 +7454,33 @@ require_pic_register (void)
+ we can't yet emit instructions directly in the final
+ insn stream. Queue the insns on the entry edge, they will
+ be committed after everything else is expanded. */
+- insert_insn_on_edge (seq,
+- single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
++ if (currently_expanding_to_rtl)
++ insert_insn_on_edge (seq,
++ single_succ_edge
++ (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
++ else
++ emit_insn (seq);
+ }
+ }
+ }
+ }
+
++/* Legitimize PIC load to ORIG into REG. If REG is NULL, a new pseudo is
++ created to hold the result of the load. If not NULL, PIC_REG indicates
++ which register to use as PIC register, otherwise it is decided by register
++ allocator. COMPUTE_NOW forces the PIC register to be loaded at the current
++ location in the instruction stream, irregardless of whether it was loaded
++ previously. Note that nonnull PIC_REG is only supported iff COMPUTE_NOW is
++ true and null PIC_REG is only supported iff COMPUTE_NOW is false.
++
++ Returns the register REG into which the PIC load is performed. */
++
+ rtx
+-legitimize_pic_address (rtx orig, machine_mode mode, rtx reg)
++legitimize_pic_address (rtx orig, machine_mode mode, rtx reg, rtx pic_reg,
++ bool compute_now)
+ {
++ gcc_assert (compute_now == (pic_reg != NULL_RTX));
++
+ if (GET_CODE (orig) == SYMBOL_REF
+ || GET_CODE (orig) == LABEL_REF)
+ {
+@@ -7480,9 +7513,12 @@ legitimize_pic_address (rtx orig, machine_mode mode, rtx reg)
+ rtx mem;
+
+ /* If this function doesn't have a pic register, create one now. */
+- require_pic_register ();
++ require_pic_register (pic_reg, compute_now);
++
++ if (pic_reg == NULL_RTX)
++ pic_reg = cfun->machine->pic_reg;
+
+- pat = gen_calculate_pic_address (reg, cfun->machine->pic_reg, orig);
++ pat = gen_calculate_pic_address (reg, pic_reg, orig);
+
+ /* Make the MEM as close to a constant as possible. */
+ mem = SET_SRC (pat);
+@@ -7531,9 +7567,11 @@ legitimize_pic_address (rtx orig, machine_mode mode, rtx reg)
+
+ gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS);
+
+- base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg);
++ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg,
++ pic_reg, compute_now);
+ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode,
+- base == reg ? 0 : reg);
++ base == reg ? 0 : reg, pic_reg,
++ compute_now);
+
+ if (CONST_INT_P (offset))
+ {
+@@ -7633,16 +7671,17 @@ static GTY(()) int pic_labelno;
+ low register. */
+
+ void
+-arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED)
++arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED, rtx pic_reg)
+ {
+- rtx l1, labelno, pic_tmp, pic_rtx, pic_reg;
++ rtx l1, labelno, pic_tmp, pic_rtx;
+
+ if (crtl->uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE)
+ return;
+
+ gcc_assert (flag_pic);
+
+- pic_reg = cfun->machine->pic_reg;
++ if (pic_reg == NULL_RTX)
++ pic_reg = cfun->machine->pic_reg;
+ if (TARGET_VXWORKS_RTP)
+ {
+ pic_rtx = gen_rtx_SYMBOL_REF (Pmode, VXWORKS_GOTT_BASE);
+@@ -8718,7 +8757,8 @@ arm_legitimize_address (rtx x, rtx orig_x, machine_mode mode)
+ {
+ /* We need to find and carefully transform any SYMBOL and LABEL
+ references; so go back to the original address expression. */
+- rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX);
++ rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX, NULL_RTX,
++ false /*compute_now*/);
+
+ if (new_x != orig_x)
+ x = new_x;
+@@ -8786,7 +8826,8 @@ thumb_legitimize_address (rtx x, rtx orig_x, machine_mode mode)
+ {
+ /* We need to find and carefully transform any SYMBOL and LABEL
+ references; so go back to the original address expression. */
+- rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX);
++ rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX, NULL_RTX,
++ false /*compute_now*/);
+
+ if (new_x != orig_x)
+ x = new_x;
+@@ -18074,7 +18115,7 @@ arm_emit_call_insn (rtx pat, rtx addr, bool sibcall)
+ ? !targetm.binds_local_p (SYMBOL_REF_DECL (addr))
+ : !SYMBOL_REF_LOCAL_P (addr)))
+ {
+- require_pic_register ();
++ require_pic_register (NULL_RTX, false /*compute_now*/);
+ use_reg (&CALL_INSN_FUNCTION_USAGE (insn), cfun->machine->pic_reg);
+ }
+
+@@ -22006,7 +22047,7 @@ arm_expand_prologue (void)
+ mask &= THUMB2_WORK_REGS;
+ if (!IS_NESTED (func_type))
+ mask |= (1 << IP_REGNUM);
+- arm_load_pic_register (mask);
++ arm_load_pic_register (mask, NULL_RTX);
+ }
+
+ /* If we are profiling, make sure no instructions are scheduled before
+@@ -25237,7 +25278,7 @@ thumb1_expand_prologue (void)
+ /* Load the pic register before setting the frame pointer,
+ so we can use r7 as a temporary work register. */
+ if (flag_pic && arm_pic_register != INVALID_REGNUM)
+- arm_load_pic_register (live_regs_mask);
++ arm_load_pic_register (live_regs_mask, NULL_RTX);
+
+ if (!frame_pointer_needed && CALLER_INTERWORKING_SLOT_SIZE > 0)
+ emit_move_insn (gen_rtx_REG (Pmode, ARM_HARD_FRAME_POINTER_REGNUM),
+diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
+index c8dc9474b1b..f6196e93168 100644
+--- a/gcc/config/arm/arm.md
++++ b/gcc/config/arm/arm.md
+@@ -6021,7 +6021,8 @@
+ operands[1] = legitimize_pic_address (operands[1], SImode,
+ (!can_create_pseudo_p ()
+ ? operands[0]
+- : 0));
++ : NULL_RTX), NULL_RTX,
++ false /*compute_now*/);
+ }
+ "
+ )
+@@ -6309,7 +6310,7 @@
+ /* r3 is clobbered by set/longjmp, so we can use it as a scratch
+ register. */
+ if (arm_pic_register != INVALID_REGNUM)
+- arm_load_pic_register (1UL << 3);
++ arm_load_pic_register (1UL << 3, NULL_RTX);
+ DONE;
+ }")
+
+@@ -8634,6 +8635,164 @@
+ (set_attr "conds" "clob")]
+ )
+
++;; Named patterns for stack smashing protection.
++(define_expand "stack_protect_combined_set"
++ [(parallel
++ [(set (match_operand:SI 0 "memory_operand" "")
++ (unspec:SI [(match_operand:SI 1 "guard_operand" "")]
++ UNSPEC_SP_SET))
++ (clobber (match_scratch:SI 2 ""))
++ (clobber (match_scratch:SI 3 ""))])]
++ ""
++ ""
++)
++
++;; Use a separate insn from the above expand to be able to have the mem outside
++;; the operand #1 when register allocation comes. This is needed to avoid LRA
++;; try to reload the guard since we need to control how PIC access is done in
++;; the -fpic/-fPIC case (see COMPUTE_NOW parameter when calling
++;; legitimize_pic_address ()).
++(define_insn_and_split "*stack_protect_combined_set_insn"
++ [(set (match_operand:SI 0 "memory_operand" "=m,m")
++ (unspec:SI [(mem:SI (match_operand:SI 1 "guard_addr_operand" "X,X"))]
++ UNSPEC_SP_SET))
++ (clobber (match_scratch:SI 2 "=&l,&r"))
++ (clobber (match_scratch:SI 3 "=&l,&r"))]
++ ""
++ "#"
++ "reload_completed"
++ [(parallel [(set (match_dup 0) (unspec:SI [(mem:SI (match_dup 2))]
++ UNSPEC_SP_SET))
++ (clobber (match_dup 2))])]
++ "
++{
++ if (flag_pic)
++ {
++ /* Forces recomputing of GOT base now. */
++ legitimize_pic_address (operands[1], SImode, operands[2], operands[3],
++ true /*compute_now*/);
++ }
++ else
++ {
++ if (address_operand (operands[1], SImode))
++ operands[2] = operands[1];
++ else
++ {
++ rtx mem = XEXP (force_const_mem (SImode, operands[1]), 0);
++ emit_move_insn (operands[2], mem);
++ }
++ }
++}"
++ [(set_attr "arch" "t1,32")]
++)
++
++(define_insn "*stack_protect_set_insn"
++ [(set (match_operand:SI 0 "memory_operand" "=m,m")
++ (unspec:SI [(mem:SI (match_operand:SI 1 "register_operand" "+&l,&r"))]
++ UNSPEC_SP_SET))
++ (clobber (match_dup 1))]
++ ""
++ "@
++ ldr\\t%1, [%1]\;str\\t%1, %0\;movs\t%1,#0
++ ldr\\t%1, [%1]\;str\\t%1, %0\;mov\t%1,#0"
++ [(set_attr "length" "8,12")
++ (set_attr "conds" "clob,nocond")
++ (set_attr "type" "multiple")
++ (set_attr "arch" "t1,32")]
++)
++
++(define_expand "stack_protect_combined_test"
++ [(parallel
++ [(set (pc)
++ (if_then_else
++ (eq (match_operand:SI 0 "memory_operand" "")
++ (unspec:SI [(match_operand:SI 1 "guard_operand" "")]
++ UNSPEC_SP_TEST))
++ (label_ref (match_operand 2))
++ (pc)))
++ (clobber (match_scratch:SI 3 ""))
++ (clobber (match_scratch:SI 4 ""))
++ (clobber (reg:CC CC_REGNUM))])]
++ ""
++ ""
++)
++
++;; Use a separate insn from the above expand to be able to have the mem outside
++;; the operand #1 when register allocation comes. This is needed to avoid LRA
++;; try to reload the guard since we need to control how PIC access is done in
++;; the -fpic/-fPIC case (see COMPUTE_NOW parameter when calling
++;; legitimize_pic_address ()).
++(define_insn_and_split "*stack_protect_combined_test_insn"
++ [(set (pc)
++ (if_then_else
++ (eq (match_operand:SI 0 "memory_operand" "m,m")
++ (unspec:SI [(mem:SI (match_operand:SI 1 "guard_addr_operand" "X,X"))]
++ UNSPEC_SP_TEST))
++ (label_ref (match_operand 2))
++ (pc)))
++ (clobber (match_scratch:SI 3 "=&l,&r"))
++ (clobber (match_scratch:SI 4 "=&l,&r"))
++ (clobber (reg:CC CC_REGNUM))]
++ ""
++ "#"
++ "reload_completed"
++ [(const_int 0)]
++{
++ rtx eq;
++
++ if (flag_pic)
++ {
++ /* Forces recomputing of GOT base now. */
++ legitimize_pic_address (operands[1], SImode, operands[3], operands[4],
++ true /*compute_now*/);
++ }
++ else
++ {
++ if (address_operand (operands[1], SImode))
++ operands[3] = operands[1];
++ else
++ {
++ rtx mem = XEXP (force_const_mem (SImode, operands[1]), 0);
++ emit_move_insn (operands[3], mem);
++ }
++ }
++ if (TARGET_32BIT)
++ {
++ emit_insn (gen_arm_stack_protect_test_insn (operands[4], operands[0],
++ operands[3]));
++ rtx cc_reg = gen_rtx_REG (CC_Zmode, CC_REGNUM);
++ eq = gen_rtx_EQ (CC_Zmode, cc_reg, const0_rtx);
++ emit_jump_insn (gen_arm_cond_branch (operands[2], eq, cc_reg));
++ }
++ else
++ {
++ emit_insn (gen_thumb1_stack_protect_test_insn (operands[4], operands[0],
++ operands[3]));
++ eq = gen_rtx_EQ (VOIDmode, operands[4], const0_rtx);
++ emit_jump_insn (gen_cbranchsi4 (eq, operands[4], const0_rtx,
++ operands[2]));
++ }
++ DONE;
++}
++ [(set_attr "arch" "t1,32")]
++)
++
++(define_insn "arm_stack_protect_test_insn"
++ [(set (reg:CC_Z CC_REGNUM)
++ (compare:CC_Z (unspec:SI [(match_operand:SI 1 "memory_operand" "m,m")
++ (mem:SI (match_operand:SI 2 "register_operand" "+l,r"))]
++ UNSPEC_SP_TEST)
++ (const_int 0)))
++ (clobber (match_operand:SI 0 "register_operand" "=&l,&r"))
++ (clobber (match_dup 2))]
++ "TARGET_32BIT"
++ "ldr\t%0, [%2]\;ldr\t%2, %1\;eors\t%0, %2, %0"
++ [(set_attr "length" "8,12")
++ (set_attr "conds" "set")
++ (set_attr "type" "multiple")
++ (set_attr "arch" "t,32")]
++)
++
+ (define_expand "casesi"
+ [(match_operand:SI 0 "s_register_operand" "") ; index to jump on
+ (match_operand:SI 1 "const_int_operand" "") ; lower bound
+diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md
+index 7e198f9bce4..69718ee9c7a 100644
+--- a/gcc/config/arm/predicates.md
++++ b/gcc/config/arm/predicates.md
+@@ -31,6 +31,23 @@
+ || REGNO_REG_CLASS (REGNO (op)) != NO_REGS));
+ })
+
++; Predicate for stack protector guard's address in
++; stack_protect_combined_set_insn and stack_protect_combined_test_insn patterns
++(define_predicate "guard_addr_operand"
++ (match_test "true")
++{
++ return (CONSTANT_ADDRESS_P (op)
++ || !targetm.cannot_force_const_mem (mode, op));
++})
++
++; Predicate for stack protector guard in stack_protect_combined_set and
++; stack_protect_combined_test patterns
++(define_predicate "guard_operand"
++ (match_code "mem")
++{
++ return guard_addr_operand (XEXP (op, 0), mode);
++})
++
+ (define_predicate "imm_for_neon_inv_logic_operand"
+ (match_code "const_vector")
+ {
+diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md
+index 19dcdbcdd73..cd199c9c529 100644
+--- a/gcc/config/arm/thumb1.md
++++ b/gcc/config/arm/thumb1.md
+@@ -1962,4 +1962,17 @@
+ }"
+ [(set_attr "type" "mov_reg")]
+ )
++
++(define_insn "thumb1_stack_protect_test_insn"
++ [(set (match_operand:SI 0 "register_operand" "=&l")
++ (unspec:SI [(match_operand:SI 1 "memory_operand" "m")
++ (mem:SI (match_operand:SI 2 "register_operand" "+l"))]
++ UNSPEC_SP_TEST))
++ (clobber (match_dup 2))]
++ "TARGET_THUMB1"
++ "ldr\t%0, [%2]\;ldr\t%2, %1\;eors\t%0, %2, %0"
++ [(set_attr "length" "8")
++ (set_attr "conds" "set")
++ (set_attr "type" "multiple")]
++)
+
+diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md
+index 19416736ef9..8f9dbcb08dc 100644
+--- a/gcc/config/arm/unspecs.md
++++ b/gcc/config/arm/unspecs.md
+@@ -86,6 +86,9 @@
+ UNSPEC_PROBE_STACK ; Probe stack memory reference
+ UNSPEC_NONSECURE_MEM ; Represent non-secure memory in ARMv8-M with
+ ; security extension
++ UNSPEC_SP_SET ; Represent the setting of stack protector's canary
++ UNSPEC_SP_TEST ; Represent the testing of stack protector's canary
++ ; against the guard.
+ ])
+
+ (define_c_enum "unspec" [
+diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
+index 295fc1f1143..895309b2f3c 100644
+--- a/gcc/doc/md.texi
++++ b/gcc/doc/md.texi
+@@ -7450,22 +7450,61 @@ builtins.
+ The get/set patterns have a single output/input operand respectively,
+ with @var{mode} intended to be @code{Pmode}.
+
++@cindex @code{stack_protect_combined_set} instruction pattern
++@item @samp{stack_protect_combined_set}
++This pattern, if defined, moves a @code{ptr_mode} value from an address
++whose declaration RTX is given in operand 1 to the memory in operand 0
++without leaving the value in a register afterward. If several
++instructions are needed by the target to perform the operation (eg. to
++load the address from a GOT entry then load the @code{ptr_mode} value
++and finally store it), it is the backend's responsibility to ensure no
++intermediate result gets spilled. This is to avoid leaking the value
++some place that an attacker might use to rewrite the stack guard slot
++after having clobbered it.
++
++If this pattern is not defined, then the address declaration is
++expanded first in the standard way and a @code{stack_protect_set}
++pattern is then generated to move the value from that address to the
++address in operand 0.
++
+ @cindex @code{stack_protect_set} instruction pattern
+ @item @samp{stack_protect_set}
+-This pattern, if defined, moves a @code{ptr_mode} value from the memory
+-in operand 1 to the memory in operand 0 without leaving the value in
+-a register afterward. This is to avoid leaking the value some place
+-that an attacker might use to rewrite the stack guard slot after
+-having clobbered it.
++This pattern, if defined, moves a @code{ptr_mode} value from the valid
++memory location in operand 1 to the memory in operand 0 without leaving
++the value in a register afterward. This is to avoid leaking the value
++some place that an attacker might use to rewrite the stack guard slot
++after having clobbered it.
++
++Note: on targets where the addressing modes do not allow to load
++directly from stack guard address, the address is expanded in a standard
++way first which could cause some spills.
+
+ If this pattern is not defined, then a plain move pattern is generated.
+
++@cindex @code{stack_protect_combined_test} instruction pattern
++@item @samp{stack_protect_combined_test}
++This pattern, if defined, compares a @code{ptr_mode} value from an
++address whose declaration RTX is given in operand 1 with the memory in
++operand 0 without leaving the value in a register afterward and
++branches to operand 2 if the values were equal. If several
++instructions are needed by the target to perform the operation (eg. to
++load the address from a GOT entry then load the @code{ptr_mode} value
++and finally store it), it is the backend's responsibility to ensure no
++intermediate result gets spilled. This is to avoid leaking the value
++some place that an attacker might use to rewrite the stack guard slot
++after having clobbered it.
++
++If this pattern is not defined, then the address declaration is
++expanded first in the standard way and a @code{stack_protect_test}
++pattern is then generated to compare the value from that address to the
++value at the memory in operand 0.
++
+ @cindex @code{stack_protect_test} instruction pattern
+ @item @samp{stack_protect_test}
+ This pattern, if defined, compares a @code{ptr_mode} value from the
+-memory in operand 1 with the memory in operand 0 without leaving the
+-value in a register afterward and branches to operand 2 if the values
+-were equal.
++valid memory location in operand 1 with the memory in operand 0 without
++leaving the value in a register afterward and branches to operand 2 if
++the values were equal.
+
+ If this pattern is not defined, then a plain compare pattern and
+ conditional branch pattern is used.
+diff --git a/gcc/function.c b/gcc/function.c
+index 85a5d9f43f7..69523c1d723 100644
+--- a/gcc/function.c
++++ b/gcc/function.c
+@@ -4937,18 +4937,34 @@ stack_protect_epilogue (void)
+ tree guard_decl = targetm.stack_protect_guard ();
+ rtx_code_label *label = gen_label_rtx ();
+ rtx x, y;
+- rtx_insn *seq;
++ rtx_insn *seq = NULL;
+
+ x = expand_normal (crtl->stack_protect_guard);
+- if (guard_decl)
+- y = expand_normal (guard_decl);
++
++ if (targetm.have_stack_protect_combined_test () && guard_decl)
++ {
++ gcc_assert (DECL_P (guard_decl));
++ y = DECL_RTL (guard_decl);
++ /* Allow the target to compute address of Y and compare it with X without
++ leaking Y into a register. This combined address + compare pattern
++ allows the target to prevent spilling of any intermediate results by
++ splitting it after register allocator. */
++ seq = targetm.gen_stack_protect_combined_test (x, y, label);
++ }
+ else
+- y = const0_rtx;
++ {
++ if (guard_decl)
++ y = expand_normal (guard_decl);
++ else
++ y = const0_rtx;
++
++ /* Allow the target to compare Y with X without leaking either into
++ a register. */
++ if (targetm.have_stack_protect_test ())
++ seq = targetm.gen_stack_protect_test (x, y, label);
++ }
+
+- /* Allow the target to compare Y with X without leaking either into
+- a register. */
+- if (targetm.have_stack_protect_test ()
+- && ((seq = targetm.gen_stack_protect_test (x, y, label)) != NULL_RTX))
++ if (seq)
+ emit_insn (seq);
+ else
+ emit_cmp_and_jump_insns (x, y, EQ, NULL_RTX, ptr_mode, 1, label);
+diff --git a/gcc/target-insns.def b/gcc/target-insns.def
+index 9a552c3d11c..d39889b3522 100644
+--- a/gcc/target-insns.def
++++ b/gcc/target-insns.def
+@@ -96,7 +96,9 @@ DEF_TARGET_INSN (sibcall_value, (rtx x0, rtx x1, rtx opt2, rtx opt3,
+ DEF_TARGET_INSN (simple_return, (void))
+ DEF_TARGET_INSN (split_stack_prologue, (void))
+ DEF_TARGET_INSN (split_stack_space_check, (rtx x0, rtx x1))
++DEF_TARGET_INSN (stack_protect_combined_set, (rtx x0, rtx x1))
+ DEF_TARGET_INSN (stack_protect_set, (rtx x0, rtx x1))
++DEF_TARGET_INSN (stack_protect_combined_test, (rtx x0, rtx x1, rtx x2))
+ DEF_TARGET_INSN (stack_protect_test, (rtx x0, rtx x1, rtx x2))
+ DEF_TARGET_INSN (store_multiple, (rtx x0, rtx x1, rtx x2))
+ DEF_TARGET_INSN (tablejump, (rtx x0, rtx x1))
+--
+2.21.0
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
index eb2538020..4c648a169 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
@@ -33,7 +33,6 @@ SRC_URI = "\
file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
file://0004-64-bit-multilib-hack.patch \
file://0005-optional-libstdc.patch \
- file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
file://0007-COLLECT_GCC_OPTIONS.patch \
file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
file://0009-fortran-cross-compile-hack.patch \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
deleted file mode 100644
index 4a552d516..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From ca3b3ac12d9b6e1065333dec89e7be2c733509d9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:14:20 +0400
-Subject: [PATCH 06/37] gcc: disable MASK_RELAX_PIC_CALLS bit
-
-The new feature added after 4.3.3
-"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
-will cause cc1plus eat up all the system memory when build webkit-gtk.
-The function mips_get_pic_call_symbol keeps on recursively calling itself.
-Disable this feature to walk aside the bug.
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 7 -------
- gcc/configure.ac | 7 -------
- 2 files changed, 14 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 2e08396622e..d36cb51bc2c 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -27509,13 +27509,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
- $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 7d34911573e..dfa88c35f3f 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -4816,13 +4816,6 @@ x:
- rm -f conftest.*
- fi
- fi
-- if test $gcc_cv_as_ld_jalr_reloc = yes; then
-- if test x$target_cpu_default = x; then
-- target_cpu_default=MASK_RELAX_PIC_CALLS
-- else
-- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
-- fi
-- fi
- AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
-
- AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index 3d03d8e57..a5c2600d7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -86,10 +86,6 @@ do_install () {
if [ -d ${D}${infodir} ]; then
rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
fi
- if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
- ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
- fi
-
}
do_install_append_class-target () {
@@ -98,20 +94,29 @@ do_install_append_class-target () {
fi
if [ "${TARGET_OS}" = "linux-gnun32" ]; then
- if [ "${MULTILIBS}" != "" ]; then
- mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux
- ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux/32
+ if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+ mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
+ ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/32
+ elif [ "${MULTILIB_VARIANTS}" != "" ]; then
+ mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+ ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
else
ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
fi
- fi
- if [ "${TARGET_OS}" = "linux-gnux32" ]; then
- if [ "${MULTILIBS}" != "" ]; then
- mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux
- ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-poky-linux/x32
+ elif [ "${TARGET_OS}" = "linux-gnux32" ]; then
+ if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+ mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux
+ ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-linux/x32
+ elif [ "${MULTILIB_VARIANTS}" != "" ]; then
+ mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+ ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux/32
else
ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
fi
+ elif [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+ mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
+ ln -s ../${TARGET_SYS}/bits ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/bits
+ ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
fi
if [ "${TCLIBC}" != "glibc" ]; then
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc
index f28b57439..db8d5f349 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
+ file://0001-gdbserver-ctrl-c-handling.patch \
file://0002-make-man-install-relative-to-DESTDIR.patch \
file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
@@ -15,11 +16,6 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
file://0009-Change-order-of-CFLAGS.patch \
file://0010-resolve-restrict-keyword-conflict.patch \
file://0011-Fix-invalid-sigprocmask-call.patch \
- file://gdbserver-ctrl-c-handling.patch \
- file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \
- file://CVE-2017-9778.patch \
- file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \
-"
-SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70"
-SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202"
-
+ "
+SRC_URI[md5sum] = "bbd95b2f9b34621ad7a19a3965476314"
+SRC_URI[sha256sum] = "802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 475e4f08e..c9daf25a4 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -40,4 +40,3 @@ do_install_append() {
rm -rf ${D}${exec_prefix}/lib
cross_canadian_bindirlinks
}
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb
index 301035940..301035940 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb
index 50cf159fd..50cf159fd 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index 52119a0aa..0f10b4173 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -8,3 +8,6 @@ inherit gettext
# cross-canadian must not see this
PACKAGES =+ "gdbserver"
FILES_gdbserver = "${bindir}/gdbserver"
+
+ALLOW_EMPTY_gdbserver_riscv64 = "1"
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch
deleted file mode 100644
index 2a962929d..000000000
--- a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 7406a50077773e78282a495cb32ef5b8179f6a33 Mon Sep 17 00:00:00 2001
-From: Dimitar Dimitrov <dimitar@dinux.eu>
-Date: Mon, 17 Dec 2018 21:30:52 +0200
-Subject: [PATCH] Fix build with latest GCC 9.0 tree
-
-A recent patch [1] to fix a GCC PR [2] actually broke the GDB build.
-To fix, remove the stack pointer clobber. GCC will ignore the clobber
-marker, and will not save or restore the stack pointer.
-
-I ran "make check-gdb" on x86_64 to ensure there are no regressions.
-
-gdb/ChangeLog:
-
-2018-12-17 Dimitar Dimitrov <dimitar@dinux.eu>
-
- * nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers.
-
-[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html
-[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
-
-Upstream-Status: Backport
-Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
----
- gdb/ChangeLog | 5 +++++
- gdb/nat/linux-ptrace.c | 4 ++--
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
-index d4c1b8f9fd..187cfeb9bc 100644
---- a/gdb/nat/linux-ptrace.c
-+++ b/gdb/nat/linux-ptrace.c
-@@ -161,14 +161,14 @@ linux_ptrace_test_ret_to_nx (void)
- ".globl linux_ptrace_test_ret_to_nx_instr;"
- "linux_ptrace_test_ret_to_nx_instr:"
- "ret"
-- : : "r" (return_address) : "%esp", "memory");
-+ : : "r" (return_address) : "memory");
- #elif defined __x86_64__
- asm volatile ("pushq %0;"
- ".globl linux_ptrace_test_ret_to_nx_instr;"
- "linux_ptrace_test_ret_to_nx_instr:"
- "ret"
- : : "r" ((uint64_t) (uintptr_t) return_address)
-- : "%rsp", "memory");
-+ : "memory");
- #else
- # error "!__i386__ && !__x86_64__"
- #endif
---
-2.20.1
diff --git a/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
index 71fe7f83b..71fe7f83b 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
index bbe0020bf..170d512ef 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -1,24 +1,24 @@
-From 1dd5c44474b01d84de60faded960fef4a0a87e41 Mon Sep 17 00:00:00 2001
+From da30370c1e3ff7728a857e119e0529a9f097086e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 18:32:14 -0700
-Subject: [PATCH 04/11] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC
- systems
+Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
gdb/gdbserver/linux-ppc-low.c | 6 ++++++
gdb/nat/ppc-linux.h | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
-index 47428c1529..841a5e02b9 100644
+index 1b695e53..1978347c 100644
--- a/gdb/gdbserver/linux-ppc-low.c
+++ b/gdb/gdbserver/linux-ppc-low.c
-@@ -21,7 +21,13 @@
- #include "linux-low.h"
-
+@@ -23,7 +23,13 @@
+ #include "elf/common.h"
+ #include <sys/uio.h>
#include <elf.h>
+#if !defined(__GLIBC__)
+# define pt_regs uapi_pt_regs
@@ -31,12 +31,12 @@ index 47428c1529..841a5e02b9 100644
#include "arch/ppc-linux-common.h"
#include "arch/ppc-linux-tdesc.h"
diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
-index 3d4d4fdc56..5b93af8d3a 100644
+index f1561b3b..40399361 100644
--- a/gdb/nat/ppc-linux.h
+++ b/gdb/nat/ppc-linux.h
@@ -18,7 +18,13 @@
- #ifndef PPC_LINUX_H
- #define PPC_LINUX_H 1
+ #ifndef NAT_PPC_LINUX_H
+ #define NAT_PPC_LINUX_H
+#if !defined(__GLIBC__)
+# define pt_regs uapi_pt_regs
@@ -48,6 +48,3 @@ index 3d4d4fdc56..5b93af8d3a 100644
#include <asm/cputable.h>
/* This sometimes isn't defined. */
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch b/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
index d32352b81..95bec5fd6 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
@@ -1,7 +1,7 @@
-From d97878b272bd7c4993f4205983ae8b7ecddbcf82 Mon Sep 17 00:00:00 2001
+From bab0b34672727c50313eb98b8522355cbe1bde36 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:31:40 -0700
-Subject: [PATCH 08/11] Use exorted definitions of SIGRTMIN
+Subject: [PATCH] Use exorted definitions of SIGRTMIN
Define W_STOPCODE if not defined already
@@ -14,16 +14,17 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=13012
Upstream-Status: Submitted
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
gdb/linux-nat.c | 4 ++--
gdb/nat/linux-nat.h | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
-index 64015e7520..acf950c38b 100644
+index 063afe26..fb1d2d5d 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
-@@ -4724,6 +4724,6 @@ lin_thread_get_thread_signals (sigset_t *set)
+@@ -4713,6 +4713,6 @@ lin_thread_get_thread_signals (sigset_t *set)
/* NPTL reserves the first two RT signals, but does not provide any
way for the debugger to query the signal numbers - fortunately
they don't change. */
@@ -33,7 +34,7 @@ index 64015e7520..acf950c38b 100644
+ sigaddset (set, SIGRTMIN + 1);
}
diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
-index a90a124d3a..4f3e681962 100644
+index 1e32dd9e..b886305d 100644
--- a/gdb/nat/linux-nat.h
+++ b/gdb/nat/linux-nat.h
@@ -90,4 +90,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp);
@@ -44,7 +45,4 @@ index a90a124d3a..4f3e681962 100644
+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+#endif
+
- #endif /* LINUX_NAT_H */
---
-2.18.0
-
+ #endif /* NAT_LINUX_NAT_H */
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
deleted file mode 100644
index f35033c12..000000000
--- a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001
-From: Szabolcs Nagy <szabolcs.nagy@arm.com>
-Date: Thu, 13 Dec 2018 17:47:17 +0000
-Subject: [PATCH] AArch64: Fix the gdb build with musl libc
-
-Including asm/sigcontext.h together with libc headers is not valid. In
-general linux headers may not work with libc headers, so mixing them
-should be avoided, especially when the linux header defines types that
-are also exposed in libc headers.
-
-In case of asm/sigcontext.h glibc happens to work because glibc signal.h
-directly includes it, but e.g. in musl libc signal.h replicates the
-sigcontext.h definitions in an abi compatible way which are in conflict
-with the linux definitions when both headers are included.
-
-Since old linux headers or old libc headers may not have the necessary
-definitions, gdb has to replicate the definitions it relies on anyway.
-Which is fine since all definitions must be ABI stable. For linux apis
-that are not available via libc headers, replicating the definitions in
-gdb is the most reliable way to use them.
-
-Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux
-headers, which is just as problematic and should be fixed in linux.
-
-gdb/ChangeLog:
-
- * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of
- asm/sigcontext.h.
-
-[ChangeLog entry stripped so that patch applies cleanly]
-Upstream-Status: Backport
-Signed-off-by: Paul Barker <paul@betafive.co.uk>
----
- gdb/nat/aarch64-sve-linux-ptrace.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h
-index 029e753ffe..172ae39432 100644
---- a/gdb/nat/aarch64-sve-linux-ptrace.h
-+++ b/gdb/nat/aarch64-sve-linux-ptrace.h
-@@ -20,7 +20,7 @@
- #ifndef AARCH64_SVE_LINUX_PTRACE_H
- #define AARCH64_SVE_LINUX_PTRACE_H
-
--#include <asm/sigcontext.h>
-+#include <signal.h>
- #include <sys/utsname.h>
- #include <sys/ptrace.h>
- #include <asm/ptrace.h>
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
deleted file mode 100644
index 935f2661f..000000000
--- a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From a608b79f30ab3f670095e14ba3d3b5b24a19fe68 Mon Sep 17 00:00:00 2001
-From: Sandra Loosemore <sandra@codesourcery.com>
-Date: Thu, 25 Apr 2019 07:27:02 -0700
-Subject: [PATCH] Detect invalid length field in debug frame FDE header.
-
-GDB was failing to catch cases where a corrupt ELF or core file
-contained an invalid length value in a Dwarf debug frame FDE header.
-It was checking for buffer overflow but not cases where the length was
-negative or caused pointer wrap-around.
-
-In addition to the additional validity check, this patch cleans up the
-multiple signed/unsigned conversions on the length field so that an
-unsigned representation is used consistently throughout.
-
-This patch fixes CVE-2017-9778 and PR gdb/21600.
-
-2019-04-25 Sandra Loosemore <sandra@codesourcery.com>
- Kang Li <kanglictf@gmail.com>
-
- PR gdb/21600
-
- * dwarf2-frame.c (read_initial_length): Be consistent about using
- unsigned representation of length.
- (decode_frame_entry_1): Likewise. Check for wraparound of
- end pointer as well as buffer overflow.
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=723adb650a31859d7cc45832cb8adca0206455ed]
-CVE: CVE-2017-9778
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- gdb/ChangeLog | 11 +++++++++++
- gdb/dwarf2-frame.c | 14 +++++++-------
- 2 files changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/gdb/ChangeLog b/gdb/ChangeLog
-index 3711dc7..0a9720b 100644
---- a/gdb/ChangeLog
-+++ b/gdb/ChangeLog
-@@ -1,3 +1,14 @@
-+2019-04-25 Sandra Loosemore <sandra@codesourcery.com>
-+ Kang Li <kanglictf@gmail.com>
-+
-+ PR gdb/21600
-+
-+ * dwarf2-frame.c (read_initial_length): Be consistent about using
-+ unsigned representation of length.
-+ (decode_frame_entry_1): Likewise. Check for wraparound of
-+ end pointer as well as buffer overflow.
-+
-+
- 2018-12-23 Joel Brobecker <brobecker@adacore.com>
-
- * version.in: Set GDB version number to 8.2.1.
-diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
-index 91e16cf..a7b99fd 100644
---- a/gdb/dwarf2-frame.c
-+++ b/gdb/dwarf2-frame.c
-@@ -1477,7 +1477,7 @@ static ULONGEST
- read_initial_length (bfd *abfd, const gdb_byte *buf,
- unsigned int *bytes_read_ptr)
- {
-- LONGEST result;
-+ ULONGEST result;
-
- result = bfd_get_32 (abfd, buf);
- if (result == 0xffffffff)
-@@ -1780,7 +1780,7 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start,
- {
- struct gdbarch *gdbarch = get_objfile_arch (unit->objfile);
- const gdb_byte *buf, *end;
-- LONGEST length;
-+ ULONGEST length;
- unsigned int bytes_read;
- int dwarf64_p;
- ULONGEST cie_id;
-@@ -1791,15 +1791,15 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start,
- buf = start;
- length = read_initial_length (unit->abfd, buf, &bytes_read);
- buf += bytes_read;
-- end = buf + length;
--
-- /* Are we still within the section? */
-- if (end > unit->dwarf_frame_buffer + unit->dwarf_frame_size)
-- return NULL;
-+ end = buf + (size_t) length;
-
- if (length == 0)
- return end;
-
-+ /* Are we still within the section? */
-+ if (end <= buf || end > unit->dwarf_frame_buffer + unit->dwarf_frame_size)
-+ return NULL;
-+
- /* Distinguish between 32 and 64-bit encoded frame info. */
- dwarf64_p = (bytes_read == 12);
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb
index c6eac84dd..c6eac84dd 100644
--- a/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index e597ebedb..1630c1282 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -8,8 +8,8 @@ DEPENDS_class-native = "hostperl-runtime-native"
INHIBIT_DEFAULT_DEPS = "1"
-SRCREV = "058639be227bbe8f03cc39f79f7ce84918012143"
-PV = "20181128+git${SRCPV}"
+SRCREV = "b98424c249119b79d3f709e26eb86f2fd4d5e5f3"
+PV = "20190501+git${SRCPV}"
SRC_URI = "git://git.savannah.gnu.org/config.git \
file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-1.11.inc b/poky/meta/recipes-devtools/go/go-1.11.inc
deleted file mode 100644
index d03e26cea..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-require go-common.inc
-
-GO_BASEVERSION = "1.11"
-GO_MINOR = ".4"
-PV .= "${GO_MINOR}"
-FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
-
-SRC_URI += "\
- file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \
- file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \
- file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \
- file://0004-ld-add-soname-to-shareable-objects.patch \
- file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \
- file://0006-cmd-dist-separate-host-and-target-builds.patch \
- file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
- file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
-"
-SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
-
-SRC_URI[main.md5sum] = "a77697673215be465d1b583680ef2318"
-SRC_URI[main.sha256sum] = "4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15"
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch
deleted file mode 100644
index 4442858c8..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7cc519aa5f84cf8fc7ac8c10fc69aa8040330ea0 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Mon, 19 Feb 2018 08:49:33 -0800
-Subject: [PATCH] allow CC and CXX to have multiple words
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/go/internal/envcmd/env.go | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index afadbad..cedbfbf 100644
---- a/src/cmd/go/internal/envcmd/env.go
-+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -85,11 +85,11 @@ func MkEnv() []cfg.EnvVar {
-
- cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch)
- if env := strings.Fields(os.Getenv("CC")); len(env) > 0 {
-- cc = env[0]
-+ cc = strings.Join(env, " ")
- }
- cxx := cfg.DefaultCXX(cfg.Goos, cfg.Goarch)
- if env := strings.Fields(os.Getenv("CXX")); len(env) > 0 {
-- cxx = env[0]
-+ cxx = strings.Join(env, " ")
- }
- env = append(env, cfg.EnvVar{Name: "CC", Value: cc})
- env = append(env, cfg.EnvVar{Name: "CXX", Value: cxx})
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
deleted file mode 100644
index 66b856187..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From 47db69e20ed66fb62b01affd83d829654b829893 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Mon, 19 Feb 2018 08:50:59 -0800
-Subject: [PATCH] cmd/go: make content-based hash generation less pedantic
-
-Go 1.10's build tool now uses content-based hashes to
-determine when something should be built or re-built.
-This same mechanism is used to maintain a built-artifact
-cache for speeding up builds.
-
-However, the hashes it generates include information that
-doesn't work well with OE, nor with using a shared runtime
-library.
-
-First, it embeds path names to source files, unless
-building within GOROOT. This prevents the building
-of a package in GOPATH for later staging into GOROOT.
-
-This patch adds support for the environment variable
-GOPATH_OMIT_IN_ACTIONID. If present, path name
-embedding is disabled.
-
-Second, if cgo is enabled, the build ID for cgo-related
-packages will include the current value of the environment
-variables for invoking the compiler (CC, CXX, FC) and
-any CGO_xxFLAGS variables. Only if the settings used
-during a compilation exactly match, character for character,
-the values used for compiling runtime/cgo or any other
-cgo-enabled package being imported, will the tool
-decide that the imported package is up-to-date.
-
-This is done to help ensure correctness, but is overly
-simplistic and effectively prevents the reuse of built
-artifacts that use cgo (or shared runtime, which includes
-runtime/cgo).
-
-This patch filters out all compiler flags except those
-beginning with '-m'. The default behavior can be restored
-by setting the CGO_PEDANTIC environment variable.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/go/internal/envcmd/env.go | 2 +-
- src/cmd/go/internal/work/exec.go | 63 ++++++++++++++++++++++---------
- 2 files changed, 46 insertions(+), 19 deletions(-)
-
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index cedbfbf..5763a0d 100644
---- a/src/cmd/go/internal/envcmd/env.go
-+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -128,7 +128,7 @@ func ExtraEnvVars() []cfg.EnvVar {
- func ExtraEnvVarsCostly() []cfg.EnvVar {
- var b work.Builder
- b.Init()
-- cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{})
-+ cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}, false)
- if err != nil {
- // Should not happen - b.CFlags was given an empty package.
- fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
-diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 12e1527..e41bfac 100644
---- a/src/cmd/go/internal/work/exec.go
-+++ b/src/cmd/go/internal/work/exec.go
-@@ -174,6 +174,8 @@ func (b *Builder) Do(root *Action) {
- wg.Wait()
- }
-
-+var omitGopath = os.Getenv("GOPATH_OMIT_IN_ACTIONID") != ""
-+
- // buildActionID computes the action ID for a build action.
- func (b *Builder) buildActionID(a *Action) cache.ActionID {
- p := a.Package
-@@ -190,7 +192,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
- // but it does not hide the exact value of $GOPATH.
- // Include the full dir in that case.
- // Assume b.WorkDir is being trimmed properly.
-- if !p.Goroot && !strings.HasPrefix(p.Dir, b.WorkDir) {
-+ if !p.Goroot && !omitGopath && !strings.HasPrefix(p.Dir, b.WorkDir) {
- fmt.Fprintf(h, "dir %s\n", p.Dir)
- }
- fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
-@@ -201,13 +203,13 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
- }
- if len(p.CgoFiles)+len(p.SwigFiles) > 0 {
- fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
-- cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p)
-- fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(), cppflags, cflags, ldflags)
-+ cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, true)
-+ fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(true), cppflags, cflags, ldflags)
- if len(p.CXXFiles)+len(p.SwigFiles) > 0 {
-- fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(), cxxflags)
-+ fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(true), cxxflags)
- }
- if len(p.FFiles) > 0 {
-- fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(), fflags)
-+ fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(true), fflags)
- }
- // TODO(rsc): Should we include the SWIG version or Fortran/GCC/G++/Objective-C compiler versions?
- }
-@@ -2096,33 +2098,33 @@ var (
- // gccCmd returns a gcc command line prefix
- // defaultCC is defined in zdefaultcc.go, written by cmd/dist.
- func (b *Builder) GccCmd(incdir, workdir string) []string {
-- return b.compilerCmd(b.ccExe(), incdir, workdir)
-+ return b.compilerCmd(b.ccExe(false), incdir, workdir)
- }
-
- // gxxCmd returns a g++ command line prefix
- // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
- func (b *Builder) GxxCmd(incdir, workdir string) []string {
-- return b.compilerCmd(b.cxxExe(), incdir, workdir)
-+ return b.compilerCmd(b.cxxExe(false), incdir, workdir)
- }
-
- // gfortranCmd returns a gfortran command line prefix.
- func (b *Builder) gfortranCmd(incdir, workdir string) []string {
-- return b.compilerCmd(b.fcExe(), incdir, workdir)
-+ return b.compilerCmd(b.fcExe(false), incdir, workdir)
- }
-
- // ccExe returns the CC compiler setting without all the extra flags we add implicitly.
--func (b *Builder) ccExe() []string {
-- return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch))
-+func (b *Builder) ccExe(filtered bool) []string {
-+ return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch), filtered)
- }
-
- // cxxExe returns the CXX compiler setting without all the extra flags we add implicitly.
--func (b *Builder) cxxExe() []string {
-- return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch))
-+func (b *Builder) cxxExe(filtered bool) []string {
-+ return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch), filtered)
- }
-
- // fcExe returns the FC compiler setting without all the extra flags we add implicitly.
--func (b *Builder) fcExe() []string {
-- return b.compilerExe(os.Getenv("FC"), "gfortran")
-+func (b *Builder) fcExe(filtered bool) []string {
-+ return b.compilerExe(os.Getenv("FC"), "gfortran", filtered)
- }
-
- // compilerExe returns the compiler to use given an
-@@ -2131,11 +2133,14 @@ func (b *Builder) fcExe() []string {
- // of the compiler but can have additional arguments if they
- // were present in the environment value.
- // For example if CC="gcc -DGOPHER" then the result is ["gcc", "-DGOPHER"].
--func (b *Builder) compilerExe(envValue string, def string) []string {
-+func (b *Builder) compilerExe(envValue string, def string, filtered bool) []string {
- compiler := strings.Fields(envValue)
- if len(compiler) == 0 {
- compiler = []string{def}
- }
-+ if filtered {
-+ return append(compiler[0:1], filterCompilerFlags(compiler[1:])...)
-+ }
- return compiler
- }
-
-@@ -2285,8 +2290,23 @@ func envList(key, def string) []string {
- return strings.Fields(v)
- }
-
-+var filterFlags = os.Getenv("CGO_PEDANTIC") == ""
-+
-+func filterCompilerFlags(flags []string) []string {
-+ var newflags []string
-+ if !filterFlags {
-+ return flags
-+ }
-+ for _, flag := range flags {
-+ if strings.HasPrefix(flag, "-m") {
-+ newflags = append(newflags, flag)
-+ }
-+ }
-+ return newflags
-+}
-+
- // CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo.
--func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
-+func (b *Builder) CFlags(p *load.Package, filtered bool) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
- defaults := "-g -O2"
-
- if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
-@@ -2304,6 +2324,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
- if ldflags, err = buildFlags("LDFLAGS", defaults, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
- return
- }
-+ if filtered {
-+ cppflags = filterCompilerFlags(cppflags)
-+ cflags = filterCompilerFlags(cflags)
-+ cxxflags = filterCompilerFlags(cxxflags)
-+ fflags = filterCompilerFlags(fflags)
-+ ldflags = filterCompilerFlags(ldflags)
-+ }
-
- return
- }
-@@ -2319,7 +2346,7 @@ var cgoRe = regexp.MustCompile(`[/\\:]`)
-
- func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
- p := a.Package
-- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p)
-+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false)
- if err != nil {
- return nil, nil, err
- }
-@@ -2679,7 +2706,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
-
- // Run SWIG on one SWIG input file.
- func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
-- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p)
-+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false)
- if err != nil {
- return "", "", err
- }
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
deleted file mode 100644
index b6ca40ede..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5c32c38bf19b24f0aadd78012d17ff5caa82151e Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 05:24:20 -0800
-Subject: [PATCH] allow GOTOOLDIR to be overridden in the environment
-
-to allow for split host/target build roots
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/dist/build.go | 4 +++-
- src/cmd/go/internal/cfg/cfg.go | 7 +++++--
- 2 files changed, 8 insertions(+), 3 deletions(-)
-
-Index: go/src/cmd/dist/build.go
-===================================================================
---- go.orig/src/cmd/dist/build.go
-+++ go/src/cmd/dist/build.go
-@@ -228,7 +228,9 @@ func xinit() {
- workdir = xworkdir()
- xatexit(rmworkdir)
-
-- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
-+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
-+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
-+ }
- }
-
- // compilerEnv returns a map from "goos/goarch" to the
-Index: go/src/cmd/go/internal/cfg/cfg.go
-===================================================================
---- go.orig/src/cmd/go/internal/cfg/cfg.go
-+++ go/src/cmd/go/internal/cfg/cfg.go
-@@ -116,7 +116,11 @@ func init() {
- // variables. This matches the initialization of ToolDir in
- // go/build, except for using GOROOT rather than
- // runtime.GOROOT.
-- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+ if s := os.Getenv("GOTOOLDIR"); s != "" {
-+ build.ToolDir = filepath.Clean(s)
-+ } else {
-+ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+ }
- }
- }
-
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch
deleted file mode 100644
index 004a33a02..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 55eb8c95a89f32aec16b7764e78e8cf75169dc81 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 06:26:10 -0800
-Subject: [PATCH] ld: add soname to shareable objects
-
-so that OE's shared library dependency handling
-can find them.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/link/internal/ld/lib.go | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index 220aab3..703925f 100644
---- a/src/cmd/link/internal/ld/lib.go
-+++ b/src/cmd/link/internal/ld/lib.go
-@@ -1135,6 +1135,7 @@ func (ctxt *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- if ctxt.HeadType != objabi.Hwindows {
- // Pass -z nodelete to mark the shared library as
- // non-closeable: a dlclose will do nothing.
-@@ -1146,6 +1147,8 @@ func (ctxt *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
-+
- case BuildModePlugin:
- if ctxt.HeadType == objabi.Hdarwin {
- argv = append(argv, "-dynamiclib")
-@@ -1154,6 +1157,7 @@ func (ctxt *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- }
- }
-
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
deleted file mode 100644
index ace8de9ea..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 1bf15aa8fb773604b2524cfdab493fa4d8fa9285 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 06:32:45 -0800
-Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap
-
-for handling OE cross-canadian builds.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/make.bash | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/make.bash b/src/make.bash
-index 78882d9..25943d0 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -163,7 +163,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
- exit 1
- fi
- rm -f cmd/dist/dist
--GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-
- # -e doesn't propagate out of eval, so check success by hand.
- eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -194,7 +194,7 @@ fi
- # Run dist bootstrap to complete make.bash.
- # Bootstrap installs a proper cmd/dist, built with the new toolchain.
- # Throw ours, built with Go 1.4, away after bootstrap.
--./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@"
-+CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@"
- rm -f ./cmd/dist/dist
-
- # DO NOT ADD ANY NEW CODE HERE.
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch
deleted file mode 100644
index 0c0d5da80..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From fe0fcaf43ef3aab81541dad2a71b46254dc4cf6a Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 10:03:48 -0800
-Subject: [PATCH] cmd/dist: separate host and target builds
-
-Change the dist tool to allow for OE-style cross-
-and cross-canadian builds:
-
- - command flags --host-only and --target only are added;
- if one is present, the other changes mentioned below
- take effect, and arguments may also be specified on
- the command line to enumerate the package(s) to be
- built.
-
- - for OE cross builds, go_bootstrap is always built for
- the current build host, and is moved, along with the supporting
- toolchain (asm, compile, etc.) to a separate 'native_native'
- directory under GOROOT/pkg/tool.
-
- - go_bootstrap is not automatically removed after the build,
- so it can be reused later (e.g., building both static and
- shared runtime).
-
-Note that for --host-only builds, it would be nice to specify
-just the "cmd" package to build only the go commands/tools,
-the staleness checks in the dist tool will fail if the "std"
-library has not also been built. So host-only builds have to
-build everything anyway.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
-more dist cleanup
-
----
- src/cmd/dist/build.go | 153 ++++++++++++++++++++++++++++++------------
- 1 file changed, 111 insertions(+), 42 deletions(-)
-
-Index: go/src/cmd/dist/build.go
-===================================================================
---- go.orig/src/cmd/dist/build.go
-+++ go/src/cmd/dist/build.go
-@@ -39,6 +39,7 @@ var (
- goldflags string
- workdir string
- tooldir string
-+ build_tooldir string
- oldgoos string
- oldgoarch string
- exe string
-@@ -50,6 +51,7 @@ var (
-
- rebuildall bool
- defaultclang bool
-+ crossBuild bool
-
- vflag int // verbosity
- )
-@@ -231,6 +233,8 @@ func xinit() {
- if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
- }
-+ build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
-+
- }
-
- // compilerEnv returns a map from "goos/goarch" to the
-@@ -260,7 +264,6 @@ func compilerEnv(envName, def string) ma
- if gohostos != goos || gohostarch != goarch {
- m[gohostos+"/"+gohostarch] = m[""]
- }
-- m[""] = env
- }
-
- for _, goos := range okgoos {
-@@ -487,8 +490,10 @@ func setup() {
- // We keep it in pkg/, just like the object directory above.
- if rebuildall {
- xremoveall(tooldir)
-+ xremoveall(build_tooldir)
- }
- xmkdirall(tooldir)
-+ xmkdirall(build_tooldir)
-
- // Remove tool binaries from before the tool/gohostos_gohostarch
- xremoveall(pathf("%s/bin/tool", goroot))
-@@ -1155,11 +1160,29 @@ func cmdbootstrap() {
-
- var noBanner bool
- var debug bool
-+ var hostOnly bool
-+ var targetOnly bool
-+ var toBuild = []string { "std", "cmd" }
-+
- flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
- flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
- flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
-+ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target")
-+ flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host")
-
-- xflagparse(0)
-+ xflagparse(-1)
-+
-+ if (hostOnly && targetOnly) {
-+ fatalf("specify only one of --host-only or --target-only\n")
-+ }
-+ crossBuild = hostOnly || targetOnly
-+ if flag.NArg() > 0 {
-+ if crossBuild {
-+ toBuild = flag.Args()
-+ } else {
-+ fatalf("package names not permitted without --host-only or --target-only\n")
-+ }
-+ }
-
- if debug {
- // cmd/buildid is used in debug mode.
-@@ -1207,8 +1230,13 @@ func cmdbootstrap() {
- xprintf("\n")
- }
-
-- gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
-- goldflags = os.Getenv("GO_LDFLAGS")
-+ // For split host/target cross/cross-canadian builds, we don't
-+ // want to be setting these flags until after we have compiled
-+ // the toolchain that runs on the build host.
-+ if ! crossBuild {
-+ gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
-+ goldflags = os.Getenv("GO_LDFLAGS")
-+ }
- goBootstrap := pathf("%s/go_bootstrap", tooldir)
- cmdGo := pathf("%s/go", gobin)
- if debug {
-@@ -1237,7 +1265,11 @@ func cmdbootstrap() {
- xprintf("\n")
- }
- xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
-- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ if crossBuild {
-+ os.Setenv("CC", defaultcc[""])
-+ } else {
-+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ }
- goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...)
- if debug {
- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-@@ -1274,50 +1306,84 @@ func cmdbootstrap() {
- }
- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-
-- if goos == oldgoos && goarch == oldgoarch {
-- // Common case - not setting up for cross-compilation.
-- timelog("build", "toolchain")
-- if vflag > 0 {
-- xprintf("\n")
-+ if crossBuild {
-+ gogcflags = os.Getenv("GO_GCFLAGS")
-+ goldflags = os.Getenv("GO_LDFLAGS")
-+ tool_files, _ := filepath.Glob(pathf("%s/*", tooldir))
-+ for _, f := range tool_files {
-+ copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec)
-+ xremove(f)
-+ }
-+ os.Setenv("GOTOOLDIR", build_tooldir)
-+ goBootstrap = pathf("%s/go_bootstrap", build_tooldir)
-+ if hostOnly {
-+ timelog("build", "host toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
-+ goInstall(goBootstrap, toBuild...)
-+ checkNotStale(goBootstrap, toBuild...)
-+ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary
-+
-+ timelog("build", "target toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ } else if targetOnly {
-+ goos = oldgoos
-+ goarch = oldgoarch
-+ os.Setenv("GOOS", goos)
-+ os.Setenv("GOARCH", goarch)
-+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
-+ goInstall(goBootstrap, toBuild...)
-+ checkNotStale(goBootstrap, toBuild...)
-+ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary
- }
-- xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
- } else {
-- // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
-- // Finish GOHOSTOS/GOHOSTARCH installation and then
-- // run GOOS/GOARCH installation.
-- timelog("build", "host toolchain")
-- if vflag > 0 {
-- xprintf("\n")
-+
-+ if goos == oldgoos && goarch == oldgoarch {
-+ // Common case - not setting up for cross-compilation.
-+ timelog("build", "toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
-+ } else {
-+ // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
-+ // Finish GOHOSTOS/GOHOSTARCH installation and then
-+ // run GOOS/GOARCH installation.
-+ timelog("build", "host toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
-+ goInstall(goBootstrap, "std", "cmd")
-+ checkNotStale(goBootstrap, "std", "cmd")
-+ checkNotStale(cmdGo, "std", "cmd")
-+
-+ timelog("build", "target toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ goos = oldgoos
-+ goarch = oldgoarch
-+ os.Setenv("GOOS", goos)
-+ os.Setenv("GOARCH", goarch)
-+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
- }
-- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
- goInstall(goBootstrap, "std", "cmd")
- checkNotStale(goBootstrap, "std", "cmd")
- checkNotStale(cmdGo, "std", "cmd")
-
-- timelog("build", "target toolchain")
-- if vflag > 0 {
-- xprintf("\n")
-- }
-- goos = oldgoos
-- goarch = oldgoarch
-- os.Setenv("GOOS", goos)
-- os.Setenv("GOARCH", goarch)
-- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-- xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
-- }
-- targets := []string{"std", "cmd"}
-- if goos == "js" && goarch == "wasm" {
-- // Skip the cmd tools for js/wasm. They're not usable.
-- targets = targets[:1]
-- }
-- goInstall(goBootstrap, targets...)
-- checkNotStale(goBootstrap, targets...)
-- checkNotStale(cmdGo, targets...)
-- if debug {
-- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
-+ if debug {
-+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
-+ }
- }
-
- // Check that there are no new files in $GOROOT/bin other than
-@@ -1335,7 +1401,11 @@ func cmdbootstrap() {
- }
-
- // Remove go_bootstrap now that we're done.
-- xremove(pathf("%s/go_bootstrap", tooldir))
-+ // Except that for split host/target cross-builds, we need to
-+ // keep it.
-+ if ! crossBuild {
-+ xremove(pathf("%s/go_bootstrap", tooldir))
-+ }
-
- // Print trailing banner unless instructed otherwise.
- if !noBanner {
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch
deleted file mode 100644
index 29ef947ab..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 7cc60b3887be2d5674b9f5d422d022976cf205e5 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Fri, 2 Mar 2018 06:00:20 -0800
-Subject: [PATCH] cmd/go: make GOROOT precious by default
-
-The go build tool normally rebuilds whatever it detects is
-stale. This can be a problem when GOROOT is intended to
-be read-only and the go runtime has been built as a shared
-library, since we don't want every application to be rebuilding
-the shared runtime - particularly in cross-build/packaging
-setups, since that would lead to 'abi mismatch' runtime errors.
-
-This patch prevents the install and linkshared actions from
-installing to GOROOT unless overridden with the GOROOT_OVERRIDE
-environment variable.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/go/internal/work/action.go | 3 +++
- src/cmd/go/internal/work/build.go | 5 +++++
- src/cmd/go/internal/work/exec.go | 25 +++++++++++++++++++++++++
- 3 files changed, 33 insertions(+)
-
-Index: go/src/cmd/go/internal/work/action.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/action.go
-+++ go/src/cmd/go/internal/work/action.go
-@@ -600,6 +600,9 @@ func (b *Builder) addTransitiveLinkDeps(
- if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
- continue
- }
-+ if goRootPrecious && (p1.Standard || p1.Goroot) {
-+ continue
-+ }
- haveShlib[filepath.Base(p1.Shlib)] = true
- // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
- // we'll end up building an overall library or executable that depends at runtime
-Index: go/src/cmd/go/internal/work/build.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/build.go
-+++ go/src/cmd/go/internal/work/build.go
-@@ -147,6 +147,7 @@ See also: go install, go get, go clean.
- }
-
- const concurrentGCBackendCompilationEnabledByDefault = true
-+var goRootPrecious bool = true
-
- func init() {
- // break init cycle
-@@ -160,6 +161,10 @@ func init() {
-
- AddBuildFlags(CmdBuild)
- AddBuildFlags(CmdInstall)
-+
-+ if x := os.Getenv("GOROOT_OVERRIDE"); x != "" {
-+ goRootPrecious = false
-+ }
- }
-
- // Note that flags consulted by other parts of the code
-Index: go/src/cmd/go/internal/work/exec.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/exec.go
-+++ go/src/cmd/go/internal/work/exec.go
-@@ -436,6 +436,23 @@ func (b *Builder) build(a *Action) (err
- return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target)
- }
-
-+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
-+ _, err := os.Stat(a.Package.Target)
-+ if err == nil {
-+ a.built = a.Package.Target
-+ a.Target = a.Package.Target
-+ a.buildID = b.fileHash(a.Package.Target)
-+ a.Package.Stale = false
-+ a.Package.StaleReason = "GOROOT-resident package"
-+ return nil
-+ }
-+ a.Package.Stale = true
-+ a.Package.StaleReason = "missing or invalid GOROOT-resident package"
-+ if b.IsCmdList {
-+ return nil
-+ }
-+ }
-+
- if err := b.Mkdir(a.Objdir); err != nil {
- return err
- }
-@@ -1438,6 +1455,14 @@ func BuildInstallFunc(b *Builder, a *Act
- return nil
- }
-
-+ if goRootPrecious && a.Package != nil {
-+ p := a.Package
-+ if p.Standard || p.Goroot {
-+ err := fmt.Errorf("attempting to install package %s into read-only GOROOT", p.ImportPath)
-+ return err
-+ }
-+ }
-+
- if err := b.Mkdir(a.Objdir); err != nil {
- return err
- }
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch
deleted file mode 100644
index 225cf439c..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0e0c247f0caec23528889ff09d98348cba9028f1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 26 Oct 2018 15:02:32 +0800
-Subject: [PATCH] use GOBUILDMODE to set buildmode
-
-While building go itself, the go build system does not support
-to set `-buildmode=pie' from environment.
-
-Add GOBUILDMODE to support it which make PIE executables the default
-build mode, as PIE executables are required as of Yocto
-
-Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI
-Upstream-Status: Denied [upstream choose antoher solution: `17a256b
-cmd/go: -buildmode=pie for android/arm']
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/cmd/go/internal/work/build.go | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-Index: go/src/cmd/go/internal/work/build.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/build.go
-+++ go/src/cmd/go/internal/work/build.go
-@@ -223,7 +223,11 @@ func AddBuildFlags(cmd *base.Command) {
-
- cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "")
- cmd.Flag.Var(buildCompiler{}, "compiler", "")
-- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
-+ if bm := os.Getenv("GOBUILDMODE"); bm != "" {
-+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "")
-+ } else {
-+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
-+ }
- cmd.Flag.Var(&load.BuildGcflags, "gcflags", "")
- cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "")
- cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "")
diff --git a/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch b/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
deleted file mode 100644
index fd67375c7..000000000
--- a/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sun, 18 Feb 2018 08:24:05 -0800
-Subject: [PATCH] ld: replace glibc dynamic linker with musl
-
-Rework of patch by Khem Raj <raj.khem@gmail.com>
-for go 1.10. Should be applied conditionally on
-musl being the system C library.
-
-Upstream-Status: Inappropriate [Real fix should be portable across libcs]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/link/internal/amd64/obj.go | 2 +-
- src/cmd/link/internal/arm/obj.go | 2 +-
- src/cmd/link/internal/arm64/obj.go | 2 +-
- src/cmd/link/internal/mips/obj.go | 2 +-
- src/cmd/link/internal/mips64/obj.go | 2 +-
- src/cmd/link/internal/ppc64/obj.go | 2 +-
- src/cmd/link/internal/s390x/obj.go | 2 +-
- src/cmd/link/internal/x86/obj.go | 2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
-index 87e8091..f522a63 100644
---- a/src/cmd/link/internal/amd64/obj.go
-+++ b/src/cmd/link/internal/amd64/obj.go
-@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
- PEreloc1: pereloc1,
- TLSIEtoLE: tlsIEtoLE,
-
-- Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
-+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
- Freebsddynld: "/libexec/ld-elf.so.1",
- Openbsddynld: "/usr/libexec/ld.so",
- Netbsddynld: "/libexec/ld.elf_so",
-diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go
-index 788be68..1d2b90e 100644
---- a/src/cmd/link/internal/arm/obj.go
-+++ b/src/cmd/link/internal/arm/obj.go
-@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
-+ Linuxdynld: "/lib/ld-musl-armhf.so.1",
- Freebsddynld: "/usr/libexec/ld-elf.so.1",
- Openbsddynld: "/usr/libexec/ld.so",
- Netbsddynld: "/libexec/ld.elf_so",
-diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go
-index 405d22d..b115659 100644
---- a/src/cmd/link/internal/arm64/obj.go
-+++ b/src/cmd/link/internal/arm64/obj.go
-@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
-+ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
-
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go
-index c5d3451..fd85e63 100644
---- a/src/cmd/link/internal/mips/obj.go
-+++ b/src/cmd/link/internal/mips/obj.go
-@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib/ld.so.1",
-+ Linuxdynld: "/lib/ld-musl-mipsle.so.1",
-
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go
-index 83974e5..097224f 100644
---- a/src/cmd/link/internal/mips64/obj.go
-+++ b/src/cmd/link/internal/mips64/obj.go
-@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib64/ld64.so.1",
-+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
- Netbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
-index 273d9b4..a503abe 100644
---- a/src/cmd/link/internal/ppc64/obj.go
-+++ b/src/cmd/link/internal/ppc64/obj.go
-@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Machoreloc1: machoreloc1,
-
- // TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
-- Linuxdynld: "/lib64/ld64.so.1",
-+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
-
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go
-index 9ac7eb8..3825ff7 100644
---- a/src/cmd/link/internal/s390x/obj.go
-+++ b/src/cmd/link/internal/s390x/obj.go
-@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib64/ld64.so.1",
-+ Linuxdynld: "/lib64/ld-musl-s390x.so.1",
-
- // not relevant for s390x
- Freebsddynld: "XXX",
-diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go
-index 6a744dc..d81f392 100644
---- a/src/cmd/link/internal/x86/obj.go
-+++ b/src/cmd/link/internal/x86/obj.go
-@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Machoreloc1: machoreloc1,
- PEreloc1: pereloc1,
-
-- Linuxdynld: "/lib/ld-linux.so.2",
-+ Linuxdynld: "/lib/ld-musl-i386.so.1",
- Freebsddynld: "/usr/libexec/ld-elf.so.1",
- Openbsddynld: "/usr/libexec/ld.so",
- Netbsddynld: "/usr/libexec/ld.elf_so",
diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc
index 0cf0a63ff..3f23f06f0 100644
--- a/poky/meta/recipes-devtools/go/go-1.12.inc
+++ b/poky/meta/recipes-devtools/go/go-1.12.inc
@@ -1,7 +1,7 @@
require go-common.inc
GO_BASEVERSION = "1.12"
-GO_MINOR = ".1"
+GO_MINOR = ".6"
PV .= "${GO_MINOR}"
FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
@@ -19,5 +19,5 @@ SRC_URI += "\
"
SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
-SRC_URI[main.md5sum] = "09fe592343465560b4b8431d870b3df3"
-SRC_URI[main.sha256sum] = "0be127684df4b842a64e58093154f9d15422f1405f1fcff4b2c36ffc6a15818a"
+SRC_URI[main.md5sum] = "48a4141fc718dd742d106431294f08bf"
+SRC_URI[main.sha256sum] = "c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb
deleted file mode 100644
index 7ac9449e4..000000000
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-cross-canadian.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-cross.inc b/poky/meta/recipes-devtools/go/go-cross.inc
index 29ce7f6e8..3d344a74d 100644
--- a/poky/meta/recipes-devtools/go/go-cross.inc
+++ b/poky/meta/recipes-devtools/go/go-cross.inc
@@ -14,6 +14,7 @@ export GO386 = "${TARGET_GO386}"
export GOMIPS = "${TARGET_GOMIPS}"
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
export GOROOT_FINAL = "${libdir}/go"
+export GOCACHE = "${B}/.cache"
CC = "${@d.getVar('BUILD_CC').strip()}"
do_configure[noexec] = "1"
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.11.bb b/poky/meta/recipes-devtools/go/go-cross_1.11.bb
deleted file mode 100644
index 80b5a03f6..000000000
--- a/poky/meta/recipes-devtools/go/go-cross_1.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-cross.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb
deleted file mode 100644
index 1857c8a57..000000000
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-crosssdk.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb
index cfc2186b3..a4d631f8e 100644
--- a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb
+++ b/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb
@@ -19,16 +19,6 @@ RDEPENDS_${PN}-dev += "bash"
BBCLASSEXTEND = "native nativesdk"
-# for x86 ends with textrel in ${PN}
-# http://errors.yoctoproject.org/Errors/Details/185630/
-# ERROR: QA Issue: ELF binary '/work/i586-oe-linux/go-dep/0.4.1-r0/packages-split/go-dep/usr/bin/dep' has relocations in .text [textrel]
-INSANE_SKIP_${PN} += "textrel"
-
-# for aarch64 ends with textrel in ${PN}-ptest
-# http://errors.yoctoproject.org/Errors/Details/185632/
-# ERROR: QA Issue: ELF binary '/work/aarch64-oe-linux/go-dep/0.4.1-r0/packages-split/go-dep-ptest/usr/lib/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test' has relocations in .text [textrel]
-INSANE_SKIP_${PN}-ptest += "textrel"
-
# For compiling ptest on mips and mips64, the current go-dep version fails with the go 1.11 toolchain.
# error message: vet config not found
PTEST_ENABLED_mips = "0"
diff --git a/poky/meta/recipes-devtools/go/go-native_1.11.bb b/poky/meta/recipes-devtools/go/go-native_1.11.bb
deleted file mode 100644
index bbf3c0dd7..000000000
--- a/poky/meta/recipes-devtools/go/go-native_1.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require ${PN}.inc
-require go-${PV}.inc
diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc
index c219aa378..e28219561 100644
--- a/poky/meta/recipes-devtools/go/go-runtime.inc
+++ b/poky/meta/recipes-devtools/go/go-runtime.inc
@@ -15,6 +15,7 @@ export CGO_CFLAGS = "${CFLAGS}"
export CGO_CPPFLAGS = "${CPPFLAGS}"
export CGO_CXXFLAGS = "${CXXFLAGS}"
export CGO_LDFLAGS = "${LDFLAGS}"
+export GOCACHE = "${B}/.cache"
GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}"
GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags '${GO_EXTLDFLAGS}'"'
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.11.bb b/poky/meta/recipes-devtools/go/go-runtime_1.11.bb
deleted file mode 100644
index 43b68b4e4..000000000
--- a/poky/meta/recipes-devtools/go/go-runtime_1.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require go-${PV}.inc
-require go-runtime.inc
diff --git a/poky/meta/recipes-devtools/go/go-target.inc b/poky/meta/recipes-devtools/go/go-target.inc
index 379f87b49..91efd3e97 100644
--- a/poky/meta/recipes-devtools/go/go-target.inc
+++ b/poky/meta/recipes-devtools/go/go-target.inc
@@ -10,6 +10,7 @@ export GO386 = "${TARGET_GO386}"
export GOMIPS = "${TARGET_GOMIPS}"
export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
export GOROOT_FINAL = "${libdir}/go"
+export GOCACHE = "${B}/.cache"
GO_LDFLAGS = ""
GO_LDFLAGS_class-nativesdk = "-linkmode external"
export GO_LDFLAGS
diff --git a/poky/meta/recipes-devtools/go/go_1.11.bb b/poky/meta/recipes-devtools/go/go_1.11.bb
deleted file mode 100644
index 42cdb0430..000000000
--- a/poky/meta/recipes-devtools/go/go_1.11.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require go-${PV}.inc
-require go-target.inc
-
-export GOBUILDMODE=""
-
-# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips
-# doesn't support -buildmode=pie, so skip the QA checking for mips and its
-# variants.
-python() {
- if 'mips' in d.getVar('TARGET_ARCH'):
- d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
- else:
- d.setVar('GOBUILDMODE', 'pie')
-}
diff --git a/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch
new file mode 100644
index 000000000..0c20c8458
--- /dev/null
+++ b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch
@@ -0,0 +1,45 @@
+json-c: Backport --disable-werror patch to allow compilation under icecc
+
+icecc preprocesses source files locally before shipping them off to be compiled
+on remote hosts. This preprocessing removes comments, including /* fallthough */
+comments in switch statements that normally prevent an implicit-fallthrough
+warning, see https://github.com/icecc/icecream/issues/419
+
+Rather than turning off -Werror, the upstream project has implemented a
+configure option, --disable-werror, in response to Ross's
+https://github.com/json-c/json-c/issues/489
+
+This patch from
+https://github.com/json-c/json-c/commit/21c886534f8927fdc0fb5f8647394f3e0e0874b8
+
+Upstream-Status: Backport [Not yet released]
+Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
+
+From 21c886534f8927fdc0fb5f8647394f3e0e0874b8 Mon Sep 17 00:00:00 2001
+From: Pierce Lopez <pierce.lopez@gmail.com>
+Date: Sun, 9 Jun 2019 10:52:08 -0400
+Subject: [PATCH] build: add --disable-werror option to configure
+
+to omit -Werror compiler option
+---
+ configure.ac | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 272ea6af9c..798fd5b747 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -165,7 +165,12 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"],
+ AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions])
+ AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)
+
+-AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations])
++AC_ARG_ENABLE([werror],
++ AS_HELP_STRING([--disable-werror], [avoid treating compiler warnings as fatal errors]))
++
++AS_IF([test "x$enable_werror" != "xno"], [AX_APPEND_COMPILE_FLAGS([-Werror])])
++
++AX_APPEND_COMPILE_FLAGS([-Wall -Wcast-qual -Wno-error=deprecated-declarations])
+ AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter])
+ AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE])
+
diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb
index 5b10e6829..9d8f2e787 100644
--- a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb
+++ b/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb
@@ -4,7 +4,9 @@ HOMEPAGE = "https://github.com/json-c/json-c/wiki"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
-SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz"
+SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
+ file://add-disable-werror-option-to-configure.patch \
+ "
SRC_URI[md5sum] = "04969ad59cc37bddd83741a08b98f350"
SRC_URI[sha256sum] = "b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873"
@@ -20,7 +22,9 @@ RPROVIDES_${PN} = "libjson"
inherit autotools
-EXTRA_OECONF = "--enable-rdrand"
+EXTRA_OECONF = "--disable-werror \
+ --enable-rdrand \
+ "
do_configure_prepend() {
# Clean up autoconf cruft that should not be in the tarball
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch
new file mode 100644
index 000000000..1568d25f9
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch
@@ -0,0 +1,28 @@
+From b651551134cf170038b3e01812e3767969506491 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 21 May 2019 17:59:26 +0200
+Subject: [PATCH] v1/meson.build: explicitly specify the v1 library in
+ pkgconfig
+
+Otherwise there would be '-lmodulemd' which resolves
+to v2 version if both v2 and v1 are present in the sysroot.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ modulemd/v1/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build
+index 4d54e69..9144ca2 100644
+--- a/modulemd/v1/meson.build
++++ b/modulemd/v1/meson.build
+@@ -325,7 +325,7 @@ configure_file(
+ )
+
+ pkg.generate(
+- libraries : modulemd_v1_lib,
++ libraries : '-l:libmodulemd.so.1',
+ subdirs : v1_header_path,
+ version : libmodulemd_v1_version,
+ name : 'modulemd',
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 40715c06e..7e8aea7be 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -5,16 +5,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb"
SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \
file://0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch \
file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \
+ file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \
"
-PV = "2.2.3"
-SRCREV = "4c75c6f8b39ee57aebe8fd36ef84808e893048c0"
+PV = "2.5.0"
+SRCREV = "8d9a99ddf037df7c032119cdd3a87238a3cc9090"
S = "${WORKDIR}/git"
inherit meson gobject-introspection
-EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false"
+EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true"
DEPENDS += "glib-2.0 libyaml glib-2.0-native"
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb
index fecedc981..d7c83edce 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb
@@ -7,7 +7,7 @@ SRC_URI = "git://github.com/rpm-software-management/librepo.git \
file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
"
-SRCREV = "7d8acd45eb09809a5ab729c312744da4b2fe92bb"
+SRCREV = "2eb0a27031956fd98340ca2707f03abb7b780372"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc
index af0ff4586..a9b63c1bf 100644
--- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc
+++ b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc
@@ -8,7 +8,6 @@ inherit autotools texinfo ptest
SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
file://ac_config_links.patch \
- file://remove-gets.patch \
file://m4-1.4.18-glibc-change-work-around.patch \
"
SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
@@ -53,7 +52,7 @@ do_install_ptest() {
}
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make coreutils diffutils"
RDEPENDS_${PN}-ptest_append_libc-glibc = "\
locale-base-fr-fr.iso-8859-1 \
"
diff --git a/poky/meta/recipes-devtools/m4/m4/remove-gets.patch b/poky/meta/recipes-devtools/m4/m4/remove-gets.patch
deleted file mode 100644
index abe82f3b2..000000000
--- a/poky/meta/recipes-devtools/m4/m4/remove-gets.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-eglibc has remove gets starting 2.16
-therefore check for its being there before
-undefining it.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-diff --git a/lib/stdio.in.h b/lib/stdio.in.h
-index 5727452..f04a691 100644
---- a/lib/stdio.in.h
-+++ b/lib/stdio.in.h
-@@ -742,10 +742,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning; besides, C11
- removed it. */
-+#if defined gets
- #undef gets
- #if HAVE_RAW_DECL_GETS && !defined __cplusplus
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-+#endif
-
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
- struct obstack;
diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index da477454c..2b22531dd 100644
--- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -51,7 +51,7 @@ index 6d3678f..90fdb80 100644
- cmd = self.pkgbin.get_command() + args
+ def _call_pkgbin_real(self, args, env, use_native=False):
+ if use_native:
-+ cmd = self.pkgbin.get_command() + "-native" + args
++ cmd = [self.pkgbin.get_command()[0] + "-native"] + args
+ else:
+ cmd = self.pkgbin.get_command() + args
p, out = Popen_safe(cmd, env=env)[0:2]
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch b/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
deleted file mode 100644
index 4ece56b9c..000000000
--- a/poky/meta/recipes-devtools/mtd/mtd-utils/0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 0f833ac73ad631248826386e2918d8571ecf0347 Mon Sep 17 00:00:00 2001
-From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-Date: Sat, 9 Jun 2018 16:45:22 +0200
-Subject: [PATCH] Revert "Return correct error number in ubi_get_vol_info1"
-
-This reverts commit dede98ffb706676309488d7cc660f569548d5930.
-
-The original commit tried to fix a descrepancy between the implementation
-and the documentation by making the implementation comply.
-
-When making the change, it was overlooked, that ubinfo and ubirename were
-written against the implementation instead of the behaviour specified by
-the documentation. So were further internal functions like
-ubi_get_vol_info1_nm which further breaks ubirmvol.
-
-A report with an outline of a resulting problem can be read on
-the mailing list:
-
-http://lists.infradead.org/pipermail/linux-mtd/2018-June/081562.html
-
-From the report:
-
-steps to reproduce: have mtd-utils 2.0.1 or 2.0.2
-
-0. make a bunch of ubi volumes in sequential order
-
-ubimkvol /dev/ubi0 -s 64KiB -N test1
-ubimkvol /dev/ubi0 -s 64KiB -N test2
-ubimkvol /dev/ubi0 -s 64KiB -N test3
-ubimkvol /dev/ubi0 -s 64KiB -N test4
-..
-
-1. delete the test1 volume, making a hole in the volume table
-
-ubirmvol /dev/ubi0 -N test1
-
-2. try an affected tool (i.e. "ubirmvol /dev/ubi0 -N test4" )
-
- |root at mr24:/# ubirmvol /dev/ubi0 -N test4
- |ubirmvol: error!: cannot find UBI volume "test4"
- | error 19 (No such device)
-
-or "ubinfo -a"
-
- | root at mr24:/# ubinfo -a
- | UBI version: 1
- | Count of UBI devices: 1
- | UBI control device major/minor: 10:59
- | Present UBI devices: ubi0
- |
- | ubi0
- | Volumes count: 11
- | Logical eraseblock size: 15872 bytes, 15.5 KiB
- | Total amount of logical eraseblocks: 1952 (30982144 bytes, 29.5 MiB)
- | Amount of available logical eraseblocks: 75 (1190400 bytes, 1.1 MiB)
- | Maximum count of volumes 92
- | Count of bad physical eraseblocks: 0
- | Count of reserved physical eraseblocks: 40
- | Current maximum erase counter value: 984
- | Minimum input/output unit size: 512 bytes
- | Character device major/minor: 251:0
- | ubinfo: error!: libubi failed to probe volume 5 on ubi0
- | error 19 (No such device)
- | Present volumes: 0, 1, 2, 3, 4root at mr24:/#
-
-Reported-by: Christian Lamparter <chunkeey@gmail.com>
-Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-Upstream-Status: Accepted [http://git.infradead.org/mtd-utils.git/commit/0f833ac73ad631248826386e2918d8571ecf0347]
----
- lib/libubi.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/lib/libubi.c b/lib/libubi.c
-index b50e68a..978b433 100644
---- a/lib/libubi.c
-+++ b/lib/libubi.c
-@@ -1240,11 +1240,8 @@ int ubi_get_vol_info1(libubi_t desc, int dev_num, int vol_id,
- info->dev_num = dev_num;
- info->vol_id = vol_id;
-
-- if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor)) {
-- if (errno == ENOENT)
-- errno = ENODEV;
-+ if (vol_get_major(lib, dev_num, vol_id, &info->major, &info->minor))
- return -1;
-- }
-
- ret = vol_read_data(lib->vol_type, dev_num, vol_id, buf, 50);
- if (ret < 0)
---
-2.14.4
-
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
index 9ffac2ed3..49a650a9e 100644
--- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -10,12 +10,11 @@ inherit autotools pkgconfig update-alternatives
DEPENDS = "zlib e2fsprogs util-linux"
RDEPENDS_mtd-utils-tests += "bash"
-PV = "2.0.2+${SRCPV}"
+PV = "2.1.0+${SRCPV}"
-SRCREV = "bc63d36e39f389c8c17f6a8e9db47f2acc884659"
+SRCREV = "b5027be5f470830ac9543db3c52e076b13abd313"
SRC_URI = "git://git.infradead.org/mtd-utils.git \
file://add-exclusion-to-mkfs-jffs2-git-2.patch \
- file://0001-Revert-Return-correct-error-number-in-ubi_get_vol_in.patch \
"
S = "${WORKDIR}/git/"
@@ -25,9 +24,12 @@ EXTRA_OECONF += "--enable-install-tests"
# xattr support creates an additional compile-time dependency on acl because
# the sys/acl.h header is needed. libacl is not needed and thus enabling xattr
# regardless whether acl is enabled or disabled in the distro should be okay.
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo jffs ubifs"
PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
PACKAGECONFIG[xattr] = "--with-xattr,--without-xattr,acl"
+PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,openssl"
+PACKAGECONFIG[jffs] = "--with-jffs,--without-jffs"
+PACKAGECONFIG[ubifs] = "--with-ubifs,--without-ubifs"
CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT"
@@ -59,7 +61,9 @@ do_install () {
oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
}
-PACKAGES =+ "mtd-utils-jffs2 mtd-utils-ubifs mtd-utils-misc mtd-utils-tests"
+PACKAGES =+ "mtd-utils-misc mtd-utils-tests"
+PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "jffs", "mtd-utils-jffs2", "", d)}"
+PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "ubifs", "mtd-utils-ubifs", "", d)}"
FILES_mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool"
FILES_mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*"
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch
deleted file mode 100644
index 6c058c71d..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 42afc1f652d28dce3c5b9915d0cd3087a144e445 Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Mon, 18 Feb 2019 11:25:43 -0600
-Subject: [PATCH] opkg-build: do not set mtime on data.tar.X
-
-Opkg should make sure the binaries it creates are created in a
-repoducibe way, but it shouldn't modify the mtime of the binaries it
-consumes. Doing so has side effects, for exmaple, Python pyc files are
-invalidated.
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-
-Upstream-Status: Submitted
----
- opkg-build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/opkg-build b/opkg-build
-index 13782ee..363cd01 100755
---- a/opkg-build
-+++ b/opkg-build
-@@ -301,7 +301,7 @@ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}"
-
- ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list )
- ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list )
--( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
-+( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
- ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz )
- rm $tmp_dir/file_list
- rm $tmp_dir/control_list
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
index 9a3e06b92..4be7b16d8 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
@@ -9,13 +9,12 @@ PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtu
SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
file://0001-Switch-all-scripts-to-use-Python-3.x.patch \
- file://0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch \
"
UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
-SRC_URI[md5sum] = "6e1c2eae96239520a8eb3d05372773ea"
-SRC_URI[sha256sum] = "8153f4e5dadde422d35feaf86bf595266af9d0037389bc418fa87feb0437efb3"
+SRC_URI[md5sum] = "8c140f835b694a0c27cfb23d2426a02b"
+SRC_URI[sha256sum] = "9ea9efdd9fe13661ad251e3a2860c1c93045adcfaa6659c3e86d9748ecda3b6e"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch b/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch
index 7d5c079b2..7d5c079b2 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch
+++ b/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch b/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch
index ed8ec1d41..ed8ec1d41 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch
+++ b/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
index 3b0fc453e..3b0fc453e 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
+++ b/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
index 0aaeaa29e..0aaeaa29e 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
+++ b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
diff --git a/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch b/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch
new file mode 100644
index 000000000..07f153162
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch
@@ -0,0 +1,30 @@
+From 31a2c5555f9ef32f35d7d5ce1fd09a010ba5f5c6 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Mon, 17 Jun 2019 10:47:15 -0500
+Subject: [PATCH 1/2] enc2xs: Add environment variable to suppress comments
+
+Comment generation in enc2xs can now be suppressed by setting the
+ENC2XS_NO_COMMENTS environment variable. This allows enc2xs to produce
+reproducible output by omitting the name of the generating program.
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+Upstream-status: Accepted [https://github.com/dankogai/p5-encode/pull/145]
+---
+ cpan/Encode/bin/enc2xs | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
+index 619b64b757..bfce9ee735 100644
+--- a/cpan/Encode/bin/enc2xs
++++ b/cpan/Encode/bin/enc2xs
+@@ -144,6 +144,7 @@ getopts('CM:SQqOo:f:n:v',\%opt);
+ $opt{M} and make_makefile_pl($opt{M}, @ARGV);
+ $opt{C} and make_configlocal_pm($opt{C}, @ARGV);
+ $opt{v} ||= $ENV{ENC2XS_VERBOSE};
++$opt{q} ||= $ENV{ENC2XS_NO_COMMENTS};
+
+ sub verbose {
+ print STDERR @_ if $opt{v};
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch
index e7985036a..e7985036a 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch
+++ b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch
diff --git a/poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch b/poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch
new file mode 100644
index 000000000..e70ff67f7
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch
@@ -0,0 +1,32 @@
+From 260ebd15e16cd86b9b58e5c5f3a496b3853ca46d Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Mon, 17 Jun 2019 10:47:23 -0500
+Subject: [PATCH 2/2] Constant: Fix up shebang
+
+The instructions indicate that the script should be explicitly passed to
+"perl -x", so automatically setting the #! to be ^X is unnecessary and
+makes the file non-reproducible when building because ^X could be the
+absolute path to miniperl.
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+Upstream-status: Submitted [https://rt.cpan.org/Public/Bug/Display.html?id=129866]
+---
+ cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm
+index 14eb809714..d4d074e121 100644
+--- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm
++++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm
+@@ -219,7 +219,7 @@ sub dogfood {
+ Regenerate these constant functions by feeding this entire source file to
+ perl -x
+
+-#!$^X -w
++#!/usr/bin/env perl -x -w
+ use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+ EOT
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff b/poky/meta/recipes-devtools/perl/files/errno_ver.diff
index a965fbeee..a965fbeee 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff
+++ b/poky/meta/recipes-devtools/perl/files/errno_ver.diff
diff --git a/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch
new file mode 100644
index 000000000..2b490e606
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch
@@ -0,0 +1,49 @@
+Test script to reproduce the problem:
+
+#!/usr/bin/env perl
+$) = "2 2";
+print $!;
+
+Result from perl 5.28 under strace:
+
+setgroups(1, [2]) = 0
+setresgid(-1, 2, -1) = 0
+
+Result from perl 5.30 under strace:
+
+setgroups(1, [-1]) = -1 EINVAL (Invalid argument)
+setresgid(-1, 2, -1) = 0
+
+Patch which broke this upstream:
+https://perl5.git.perl.org/perl.git/commitdiff/5d4a52b5c68a11bfc97c2e24806993b84a61eade
+
+Issue is that the new function changes the endptr to the end of the
+scanned number and needs to be reset to the end of the string for
+each iteration of the loop.
+
+[YOCTO #13391]
+
+RP
+2019/6/14
+Upstream-Status: Pending
+
+Index: perl-5.30.0/mg.c
+===================================================================
+--- perl-5.30.0.orig/mg.c
++++ perl-5.30.0/mg.c
+@@ -3179,6 +3256,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
+ const char *p = SvPV_const(sv, len);
+ Groups_t *gary = NULL;
+ const char* endptr = p + len;
++ const char* realend = p + len;
+ UV uv;
+ #ifdef _SC_NGROUPS_MAX
+ int maxgrp = sysconf(_SC_NGROUPS_MAX);
+@@ -3209,6 +3287,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
+ Newx(gary, i + 1, Groups_t);
+ else
+ Renew(gary, i + 1, Groups_t);
++ endptr = realend;
+ if (grok_atoUV(p, &uv, &endptr))
+ gary[i] = (Groups_t)uv;
+ else {
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch b/poky/meta/recipes-devtools/perl/files/native-perlinc.patch
index a2e1aefd4..a2e1aefd4 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch
+++ b/poky/meta/recipes-devtools/perl/files/native-perlinc.patch
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
index e6f23eed6..3c2cecb8c 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
@@ -1,3 +1,8 @@
+From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 27 May 2007 21:04:11 +0000
+Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE)
+
This patch is used for perl-native only. It enables the switching of
configuration files between Config_heavy.pl and
Config_heavy-target.pl by setting the environment variables
@@ -10,11 +15,15 @@ values would be valid for the host only.
Upstream-Status: Inappropriate [native]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Index: perl-5.14.2/configpm
-===================================================================
---- perl-5.14.2.orig/configpm
-+++ perl-5.14.2/configpm
-@@ -658,7 +658,7 @@ sub FETCH {
+---
+ configpm | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/configpm b/configpm
+index 09c4a3b..6a0a680 100755
+--- a/configpm
++++ b/configpm
+@@ -687,7 +687,7 @@ sub FETCH {
my($self, $key) = @_;
# check for cached value (which may be undef so we use exists not defined)
@@ -23,7 +32,7 @@ Index: perl-5.14.2/configpm
}
ENDOFEND
-@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa
+@@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config;
sub DESTROY { }
sub AUTOLOAD {
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch
index 6bb832a42..6bb832a42 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
index f93bbc764..331a44d30 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt
+++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
@@ -153,6 +153,9 @@ RDEPENDS_perl-module-b-xref += "perl-module-b"
RDEPENDS_perl-module-b-xref += "perl-module-config"
RDEPENDS_perl-module-b-xref += "perl-module-strict"
RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy"
+RDEPENDS_perl-module-carp += "perl-module-exporter"
+RDEPENDS_perl-module-carp += "perl-module-strict"
+RDEPENDS_perl-module-carp += "perl-module-warnings"
RDEPENDS_perl-module--charnames += "perl-module-bytes"
RDEPENDS_perl-module-charnames += "perl-module-bytes"
RDEPENDS_perl-module-charnames += "perl-module--charnames"
@@ -239,6 +242,7 @@ RDEPENDS_perl-module-cwd += "perl-module-errno"
RDEPENDS_perl-module-cwd += "perl-module-exporter"
RDEPENDS_perl-module-cwd += "perl-module-strict"
RDEPENDS_perl-module-cwd += "perl-module-xsloader"
+RDEPENDS_perl-module-data-dumper += "perl-module-bytes"
RDEPENDS_perl-module-data-dumper += "perl-module-config"
RDEPENDS_perl-module-data-dumper += "perl-module-constant"
RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
@@ -447,6 +451,7 @@ RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-ipc-cmd"
RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-strict"
RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-text-parsewords"
RDEPENDS_perl-module-extutils-cbuilder-base += "perl-module-warnings"
+RDEPENDS_perl-module-extutils-cbuilder += "perl-module-extutils-cbuilder-base"
RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-basename"
RDEPENDS_perl-module-extutils-cbuilder += "perl-module-file-path"
RDEPENDS_perl-module-extutils-cbuilder += "perl-module-strict"
@@ -793,6 +798,10 @@ RDEPENDS_perl-module-file-path += "perl-module-exporter"
RDEPENDS_perl-module-file-path += "perl-module-file-basename"
RDEPENDS_perl-module-file-path += "perl-module-strict"
RDEPENDS_perl-module-file-path += "perl-module-vars"
+RDEPENDS_perl-module-file-spec += "perl-module-constant"
+RDEPENDS_perl-module-file-spec += "perl-module-cwd"
+RDEPENDS_perl-module-file-spec += "perl-module-strict"
+RDEPENDS_perl-module-file-spec += "perl-module-file-spec-unix"
RDEPENDS_perl-module-file-stat += "perl-module-class-struct"
RDEPENDS_perl-module-file-stat += "perl-module-constant"
RDEPENDS_perl-module-file-stat += "perl-module-exporter"
@@ -801,16 +810,19 @@ RDEPENDS_perl-module-file-stat += "perl-module-overload "
RDEPENDS_perl-module-file-stat += "perl-module-strict"
RDEPENDS_perl-module-file-stat += "perl-module-warnings"
RDEPENDS_perl-module-file-stat += "perl-module-warnings-register"
+RDEPENDS_perl-module-file-temp += "perl-module-carp"
RDEPENDS_perl-module-file-temp += "perl-module-constant"
RDEPENDS_perl-module-file-temp += "perl-module-cwd"
RDEPENDS_perl-module-file-temp += "perl-module-errno"
RDEPENDS_perl-module-file-temp += "perl-module-exporter"
RDEPENDS_perl-module-file-temp += "perl-module-fcntl"
RDEPENDS_perl-module-file-temp += "perl-module-file-path"
+RDEPENDS_perl-module-file-temp += "perl-module-file-spec"
RDEPENDS_perl-module-file-temp += "perl-module-io-seekable"
RDEPENDS_perl-module-file-temp += "perl-module-overload"
RDEPENDS_perl-module-file-temp += "perl-module-parent"
RDEPENDS_perl-module-file-temp += "perl-module-posix"
+RDEPENDS_perl-module-file-temp += "perl-module-scalar-util"
RDEPENDS_perl-module-file-temp += "perl-module-strict"
RDEPENDS_perl-module-file-temp += "perl-module-vars"
RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call"
@@ -954,11 +966,13 @@ RDEPENDS_perl-module-io-dir += "perl-module-file-stat"
RDEPENDS_perl-module-io-dir += "perl-module-io-file"
RDEPENDS_perl-module-io-dir += "perl-module-strict"
RDEPENDS_perl-module-io-dir += "perl-module-tie-hash"
+RDEPENDS_perl-module-io-file += "perl-module-carp"
RDEPENDS_perl-module-io-file += "perl-module-exporter"
RDEPENDS_perl-module-io-file += "perl-module-fcntl"
RDEPENDS_perl-module-io-file += "perl-module-io-seekable"
RDEPENDS_perl-module-io-file += "perl-module-selectsaver"
RDEPENDS_perl-module-io-file += "perl-module-strict"
+RDEPENDS_perl-module-io-file += "perl-module-symbol"
RDEPENDS_perl-module-io-handle += "perl-module-exporter"
RDEPENDS_perl-module-io-handle += "perl-module-io"
RDEPENDS_perl-module-io-handle += "perl-module-io-file"
@@ -1347,6 +1361,7 @@ RDEPENDS_perl-module-math-complex += "perl-module-warnings"
RDEPENDS_perl-module-math-trig += "perl-module-exporter"
RDEPENDS_perl-module-math-trig += "perl-module-math-complex"
RDEPENDS_perl-module-math-trig += "perl-module-strict"
+RDEPENDS_perl-module-metadata += "perl-module-version"
RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars"
RDEPENDS_perl-module-memoize += "perl-module-config"
RDEPENDS_perl-module-memoize += "perl-module-exporter"
@@ -1482,6 +1497,7 @@ RDEPENDS_perl-module-overloading += "perl-module-overload-numbers"
RDEPENDS_perl-module-overloading += "perl-module-warnings"
RDEPENDS_perl-module-overload += "perl-module-mro"
RDEPENDS_perl-module-overload += "perl-module-warnings-register"
+RDEPENDS_perl-module-overload += "perl-module-overloading"
RDEPENDS_perl-module-params-check += "perl-module-exporter"
RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple"
RDEPENDS_perl-module-params-check += "perl-module-strict"
@@ -1722,6 +1738,11 @@ RDEPENDS_perl-module-safe += "perl-module-b"
RDEPENDS_perl-module-safe += "perl-module-opcode"
RDEPENDS_perl-module-safe += "perl-module-strict"
RDEPENDS_perl-module-safe += "perl-module-utf8"
+RDEPENDS_perl-module-scalar-util += "perl-module-carp"
+RDEPENDS_perl-module-scalar-util += "perl-module-exporter"
+RDEPENDS_perl-module-scalar-util += "perl-module-list-util"
+RDEPENDS_perl-module-scalar-util += "perl-module-strict"
+RDEPENDS_perl-module-scalar-util += "perl-module-warnings"
RDEPENDS_perl-module-sdbm-file += "perl-module-exporter"
RDEPENDS_perl-module-sdbm-file += "perl-module-strict"
RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash"
@@ -1767,6 +1788,7 @@ RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader"
RDEPENDS_perl-module-tap-base += "perl-module-base"
RDEPENDS_perl-module-tap-base += "perl-module-constant"
RDEPENDS_perl-module-tap-base += "perl-module-strict"
+RDEPENDS_perl-module-tap-base += "perl-module-tap-object"
RDEPENDS_perl-module-tap-base += "perl-module-warnings"
RDEPENDS_perl-module-tap-formatter-base += "perl-module-base"
RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix"
@@ -1806,39 +1828,50 @@ RDEPENDS_perl-module-tap-harness-env += "perl-module-tap-object"
RDEPENDS_perl-module-tap-harness-env += "perl-module-text-parsewords"
RDEPENDS_perl-module-tap-harness-env += "perl-module-warnings"
RDEPENDS_perl-module-tap-harness += "perl-module-base"
+RDEPENDS_perl-module-tap-harness += "perl-module-carp"
RDEPENDS_perl-module-tap-harness += "perl-module-file-path"
+RDEPENDS_perl-module-tap-harness += "perl-module-file-spec"
RDEPENDS_perl-module-tap-harness += "perl-module-io-handle"
RDEPENDS_perl-module-tap-harness += "perl-module-strict"
+RDEPENDS_perl-module-tap-harness += "perl-module-tap-base"
RDEPENDS_perl-module-tap-harness += "perl-module-warnings"
RDEPENDS_perl-module-tap-object += "perl-module-strict"
RDEPENDS_perl-module-tap-object += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-base"
RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-benchmark"
RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-aggregator += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-grammar += "perl-module-base"
RDEPENDS_perl-module-tap-parser-grammar += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-resultfactory"
RDEPENDS_perl-module-tap-parser-grammar += "perl-module-tap-parser-yamlish-reader"
RDEPENDS_perl-module-tap-parser-grammar += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-base"
RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-tap-parser-iterator"
RDEPENDS_perl-module-tap-parser-iterator-array += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-base"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-carp"
RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-constant"
RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-file-basename"
RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-iteratorfactory += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-iterator += "perl-module-base"
RDEPENDS_perl-module-tap-parser-iterator += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-iterator += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-base"
RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-config"
RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-io-handle"
RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-tap-parser-iterator"
RDEPENDS_perl-module-tap-parser-iterator-process += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-base"
RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-tap-parser-iterator"
RDEPENDS_perl-module-tap-parser-iterator-stream += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-base"
RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-constant"
@@ -1846,6 +1879,7 @@ RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-io-select"
RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-multiplexer += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser += "perl-module-base"
+RDEPENDS_perl-module-tap-parser += "perl-module-carp"
RDEPENDS_perl-module-tap-parser += "perl-module-strict"
RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-grammar"
RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-iterator"
@@ -1861,12 +1895,15 @@ RDEPENDS_perl-module-tap-parser += "perl-module-tap-parser-sourcehandler-rawtap"
RDEPENDS_perl-module-tap-parser += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-bailout += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-comment += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-base"
RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-bailout"
RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-comment"
RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-plan"
@@ -1878,31 +1915,41 @@ RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-tap-parser-result-
RDEPENDS_perl-module-tap-parser-resultfactory += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-result += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-plan += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-pragma += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-test += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-test += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-test += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-test += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-unknown += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-version += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-version += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-version += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-version += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-base"
RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-tap-parser-result"
RDEPENDS_perl-module-tap-parser-result-yaml += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-carp"
RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-scheduler-job += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-carp"
RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-job"
RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-tap-parser-scheduler-spinner"
RDEPENDS_perl-module-tap-parser-scheduler += "perl-module-warnings"
+RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-carp"
RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-scheduler-spinner += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-base"
@@ -1910,18 +1957,21 @@ RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-constan
RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iteratorfactory"
RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-tap-parser-sourcehandler"
RDEPENDS_perl-module-tap-parser-sourcehandler-executable += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-base"
RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-constant"
RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iteratorfactory"
RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-iterator-stream"
+RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-tap-parser-sourcehandler"
RDEPENDS_perl-module-tap-parser-sourcehandler-file += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-base"
RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-constant"
RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iteratorfactory"
RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-iterator-stream"
+RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-tap-parser-sourcehandler"
RDEPENDS_perl-module-tap-parser-sourcehandler-handle += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-base"
RDEPENDS_perl-module-tap-parser-sourcehandler += "perl-module-strict"
@@ -1933,23 +1983,28 @@ RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-sourcehandler-executable"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base"
RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iterator-array"
RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-iteratorfactory"
+RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-tap-parser-sourcehandler"
RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-source += "perl-module-base"
RDEPENDS_perl-module-tap-parser-source += "perl-module-constant"
RDEPENDS_perl-module-tap-parser-source += "perl-module-file-basename"
RDEPENDS_perl-module-tap-parser-source += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-source += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-source += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-base"
RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-yamlish-reader += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-base"
RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-strict"
+RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-tap-object"
RDEPENDS_perl-module-tap-parser-yamlish-writer += "perl-module-warnings"
RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter"
RDEPENDS_perl-module-term-ansicolor += "perl-module-strict"
@@ -1966,11 +2021,20 @@ RDEPENDS_perl-module-test-builder-module += "perl-module-exporter"
RDEPENDS_perl-module-test-builder-module += "perl-module-strict"
RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder"
RDEPENDS_perl-module-test-builder += "perl-module-data-dumper"
+RDEPENDS_perl-module-test-builder += "perl-module-list-util"
RDEPENDS_perl-module-test-builder += "perl-module-overload"
RDEPENDS_perl-module-test-builder += "perl-module-strict"
+RDEPENDS_perl-module-test-builder += "perl-module-scalar-util"
RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter"
RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag"
+RDEPENDS_perl-module-test-builder += "perl-module-test2-api"
+RDEPENDS_perl-module-test-builder += "perl-module-test2-util"
RDEPENDS_perl-module-test-builder += "perl-module-warnings"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter-tap"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-util-hashbase"
+RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings"
RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict"
RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester"
RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter"
@@ -1988,6 +2052,7 @@ RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source"
RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl"
RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords"
RDEPENDS_perl-module-test-harness += "perl-module-warnings"
+RDEPENDS_perl-module-test-more += "perl-module-file-temp"
RDEPENDS_perl-module-test-more += "perl-module-strict"
RDEPENDS_perl-module-test-more += "perl-module-test-builder-module"
RDEPENDS_perl-module-test-more += "perl-module-warnings"
@@ -2013,6 +2078,100 @@ RDEPENDS_perl-module-test-tester += "perl-module-test-builder"
RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner"
RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate"
RDEPENDS_perl-module-test-tester += "perl-module-vars"
+RDEPENDS_perl-module-test2-api += "perl-module-carp"
+RDEPENDS_perl-module-test2-api += "perl-module-exporter"
+RDEPENDS_perl-module-test2-api += "perl-module-scalar-util"
+RDEPENDS_perl-module-test2-api += "perl-module-strict"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-api-context"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-api-instance"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-api-stack"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-bail"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-diag"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-exception"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-fail"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-note"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-ok"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-plan"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-skip"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-subtest"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-event-waiting"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-eventfacet-trace"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-hub"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor-terminator"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-subtest"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-util"
+RDEPENDS_perl-module-test2-api += "perl-module-test2-util-trace"
+RDEPENDS_perl-module-test2-api += "perl-module-warnings"
+RDEPENDS_perl-module-test2-api-context += "perl-module-carp"
+RDEPENDS_perl-module-test2-api-context += "perl-module-scalar-util"
+RDEPENDS_perl-module-test2-api-context += "perl-module-strict"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-api"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-event-v2"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet-trace"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-externalmeta"
+RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-hashbase"
+RDEPENDS_perl-module-test2-api-context += "perl-module-warnings"
+RDEPENDS_perl-module-test2-event += "perl-module-carp"
+RDEPENDS_perl-module-test2-event += "perl-module-scalar-util"
+RDEPENDS_perl-module-test2-event += "perl-module-strict"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-about"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-amnesty"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-assert"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-control"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-error"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-hub"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-info"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-meta"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-parent"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-plan"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-trace"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-util"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-util-externalmeta"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-util-hashbase"
+RDEPENDS_perl-module-test2-event += "perl-module-test2-util-trace"
+RDEPENDS_perl-module-test2-event += "perl-module-warnings"
+RDEPENDS_perl-module-test2-event-v2 += "perl-module-carp"
+RDEPENDS_perl-module-test2-event-v2 += "perl-module-scalar-util"
+RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-facets2legacy"
+RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-hashbase"
+RDEPENDS_perl-module-test2-event-v2 += "perl-module-strict"
+RDEPENDS_perl-module-test2-event-v2 += "perl-module-warnings"
+RDEPENDS_perl-module-test2-eventfacet += "perl-module-carp"
+RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util"
+RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util-hashbase"
+RDEPENDS_perl-module-test2-eventfacet += "perl-module-strict"
+RDEPENDS_perl-module-test2-eventfacet += "perl-module-warnings"
+RDEPENDS_perl-module-test2-hub += "perl-module-carp"
+RDEPENDS_perl-module-test2-hub += "perl-module-list-util"
+RDEPENDS_perl-module-test2-hub += "perl-module-scalar-util"
+RDEPENDS_perl-module-test2-hub += "perl-module-strict"
+RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-ok"
+RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-pass"
+RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-plan"
+RDEPENDS_perl-module-test2-hub += "perl-module-test2-util"
+RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-externalmeta"
+RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-hashbase"
+RDEPENDS_perl-module-test2-hub += "perl-module-warnings"
+RDEPENDS_perl-module-test2-util += "perl-module-carp"
+RDEPENDS_perl-module-test2-util += "perl-module-config"
+RDEPENDS_perl-module-test2-util += "perl-module-posix"
+RDEPENDS_perl-module-test2-util += "perl-module-strict"
+RDEPENDS_perl-module-test2-util += "perl-module-warnings"
+RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-base"
+RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-carp"
+RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-exporter"
+RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-scalar-util"
+RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-strict"
+RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-warnings"
+RDEPENDS_perl-module-test2-util-hashbase += "perl-module-carp"
+RDEPENDS_perl-module-test2-util-hashbase += "perl-module-mro"
+RDEPENDS_perl-module-test2-util-hashbase += "perl-module-strict"
+RDEPENDS_perl-module-test2-util-hashbase += "perl-module-warnings"
RDEPENDS_perl-module-text-abbrev += "perl-module-exporter"
RDEPENDS_perl-module-text-balanced += "perl-module-exporter"
RDEPENDS_perl-module-text-balanced += "perl-module-overload"
@@ -2370,9 +2529,11 @@ RDEPENDS_perl-module-cpan += "perl-module-file-copy"
RDEPENDS_perl-module-cpan += "perl-module-file-find"
RDEPENDS_perl-module-cpan += "perl-module-filehandle"
RDEPENDS_perl-module-cpan += "perl-module-file-path"
+RDEPENDS_perl-module-cpan += "perl-module-json-pp"
RDEPENDS_perl-module-cpan += "perl-module-lib"
RDEPENDS_perl-module-cpan += "perl-module-net-ping"
RDEPENDS_perl-module-cpan += "perl-module-overload"
+RDEPENDS_perl-module-cpan += "perl-module-parse-cpan-meta"
RDEPENDS_perl-module-cpan += "perl-module-posix"
RDEPENDS_perl-module-cpan += "perl-module-safe"
RDEPENDS_perl-module-cpan += "perl-module-strict"
@@ -2537,6 +2698,7 @@ RDEPENDS_perl-module-encode += "perl-module-constant"
RDEPENDS_perl-module-encode += "perl-module-encode-alias"
RDEPENDS_perl-module-encode += "perl-module-encode-config"
RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm"
+RDEPENDS_perl-module-encode += "perl-module-encode-encoding"
RDEPENDS_perl-module-encode += "perl-module-encode-mime-name"
RDEPENDS_perl-module-encode += "perl-module-exporter"
RDEPENDS_perl-module-encode += "perl-module-parent"
@@ -2723,6 +2885,7 @@ RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-confi
RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-makemaker-version"
RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-manifest"
RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm-unix"
RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path"
RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict"
@@ -2959,6 +3122,7 @@ RDEPENDS_perl-module-file-temp += "perl-module-io-seekable"
RDEPENDS_perl-module-file-temp += "perl-module-overload"
RDEPENDS_perl-module-file-temp += "perl-module-parent"
RDEPENDS_perl-module-file-temp += "perl-module-posix"
+RDEPENDS_perl-module-file-temp += "perl-module-file-spec"
RDEPENDS_perl-module-file-temp += "perl-module-strict"
RDEPENDS_perl-module-file-temp += "perl-module-vars"
RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call"
@@ -3822,6 +3986,8 @@ RDEPENDS_perl-module-pod-simple-tiedoutfh += "perl-module-vars"
RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-strict"
RDEPENDS_perl-module-pod-simple-transcodedumb += "perl-module-vars"
RDEPENDS_perl-module-pod-simple-transcode += "perl-module-strict"
+RDEPENDS_perl-module-pod-simple-transcode += "perl-module-pod-simple-transcodedumb"
+RDEPENDS_perl-module-pod-simple-transcode += "perl-module-pod-simple-transcodesmart"
RDEPENDS_perl-module-pod-simple-transcode += "perl-module-vars"
RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-pod-simple"
@@ -3915,6 +4081,7 @@ RDEPENDS_perl-module-sys-syslog += "perl-module-xsloader"
RDEPENDS_perl-module-tap-base += "perl-module-base"
RDEPENDS_perl-module-tap-base += "perl-module-constant"
RDEPENDS_perl-module-tap-base += "perl-module-strict"
+RDEPENDS_perl-module-tap-base += "perl-module-tap-object"
RDEPENDS_perl-module-tap-base += "perl-module-warnings"
RDEPENDS_perl-module-tap-formatter-base += "perl-module-base"
RDEPENDS_perl-module-tap-formatter-base += "perl-module-posix"
@@ -3940,7 +4107,9 @@ RDEPENDS_perl-module-tap-formatter-console-session += "perl-module-warnings"
RDEPENDS_perl-module-tap-formatter-file += "perl-module-base"
RDEPENDS_perl-module-tap-formatter-file += "perl-module-posix"
RDEPENDS_perl-module-tap-formatter-file += "perl-module-strict"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-base"
RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-file-session"
+RDEPENDS_perl-module-tap-formatter-file += "perl-module-tap-formatter-session"
RDEPENDS_perl-module-tap-formatter-file += "perl-module-warnings"
RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-base"
RDEPENDS_perl-module-tap-formatter-file-session += "perl-module-strict"
@@ -3957,6 +4126,7 @@ RDEPENDS_perl-module-tap-harness += "perl-module-base"
RDEPENDS_perl-module-tap-harness += "perl-module-file-path"
RDEPENDS_perl-module-tap-harness += "perl-module-io-handle"
RDEPENDS_perl-module-tap-harness += "perl-module-strict"
+RDEPENDS_perl-module-tap-harness += "perl-module-tap-formatter-file"
RDEPENDS_perl-module-tap-harness += "perl-module-warnings"
RDEPENDS_perl-module-tap-object += "perl-module-strict"
RDEPENDS_perl-module-tap-object += "perl-module-warnings"
@@ -4081,6 +4251,7 @@ RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-constant"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-strict"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iteratorfactory"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-iterator-process"
+RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-tap-parser-sourcehandler-executable"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-text-parsewords"
RDEPENDS_perl-module-tap-parser-sourcehandler-perl += "perl-module-warnings"
RDEPENDS_perl-module-tap-parser-sourcehandler-rawtap += "perl-module-base"
diff --git a/poky/meta/recipes-devtools/perl-sanity/files/run-ptest b/poky/meta/recipes-devtools/perl/files/run-ptest
index dad4d4291..dad4d4291 100644
--- a/poky/meta/recipes-devtools/perl-sanity/files/run-ptest
+++ b/poky/meta/recipes-devtools/perl/files/run-ptest
diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest b/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest
new file mode 100644
index 000000000..0d63d1513
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl -I inc -I blib -Mblib $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb
new file mode 100644
index 000000000..f759f862f
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb
@@ -0,0 +1,103 @@
+SUMMARY = "Module::Build - Build and install Perl modules"
+DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
+Makefile.PL file to drive distribution configuration, build, test and \
+installation. Traditionally, Build.PL uses Module::Build as the underlying \
+build system. This module provides a simple, lightweight, drop-in replacement. \
+Whereas Module::Build has over 6,700 lines of code; this module has less than \
+120, yet supports the features needed by most distributions."
+
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/release/Module-Build"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=949;endline=954;md5=624c06db56a2af4d70cf9edc29fcae1b"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "1447d9e02e63f7a1643986789a8f1ba9"
+SRC_URI[sha256sum] = "1fe491a6cda914b01bc8e592faa2b5404e9f35915ca15322f8f2a8d8f9008c18"
+
+S = "${WORKDIR}/Module-Build-${PV}"
+
+inherit cpan_build ptest-perl
+
+# From:
+# https://github.com/rehsack/meta-cpan/blob/master/recipes-devel/module-build-perl/module-build-perl_0.4216.bb
+#
+do_patch_module_build () {
+ cd ${S}
+ sed -i -e 's,my $interpreter = $self->{properties}{perl};,my $interpreter = "${bindir}/perl";,g' lib/Module/Build/Base.pm
+}
+
+do_patch[postfuncs] += "do_patch_module_build"
+
+do_install_ptest() {
+ cp -r ${B}/inc ${D}${PTEST_PATH}
+ cp -r ${B}/blib ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ perl-module-carp \
+ perl-module-cpan \
+ perl-module-config \
+ perl-module-cwd \
+ perl-module-data-dumper \
+ perl-module-encode \
+ perl-module-extutils-cbuilder \
+ perl-module-extutils-command \
+ perl-module-extutils-install \
+ perl-module-extutils-installed \
+ perl-module-extutils-mkbootstrap \
+ perl-module-extutils-packlist \
+ perl-module-extutils-parsexs \
+ perl-module-file-basename \
+ perl-module-file-compare \
+ perl-module-file-copy \
+ perl-module-file-find \
+ perl-module-file-glob \
+ perl-module-file-path \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-getopt-long \
+ perl-module-metadata \
+ perl-module-perl-ostype \
+ perl-module-pod-man \
+ perl-module-tap-harness \
+ perl-module-text-abbrev \
+ perl-module-text-parsewords \
+ perl-module-utf8 \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ gcc \
+ make \
+ perl-module-blib \
+ perl-module-file-temp \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-encoding \
+ perl-module-pod-text \
+ perl-module-tap-harness-env \
+ perl-module-tap-parser \
+ perl-module-tap-parser-scheduler \
+ perl-module-test-harness \
+ perl-module-test-more \
+"
+
+RPROVIDES_${PN} += "\
+ libmodule-build-base-perl \
+ libmodule-build-compat-perl \
+ libmodule-build-config-perl \
+ libmodule-build-cookbook-perl \
+ libmodule-build-dumper-perl \
+ libmodule-build-notes-perl \
+ libmodule-build-ppmaker-perl \
+ libmodule-build-platform-default-perl \
+ libmodule-build-platform-unix-perl \
+ libmodule-build-podparser-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb
index 3abb9aa8e..c44ee6340 100644
--- a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb
+++ b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb
@@ -24,6 +24,6 @@ S = "${WORKDIR}/${CPAN_NAME}-${PV}"
inherit cpan ptest-perl
-RDEPENDS_${PN}-ptest += "perl-module-test-more"
+RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version"
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb
index a7cfa0fbe..c27765bcb 100644
--- a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb
+++ b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb
@@ -33,6 +33,18 @@ do_install_prepend() {
rm -rf ${B}/t/file.t
}
-RDEPENDS_${PN}-ptest += "libtest-needs-perl"
+RDEPENDS_${PN} += "perl-module-integer perl-module-mime-base64"
+RDEPENDS_${PN}-ptest += " \
+ libtest-needs-perl \
+ perl-module-test-more \
+ perl-module-test \
+ perl-module-utf8 \
+ perl-module-extutils-makemaker \
+ perl-module-net-domain \
+ perl-module-encode \
+ perl-module-extutils-mm-unix \
+ perl-module-file-spec-functions \
+ perl-module-perlio \
+"
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb
index 95af4d1de..7c9b7696a 100644
--- a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb
+++ b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb
@@ -50,4 +50,6 @@ do_install_ptest() {
chown -R root:root ${D}${PTEST_PATH}/samples
}
+RDEPENDS_${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more"
+
BBCLASSEXTEND="native nativesdk"
diff --git a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb
index 0f6099868..818ae3d57 100644
--- a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb
+++ b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb
@@ -26,3 +26,5 @@ do_compile() {
cpan_do_compile
}
+RDEPENDS_${PN} += "perl-module-carp perl-module-overload perl-module-universal perl-module-io-handle"
+RDEPENDS_${PN}-ptest += "libxml-parser-perl perl-module-file-glob"
diff --git a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc
index 9dd9b7da5..715205776 100644
--- a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc
+++ b/poky/meta/recipes-devtools/perl/perl-ptest.inc
@@ -2,6 +2,9 @@ inherit ptest
SRC_URI += "file://run-ptest \
"
+
+DEBUG_PREFIX_MAP_REGEX = "${@'\\|'.join(d.getVar('DEBUG_PREFIX_MAP').split())}"
+
do_install_ptest () {
mkdir -p ${D}${PTEST_PATH}
sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
@@ -13,7 +16,7 @@ do_install_ptest () {
--exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
--exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
--exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
- --exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )
+ --exclude=miniperl --exclude=generate_uudmap --exclude=patches --exclude='config.log' * | ( cd ${D}${PTEST_PATH} && tar -x )
ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
@@ -21,12 +24,12 @@ do_install_ptest () {
find "${D}${PTEST_PATH}" \
\( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
-o -name 'h2xs' -o -name 'h2ph' \
- -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \
+ -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' -o -name 'Makefile.config' \) \
-type f -exec sed -i \
-e "s,${D},,g" \
-e "s,--sysroot=${STAGING_DIR_HOST},,g" \
-e "s,-isystem${STAGING_INCDIR} ,,g" \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's^${DEBUG_PREFIX_MAP_REGEX}^^g' \
-e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
-e "s,${STAGING_LIBDIR},${libdir},g" \
-e "s,${STAGING_BINDIR},${bindir},g" \
diff --git a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
index 12b220a4d..e3664290e 100644
--- a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
- https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.tar.gz;name=perl-cross \
+ https://github.com/arsv/perl-cross/releases/download/1.3/perl-cross-1.3.tar.gz;name=perl-cross \
file://perl-rdepends.txt \
file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
@@ -18,17 +18,18 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
file://perl-dynloader.patch \
file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
+ file://fix-setgroup.patch \
+ file://0001-enc2xs-Add-environment-variable-to-suppress-comments.patch \
+ file://0002-Constant-Fix-up-shebang.patch \
"
SRC_URI_append_class-native = " \
file://perl-configpm-switch.patch \
"
-SRC_URI[perl.md5sum] = "1323e7581fbedf3791d2843f4ccaec4b"
-SRC_URI[perl.sha256sum] = "aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7"
-SRC_URI[perl-cross.md5sum] = "03d9eafd71161eb5d1f80434e8b49dbc"
-SRC_URI[perl-cross.sha256sum] = "84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c"
-
-PR = "r1"
+SRC_URI[perl.md5sum] = "9770584cdf9b5631c38097645ce33549"
+SRC_URI[perl.sha256sum] = "851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2"
+SRC_URI[perl-cross.md5sum] = "4dda3daf9c4fe42b3d6a5dd052852a48"
+SRC_URI[perl-cross.sha256sum] = "49edea1ea2cd6c5c47386ca71beda8d150c748835781354dbe7f75b1df27e703"
S = "${WORKDIR}/perl-${PV}"
@@ -38,12 +39,15 @@ DEPENDS += "db gdbm zlib virtual/crypt"
PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0"
+# Don't generate comments in enc2xs output files. They are not reproducible
+export ENC2XS_NO_COMMENTS = "1"
+
do_unpack_append() {
bb.build.exec_func('do_copy_perlcross', d)
}
do_copy_perlcross() {
- cp -rf ${WORKDIR}/perl-cross*/* ${S}
+ cp -rfp ${WORKDIR}/perl-cross*/* ${S}
}
do_configure_class-target() {
@@ -90,6 +94,16 @@ do_configure_class-native() {
-Ui_xlocale
}
+do_configure_append() {
+ if [ -n "$SOURCE_DATE_EPOCH" ]; then
+ PERL_BUILD_DATE="$(${PYTHON} -c "\
+from datetime import datetime, timezone; \
+print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \
+ ")"
+ echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h
+ fi
+}
+
do_compile() {
oe_runmake
}
@@ -165,6 +179,7 @@ perl_package_preprocess () {
${PKGD}${libdir}/perl5/${PV}/Config.pm \
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \
+ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \
${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \
${PKGD}${libdir}/perl5/${PV}/FileCache.pm \
@@ -177,6 +192,7 @@ require perl-ptest.inc
FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \
${libdir}/perl5/site_perl \
${libdir}/perl5/${PV}/Config.pm \
+ ${libdir}/perl5/${PV}/*/Config_git.pl \
${libdir}/perl5/${PV}/*/Config_heavy-target.pl \
${libdir}/perl5/config.sh \
${libdir}/perl5/${PV}/strict.pm \
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb
index 1452875f5..c60ef7422 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb
@@ -21,8 +21,8 @@ SRC_URI = "\
file://pkg-config-native.in \
file://pkg-config-esdk.in \
"
-SRC_URI[md5sum] = "0c93492d7f001e5175b0347b5472e86d"
-SRC_URI[sha256sum] = "6135a3abb576672ba54a899860442ba185063f0f90dae5892f64f7bae8e1ece5"
+SRC_URI[md5sum] = "556bae2b9e0cc7b46e7c00083cb6d95d"
+SRC_URI[sha256sum] = "22b9ee38438901f9d60f180e5182821180854fa738fd071f593ea26a81da208c"
inherit autotools
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb
index 50137895c..a1133dad4 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb
@@ -4,3 +4,7 @@ require python-numpy.inc
RDEPENDS_${PN}_class-target_append = " \
${PYTHON_PN}-subprocess \
"
+
+do_install_append(){
+ rm ${D}/${bindir}/f2py
+}
diff --git a/poky/meta/recipes-devtools/python/python-mako.inc b/poky/meta/recipes-devtools/python/python-mako.inc
index 97c624bbc..20808fe5a 100644
--- a/poky/meta/recipes-devtools/python/python-mako.inc
+++ b/poky/meta/recipes-devtools/python/python-mako.inc
@@ -8,8 +8,8 @@ PYPI_PACKAGE = "Mako"
inherit pypi
-SRC_URI[md5sum] = "d739720f3f0d6a1cb6a96ea7a4760c3e"
-SRC_URI[sha256sum] = "0728c404877cd4ca72c409c0ea372dc5f3b53fa1ad2bb434e1d216c0444ff1fd"
+SRC_URI[md5sum] = "a94d376078dda65f834ea5049a81ebb5"
+SRC_URI[sha256sum] = "7165919e78e1feb68b4dbe829871ea9941398178fa58e6beedb9ba14acf63965"
RDEPENDS_${PN} = "${PYTHON_PN}-html \
${PYTHON_PN}-netclient \
diff --git a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb b/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb
index 6d69d2d62..fab609df9 100644
--- a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb
+++ b/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb
@@ -1,2 +1,6 @@
inherit setuptools
require python-nose.inc
+
+do_install_append() {
+ rm ${D}${bindir}/nosetests
+}
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index 357aa0708..f49e07869 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -37,3 +37,14 @@ do_install_prepend() {
}
BBCLASSEXTEND = "native nativesdk"
+
+# The pkg-resources module can be used by itself, without the package downloader
+# and easy_install. Ship it in a separate package so that it can be used by
+# minimal distributions.
+PACKAGES =+ "${PYTHON_PN}-pkg-resources "
+FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+# Due to the way OE-Core implemented native recipes, the native class cannot
+# have a dependency on something that is not a recipe name. Work around that by
+# manually setting RPROVIDES.
+RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
+RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native"
diff --git a/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch
new file mode 100644
index 000000000..b26723701
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch
@@ -0,0 +1,55 @@
+From 179a5f75f1121dab271fe8f90eb35145f9dcbbda Mon Sep 17 00:00:00 2001
+From: Sihoon Lee <push0ebp@gmail.com>
+Date: Fri, 17 May 2019 02:41:06 +0900
+Subject: [PATCH] Update test_urllib.py and urllib.py\nchange assertEqual into
+ assertRasies in DummyURLopener test, and simplify mitigation
+
+Upstream-Status: Submitted https://github.com/python/cpython/pull/11842
+
+CVE: CVE-2019-9948
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Lib/test/test_urllib.py | 11 +++--------
+ Lib/urllib.py | 4 ++--
+ 2 files changed, 5 insertions(+), 10 deletions(-)
+
+diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
+index e5f210e62a18..1e23dfb0bb16 100644
+--- a/Lib/test/test_urllib.py
++++ b/Lib/test/test_urllib.py
+@@ -1027,14 +1027,9 @@ def test_local_file_open(self):
+ class DummyURLopener(urllib.URLopener):
+ def open_local_file(self, url):
+ return url
+- self.assertEqual(DummyURLopener().open(
+- 'local-file://example'), '//example')
+- self.assertEqual(DummyURLopener().open(
+- 'local_file://example'), '//example')
+- self.assertRaises(IOError, urllib.urlopen,
+- 'local-file://example')
+- self.assertRaises(IOError, urllib.urlopen,
+- 'local_file://example')
++ for url in ('local_file://example', 'local-file://example'):
++ self.assertRaises(IOError, DummyURLopener().open, url)
++ self.assertRaises(IOError, urllib.urlopen, url)
+
+ # Just commented them out.
+ # Can't really tell why keep failing in windows and sparc.
+diff --git a/Lib/urllib.py b/Lib/urllib.py
+index a24e9a5c68fb..39b834054e9e 100644
+--- a/Lib/urllib.py
++++ b/Lib/urllib.py
+@@ -203,10 +203,10 @@ def open(self, fullurl, data=None):
+ name = 'open_' + urltype
+ self.type = urltype
+ name = name.replace('-', '_')
+-
++
+ # bpo-35907: # disallow the file reading with the type not allowed
+ if not hasattr(self, name) or \
+- (self == _urlopener and name == 'open_local_file'):
++ getattr(self, name) == self.open_local_file:
+ if proxy:
+ return self.open_unknown_proxy(proxy, fullurl, data)
+ else:
diff --git a/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch
new file mode 100644
index 000000000..f4c225d2f
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch
@@ -0,0 +1,55 @@
+From 8f99cc799e4393bf1112b9395b2342f81b3f45ef Mon Sep 17 00:00:00 2001
+From: push0ebp <push0ebp@shl-MacBook-Pro.local>
+Date: Thu, 14 Feb 2019 02:05:46 +0900
+Subject: [PATCH] bpo-35907: Avoid file reading as disallowing the unnecessary
+ URL scheme in urllib
+
+Upstream-Status: Submitted https://github.com/python/cpython/pull/11842
+
+CVE: CVE-2019-9948
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Lib/test/test_urllib.py | 12 ++++++++++++
+ Lib/urllib.py | 5 ++++-
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
+index 1ce9201c0693..e5f210e62a18 100644
+--- a/Lib/test/test_urllib.py
++++ b/Lib/test/test_urllib.py
+@@ -1023,6 +1023,18 @@ def open_spam(self, url):
+ "spam://c:|windows%/:=&?~#+!$,;'@()*[]|/path/"),
+ "//c:|windows%/:=&?~#+!$,;'@()*[]|/path/")
+
++ def test_local_file_open(self):
++ class DummyURLopener(urllib.URLopener):
++ def open_local_file(self, url):
++ return url
++ self.assertEqual(DummyURLopener().open(
++ 'local-file://example'), '//example')
++ self.assertEqual(DummyURLopener().open(
++ 'local_file://example'), '//example')
++ self.assertRaises(IOError, urllib.urlopen,
++ 'local-file://example')
++ self.assertRaises(IOError, urllib.urlopen,
++ 'local_file://example')
+
+ # Just commented them out.
+ # Can't really tell why keep failing in windows and sparc.
+diff --git a/Lib/urllib.py b/Lib/urllib.py
+index d85504a5cb7e..a24e9a5c68fb 100644
+--- a/Lib/urllib.py
++++ b/Lib/urllib.py
+@@ -203,7 +203,10 @@ def open(self, fullurl, data=None):
+ name = 'open_' + urltype
+ self.type = urltype
+ name = name.replace('-', '_')
+- if not hasattr(self, name):
++
++ # bpo-35907: # disallow the file reading with the type not allowed
++ if not hasattr(self, name) or \
++ (self == _urlopener and name == 'open_local_file'):
+ if proxy:
+ return self.open_unknown_proxy(proxy, fullurl, data)
+ else:
diff --git a/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch
new file mode 100644
index 000000000..2ce4d2cde
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch
@@ -0,0 +1,28 @@
+From 06b5ee585d6e76bdbb4002f642d864d860cbbd2b Mon Sep 17 00:00:00 2001
+From: Steve Dower <steve.dower@python.org>
+Date: Tue, 12 Mar 2019 08:23:33 -0700
+Subject: [PATCH] bpo-36216: Only print test messages when verbose
+
+CVE: CVE-2019-9636
+
+Upstream-Status: Backport https://github.com/python/cpython/pull/12291/commits/06b5ee585d6e76bdbb4002f642d864d860cbbd2b
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Lib/test/test_urlparse.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
+index 73b0228ea8e3..1830d0b28688 100644
+--- a/Lib/test/test_urlparse.py
++++ b/Lib/test/test_urlparse.py
+@@ -644,7 +644,8 @@ def test_urlsplit_normalization(self):
+ for scheme in [u"http", u"https", u"ftp"]:
+ for c in denorm_chars:
+ url = u"{}://netloc{}false.netloc/path".format(scheme, c)
+- print "Checking %r" % url
++ if test_support.verbose:
++ print "Checking %r" % url
+ with self.assertRaises(ValueError):
+ urlparse.urlsplit(url)
+
diff --git a/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch
new file mode 100644
index 000000000..352b13ba9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch
@@ -0,0 +1,111 @@
+From 3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e Mon Sep 17 00:00:00 2001
+From: Steve Dower <steve.dower@python.org>
+Date: Thu, 7 Mar 2019 08:25:22 -0800
+Subject: [PATCH] bpo-36216: Add check for characters in netloc that normalize
+ to separators (GH-12201)
+
+CVE: CVE-2019-9636
+
+Upstream-Status: Backport https://github.com/python/cpython/pull/12216/commits/3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Doc/library/urlparse.rst | 20 ++++++++++++++++
+ Lib/test/test_urlparse.py | 24 +++++++++++++++++++
+ Lib/urlparse.py | 17 +++++++++++++
+ .../2019-03-06-09-38-40.bpo-36216.6q1m4a.rst | 3 +++
+ 4 files changed, 64 insertions(+)
+ create mode 100644 Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst
+
+diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
+index 4e1ded73c266..73b0228ea8e3 100644
+--- a/Lib/test/test_urlparse.py
++++ b/Lib/test/test_urlparse.py
+@@ -1,4 +1,6 @@
+ from test import test_support
++import sys
++import unicodedata
+ import unittest
+ import urlparse
+
+@@ -624,6 +626,28 @@ def test_portseparator(self):
+ self.assertEqual(urlparse.urlparse("http://www.python.org:80"),
+ ('http','www.python.org:80','','','',''))
+
++ def test_urlsplit_normalization(self):
++ # Certain characters should never occur in the netloc,
++ # including under normalization.
++ # Ensure that ALL of them are detected and cause an error
++ illegal_chars = u'/:#?@'
++ hex_chars = {'{:04X}'.format(ord(c)) for c in illegal_chars}
++ denorm_chars = [
++ c for c in map(unichr, range(128, sys.maxunicode))
++ if (hex_chars & set(unicodedata.decomposition(c).split()))
++ and c not in illegal_chars
++ ]
++ # Sanity check that we found at least one such character
++ self.assertIn(u'\u2100', denorm_chars)
++ self.assertIn(u'\uFF03', denorm_chars)
++
++ for scheme in [u"http", u"https", u"ftp"]:
++ for c in denorm_chars:
++ url = u"{}://netloc{}false.netloc/path".format(scheme, c)
++ print "Checking %r" % url
++ with self.assertRaises(ValueError):
++ urlparse.urlsplit(url)
++
+ def test_main():
+ test_support.run_unittest(UrlParseTestCase)
+
+diff --git a/Lib/urlparse.py b/Lib/urlparse.py
+index f7c2b032b097..54eda08651ab 100644
+--- a/Lib/urlparse.py
++++ b/Lib/urlparse.py
+@@ -165,6 +165,21 @@ def _splitnetloc(url, start=0):
+ delim = min(delim, wdelim) # use earliest delim position
+ return url[start:delim], url[delim:] # return (domain, rest)
+
++def _checknetloc(netloc):
++ if not netloc or not isinstance(netloc, unicode):
++ return
++ # looking for characters like \u2100 that expand to 'a/c'
++ # IDNA uses NFKC equivalence, so normalize for this check
++ import unicodedata
++ netloc2 = unicodedata.normalize('NFKC', netloc)
++ if netloc == netloc2:
++ return
++ _, _, netloc = netloc.rpartition('@') # anything to the left of '@' is okay
++ for c in '/?#@:':
++ if c in netloc2:
++ raise ValueError("netloc '" + netloc2 + "' contains invalid " +
++ "characters under NFKC normalization")
++
+ def urlsplit(url, scheme='', allow_fragments=True):
+ """Parse a URL into 5 components:
+ <scheme>://<netloc>/<path>?<query>#<fragment>
+@@ -193,6 +208,7 @@ def urlsplit(url, scheme='', allow_fragments=True):
+ url, fragment = url.split('#', 1)
+ if '?' in url:
+ url, query = url.split('?', 1)
++ _checknetloc(netloc)
+ v = SplitResult(scheme, netloc, url, query, fragment)
+ _parse_cache[key] = v
+ return v
+@@ -216,6 +232,7 @@ def urlsplit(url, scheme='', allow_fragments=True):
+ url, fragment = url.split('#', 1)
+ if '?' in url:
+ url, query = url.split('?', 1)
++ _checknetloc(netloc)
+ v = SplitResult(scheme, netloc, url, query, fragment)
+ _parse_cache[key] = v
+ return v
+diff --git a/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst
+new file mode 100644
+index 000000000000..1e1ad92c6feb
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst
+@@ -0,0 +1,3 @@
++Changes urlsplit() to raise ValueError when the URL contains characters that
++decompose under IDNA encoding (NFKC-normalization) into characters that
++affect how the URL is parsed.
+\ No newline at end of file
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb
index 17803f1b0..17803f1b0 100644
--- a/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb
diff --git a/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb b/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb
index 8bc1f4983..13dbf9617 100644
--- a/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb
@@ -1,6 +1,2 @@
inherit setuptools3
require python-nose.inc
-
-do_install_append() {
- mv ${D}${bindir}/nosetests ${D}${bindir}/nosetests3
-}
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb
deleted file mode 100644
index d9b6ce74a..000000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
-SRC_URI[md5sum] = "08972dca5fd2a959f27842090973edd6"
-SRC_URI[sha256sum] = "8c361cc353d988e4f5b998555c88098b9d5964c2e11acf7b0d21925a66bb5824"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb
new file mode 100644
index 000000000..ed6832e4a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-pbr.inc
+SRC_URI[md5sum] = "2bca008fd08d035a2f78c606d876a6db"
+SRC_URI[sha256sum] = "d950c64aeea5456bbd147468382a5bb77fe692c13c9f00f0219814ce5b642755"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb
index 4fdc7ee24..baf32f472 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb
@@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
DEPENDS += "python3 python3-setuptools-native"
-SRC_URI[md5sum] = "1c5edb0924a0d7d79f3a2e3df05009b4"
-SRC_URI[sha256sum] = "6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2"
+SRC_URI[md5sum] = "4fb98a060f21c731d6743b90a714fc73"
+SRC_URI[sha256sum] = "44d3d7d3d30a1eb65c7e5ff1173cdf8f7467850605ac7cc3707b6064bddd0958"
inherit pypi distutils3
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb
new file mode 100644
index 000000000..35c0ac6a5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Pygments is a syntax highlighting package written in Python."
+DESCRIPTION = "Pygments is a syntax highlighting package written in Python."
+HOMEPAGE = "http://pygments.org/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8"
+
+inherit setuptools3
+SRC_URI[md5sum] = "5ecc3fbb2a783e917b369271fc0e6cd1"
+SRC_URI[sha256sum] = "881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297"
+
+DEPENDS += "\
+ ${PYTHON_PN} \
+ "
+
+PYPI_PACKAGE = "Pygments"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb b/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb
new file mode 100644
index 000000000..5cd595662
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb
@@ -0,0 +1,8 @@
+require python3-scons_${PV}.bb
+inherit native python3native
+DEPENDS = "python3-native"
+RDEPENDS_${PN} = ""
+
+do_install_append() {
+ create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1'
+}
diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb b/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb
new file mode 100644
index 000000000..7fb75a627
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Software Construction tool (make/autotools replacement)"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz"
+SRC_URI[md5sum] = "9f9c163e8bd48cf8cd92f03e85ca6395"
+SRC_URI[sha256sum] = "df676f23dc6d4bfa384fc389d95dcd21ab907e6349d4c848958ba4befb73c73e"
+
+S = "${WORKDIR}/scons-${PV}"
+
+UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit setuptools3
+
+do_install_prepend() {
+ sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${S}/script/*
+}
+
+RDEPENDS_${PN} = "\
+ python3-core \
+ python3-fcntl \
+ python3-io \
+ python3-json \
+ python3-shell \
+ python3-pickle \
+ python3-pprint \
+ "
diff --git a/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
new file mode 100644
index 000000000..e7af88654
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
@@ -0,0 +1,201 @@
+From 7535c39951b9d15dd64c4669092a8582ba555466 Mon Sep 17 00:00:00 2001
+From: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
+Date: Fri, 31 May 2019 15:34:34 +0200
+Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft
+ float
+
+When (cross) compiling for softfloat mips, __mips_hard_float will not be
+defined and detection of OS triplet in configure.ac / configure will fail.
+
+This also has to do with the custom detection of the build triplet. Trying
+to do this in a more autoconf/autotools manner.
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196]
+Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
+---
+ configure.ac | 169 ++++++---------------------------------------------
+ 1 file changed, 17 insertions(+), 152 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a7de901e08..a73e2de51b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -727,158 +727,23 @@ fi
+ MULTIARCH=$($CC --print-multiarch 2>/dev/null)
+ AC_SUBST(MULTIARCH)
+
+-AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
+-cat >> conftest.c <<EOF
+-#undef bfin
+-#undef cris
+-#undef fr30
+-#undef linux
+-#undef hppa
+-#undef hpux
+-#undef i386
+-#undef mips
+-#undef powerpc
+-#undef sparc
+-#undef unix
+-#if defined(__ANDROID__)
+- # Android is not a multiarch system.
+-#elif defined(__linux__)
+-# if defined(__x86_64__) && defined(__LP64__)
+- x86_64-linux-gnu
+-# elif defined(__x86_64__) && defined(__ILP32__)
+- x86_64-linux-gnux32
+-# elif defined(__i386__)
+- i386-linux-gnu
+-# elif defined(__aarch64__) && defined(__AARCH64EL__)
+-# if defined(__ILP32__)
+- aarch64_ilp32-linux-gnu
+-# else
+- aarch64-linux-gnu
+-# endif
+-# elif defined(__aarch64__) && defined(__AARCH64EB__)
+-# if defined(__ILP32__)
+- aarch64_be_ilp32-linux-gnu
+-# else
+- aarch64_be-linux-gnu
+-# endif
+-# elif defined(__alpha__)
+- alpha-linux-gnu
+-# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
+-# if defined(__ARMEL__)
+- arm-linux-gnueabihf
+-# else
+- armeb-linux-gnueabihf
+-# endif
+-# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
+-# if defined(__ARMEL__)
+- arm-linux-gnueabi
+-# else
+- armeb-linux-gnueabi
+-# endif
+-# elif defined(__hppa__)
+- hppa-linux-gnu
+-# elif defined(__ia64__)
+- ia64-linux-gnu
+-# elif defined(__m68k__) && !defined(__mcoldfire__)
+- m68k-linux-gnu
+-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL)
+-# if _MIPS_SIM == _ABIO32
+- mipsisa32r6el-linux-gnu
+-# elif _MIPS_SIM == _ABIN32
+- mipsisa64r6el-linux-gnuabin32
+-# elif _MIPS_SIM == _ABI64
+- mipsisa64r6el-linux-gnuabi64
+-# else
+-# error unknown platform triplet
+-# endif
+-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6)
+-# if _MIPS_SIM == _ABIO32
+- mipsisa32r6-linux-gnu
+-# elif _MIPS_SIM == _ABIN32
+- mipsisa64r6-linux-gnuabin32
+-# elif _MIPS_SIM == _ABI64
+- mipsisa64r6-linux-gnuabi64
+-# else
+-# error unknown platform triplet
+-# endif
+-# elif defined(__mips_hard_float) && defined(_MIPSEL)
+-# if _MIPS_SIM == _ABIO32
+- mipsel-linux-gnu
+-# elif _MIPS_SIM == _ABIN32
+- mips64el-linux-gnuabin32
+-# elif _MIPS_SIM == _ABI64
+- mips64el-linux-gnuabi64
+-# else
+-# error unknown platform triplet
+-# endif
+-# elif defined(__mips_hard_float)
+-# if _MIPS_SIM == _ABIO32
+- mips-linux-gnu
+-# elif _MIPS_SIM == _ABIN32
+- mips64-linux-gnuabin32
+-# elif _MIPS_SIM == _ABI64
+- mips64-linux-gnuabi64
+-# else
+-# error unknown platform triplet
+-# endif
+-# elif defined(__or1k__)
+- or1k-linux-gnu
+-# elif defined(__powerpc__) && defined(__SPE__)
+- powerpc-linux-gnuspe
+-# elif defined(__powerpc64__)
+-# if defined(__LITTLE_ENDIAN__)
+- powerpc64le-linux-gnu
+-# else
+- powerpc64-linux-gnu
+-# endif
+-# elif defined(__powerpc__)
+- powerpc-linux-gnu
+-# elif defined(__s390x__)
+- s390x-linux-gnu
+-# elif defined(__s390__)
+- s390-linux-gnu
+-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__)
+- sh4-linux-gnu
+-# elif defined(__sparc__) && defined(__arch64__)
+- sparc64-linux-gnu
+-# elif defined(__sparc__)
+- sparc-linux-gnu
+-# elif defined(__riscv)
+-# if __riscv_xlen == 32
+- riscv32-linux-gnu
+-# elif __riscv_xlen == 64
+- riscv64-linux-gnu
+-# else
+-# error unknown platform triplet
+-# endif
+-# else
+-# error unknown platform triplet
+-# endif
+-#elif defined(__FreeBSD_kernel__)
+-# if defined(__LP64__)
+- x86_64-kfreebsd-gnu
+-# elif defined(__i386__)
+- i386-kfreebsd-gnu
+-# else
+-# error unknown platform triplet
+-# endif
+-#elif defined(__gnu_hurd__)
+- i386-gnu
+-#elif defined(__APPLE__)
+- darwin
+-#else
+-# error unknown platform triplet
+-#endif
+-
+-EOF
+-
+-if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then
+- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '`
+- AC_MSG_RESULT([$PLATFORM_TRIPLET])
+-else
+- AC_MSG_RESULT([none])
+-fi
+-rm -f conftest.c conftest.out
++AC_CANONICAL_TARGET
++## Not using $target to filter out vendor
++## Need to handle macos, vxworks and hurd special (?) :-/
++case ${target_os} in
++ darwin*)
++ PLATFORM_TRIPLET=darwin
++ ;;
++ hurd*)
++ PLATFORM_TRIPLET=i386-gnu
++ ;;
++ vxworks*)
++ PLATFORM_TRIPLET=vxworks
++ ;;
++ *)
++ PLATFORM_TRIPLET=${target_cpu}-${target_os}
++ ;;
++esac
+
+ if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then
+ if test x$PLATFORM_TRIPLET != x$MULTIARCH; then
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
new file mode 100644
index 000000000..d789ab57d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
@@ -0,0 +1,25 @@
+configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD
+
+When building x86->x86 the system will try to execute .so and related items
+from the default PYTHONPATH. This will fail if the target CPU contains
+instructions that the host CPU does not have, add CROSSPYTHONPATH
+into PYTHONPATH so we can prepend the list to find correct libs.
+
+Upstream-Status: Inappropriate [OE-Core integration specific]
+
+Credits-to: Mark Hatle <mark.hatle@windriver.com>
+Credits-to: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
+diff --git a/configure.ac b/configure.ac
+index 4ab19a6..7036a53 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,7 +76,7 @@ if test "$cross_compiling" = yes; then
+ AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
+ fi
+ AC_MSG_RESULT($interp)
+- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp
++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp
+ fi
+ elif test "$cross_compiling" = maybe; then
+ AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
diff --git a/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py
new file mode 100644
index 000000000..c4164313e
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py
@@ -0,0 +1,21 @@
+#! /usr/bin/env python3
+#
+# SPDX-License-Identifier: MIT
+#
+# Copyright 2019 by Garmin Ltd. or its subsidiaries
+#
+# A script to reformat python sysconfig
+
+import sys
+import pprint
+l = {}
+g = {}
+with open(sys.argv[1], 'r') as f:
+ exec(f.read(), g, l)
+
+with open(sys.argv[1], 'w') as f:
+ for k in sorted(l.keys()):
+ f.write('%s = ' % k)
+ pprint.pprint(l[k], stream=f, width=sys.maxsize)
+ f.write('\n')
+
diff --git a/poky/meta/recipes-devtools/python/python3_3.7.3.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb
index 413d35ae1..3409d94ba 100644
--- a/poky/meta/recipes-devtools/python/python3_3.7.3.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb
@@ -23,6 +23,9 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
+ file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
+ file://crosspythonpath.patch \
+ file://reformat_sysconfig.py \
"
SRC_URI_append_class-native = " \
@@ -64,6 +67,7 @@ DEPENDS_append_class-nativesdk = " python3-native"
EXTRA_OECONF = " --without-ensurepip --enable-shared"
EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
+export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
EXTRANATIVEPATH += "python3-native"
@@ -72,8 +76,16 @@ CACHED_CONFIGUREVARS = " \
ac_cv_file__dev_ptc=no \
ac_cv_working_tzset=yes \
"
+python() {
+ # PGO currently causes builds to not be reproducible, so disable it for
+ # now. See YOCTO #13407
+ if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1':
+ d.setVar('PACKAGECONFIG_PGO', 'pgo')
+ else:
+ d.setVar('PACKAGECONFIG_PGO', '')
+}
-PACKAGECONFIG_class-target ??= "readline ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'pgo', '', d)}"
+PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO}"
PACKAGECONFIG_class-native ??= "readline"
PACKAGECONFIG_class-nativesdk ??= "readline"
PACKAGECONFIG[readline] = ",,readline"
@@ -154,6 +166,12 @@ py_package_preprocess () {
${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
${PKGD}/${bindir}/python${PYTHON_BINABI}-config
+ # Reformat _sysconfigdata after modifying it so that it remains
+ # reproducible
+ for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
+ python3 ${WORKDIR}/reformat_sysconfig.py $c
+ done
+
# Recompile _sysconfigdata after modifying it
cd ${PKGD}
sysconfigfile=`find . -name _sysconfigdata_*.py`
diff --git a/poky/meta/recipes-devtools/python/python_2.7.16.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb
index 0e7dd2b3f..5f387b8af 100644
--- a/poky/meta/recipes-devtools/python/python_2.7.16.bb
+++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb
@@ -30,7 +30,11 @@ SRC_URI += " \
file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
file://float-endian.patch \
file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \
- "
+ file://bpo-35907-cve-2019-9948.patch \
+ file://bpo-35907-cve-2019-9948-fix.patch \
+ file://bpo-36216-cve-2019-9636.patch \
+ file://bpo-36216-cve-2019-9636-fix.patch \
+"
S = "${WORKDIR}/Python-${PV}"
@@ -158,7 +162,7 @@ py_package_preprocess () {
PACKAGES_remove = "${PN}"
# manual dependency additions
-RPROVIDES_${PN}-core = "${PN}"
+RPROVIDES_${PN}-modules = "${PN}"
RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python-modules"
RRECOMMENDS_${PN}-crypt = "openssl"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
index 820883df6..964dcee52 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
@@ -5,7 +5,7 @@ require qemu-native.inc
# As some of the files installed by qemu-native and qemu-system-native
# are the same, we depend on qemu-native to get the full installation set
# and avoid file clashes
-DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native"
+DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native"
EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index f7b41412a..ac475a8e2 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -4,6 +4,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
RDEPENDS_${PN}-ptest = "bash make"
+require qemu-targets.inc
+inherit pkgconfig bluetooth ptest
+
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
@@ -20,7 +23,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0008-apic-fixup-fallthrough-to-PIC.patch \
file://0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
file://0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
- file://0013-Revert-target-arm-Use-vector-operations-for-saturati.patch \
+ file://0013-target-arm-Fix-vector-operation-segfault.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -49,10 +52,6 @@ do_install_ptest() {
-e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
}
-
-require qemu-targets.inc
-inherit pkgconfig bluetooth ptest
-
# QEMU_TARGETS is overridable variable
QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc riscv32 riscv64 sh4 x86_64"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
deleted file mode 100644
index 3d018a74d..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
+++ /dev/null
@@ -1,493 +0,0 @@
-From b46cdcdeb762c1f0eef68dc4a7d90f8176152e07 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Wed, 1 May 2019 19:51:27 -0700
-Subject: [PATCH] Revert "target/arm: Use vector operations for saturation"
-
-This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd.
-
-This fixes QEMU aborts when running the qemuarm machine.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- target/arm/helper.h | 33 -------
- target/arm/translate-a64.c | 36 ++++----
- target/arm/translate.c | 172 ++++++-------------------------------
- target/arm/translate.h | 4 -
- target/arm/vec_helper.c | 130 ----------------------------
- 5 files changed, 44 insertions(+), 331 deletions(-)
-
-diff --git a/target/arm/helper.h b/target/arm/helper.h
-index 50cb036378..b2669f140f 100644
---- a/target/arm/helper.h
-+++ b/target/arm/helper.h
-@@ -646,39 +646,6 @@ DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG,
- DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG,
- void, ptr, ptr, ptr, ptr, ptr, i32)
-
--DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
-- void, ptr, ptr, ptr, ptr, i32)
--
- DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
- void, ptr, ptr, ptr, ptr, i32)
- DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
-diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
-index 9dcc5ff3a3..428211f92f 100644
---- a/target/arm/translate-a64.c
-+++ b/target/arm/translate-a64.c
-@@ -11230,22 +11230,6 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
- }
-
- switch (opcode) {
-- case 0x01: /* SQADD, UQADD */
-- tcg_gen_gvec_4(vec_full_reg_offset(s, rd),
-- offsetof(CPUARMState, vfp.qc),
-- vec_full_reg_offset(s, rn),
-- vec_full_reg_offset(s, rm),
-- is_q ? 16 : 8, vec_full_reg_size(s),
-- (u ? uqadd_op : sqadd_op) + size);
-- return;
-- case 0x05: /* SQSUB, UQSUB */
-- tcg_gen_gvec_4(vec_full_reg_offset(s, rd),
-- offsetof(CPUARMState, vfp.qc),
-- vec_full_reg_offset(s, rn),
-- vec_full_reg_offset(s, rm),
-- is_q ? 16 : 8, vec_full_reg_size(s),
-- (u ? uqsub_op : sqsub_op) + size);
-- return;
- case 0x0c: /* SMAX, UMAX */
- if (u) {
- gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umax, size);
-@@ -11341,6 +11325,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
- genfn = fns[size][u];
- break;
- }
-+ case 0x1: /* SQADD, UQADD */
-+ {
-+ static NeonGenTwoOpEnvFn * const fns[3][2] = {
-+ { gen_helper_neon_qadd_s8, gen_helper_neon_qadd_u8 },
-+ { gen_helper_neon_qadd_s16, gen_helper_neon_qadd_u16 },
-+ { gen_helper_neon_qadd_s32, gen_helper_neon_qadd_u32 },
-+ };
-+ genenvfn = fns[size][u];
-+ break;
-+ }
- case 0x2: /* SRHADD, URHADD */
- {
- static NeonGenTwoOpFn * const fns[3][2] = {
-@@ -11361,6 +11355,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
- genfn = fns[size][u];
- break;
- }
-+ case 0x5: /* SQSUB, UQSUB */
-+ {
-+ static NeonGenTwoOpEnvFn * const fns[3][2] = {
-+ { gen_helper_neon_qsub_s8, gen_helper_neon_qsub_u8 },
-+ { gen_helper_neon_qsub_s16, gen_helper_neon_qsub_u16 },
-+ { gen_helper_neon_qsub_s32, gen_helper_neon_qsub_u32 },
-+ };
-+ genenvfn = fns[size][u];
-+ break;
-+ }
- case 0x8: /* SSHL, USHL */
- {
- static NeonGenTwoOpFn * const fns[3][2] = {
-diff --git a/target/arm/translate.c b/target/arm/translate.c
-index 10bc53f91c..cf675cef3f 100644
---- a/target/arm/translate.c
-+++ b/target/arm/translate.c
-@@ -6242,142 +6242,6 @@ const GVecGen3 cmtst_op[4] = {
- .vece = MO_64 },
- };
-
--static void gen_uqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
-- TCGv_vec a, TCGv_vec b)
--{
-- TCGv_vec x = tcg_temp_new_vec_matching(t);
-- tcg_gen_add_vec(vece, x, a, b);
-- tcg_gen_usadd_vec(vece, t, a, b);
-- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
-- tcg_gen_or_vec(vece, sat, sat, x);
-- tcg_temp_free_vec(x);
--}
--
--const GVecGen4 uqadd_op[4] = {
-- { .fniv = gen_uqadd_vec,
-- .fno = gen_helper_gvec_uqadd_b,
-- .opc = INDEX_op_usadd_vec,
-- .write_aofs = true,
-- .vece = MO_8 },
-- { .fniv = gen_uqadd_vec,
-- .fno = gen_helper_gvec_uqadd_h,
-- .opc = INDEX_op_usadd_vec,
-- .write_aofs = true,
-- .vece = MO_16 },
-- { .fniv = gen_uqadd_vec,
-- .fno = gen_helper_gvec_uqadd_s,
-- .opc = INDEX_op_usadd_vec,
-- .write_aofs = true,
-- .vece = MO_32 },
-- { .fniv = gen_uqadd_vec,
-- .fno = gen_helper_gvec_uqadd_d,
-- .opc = INDEX_op_usadd_vec,
-- .write_aofs = true,
-- .vece = MO_64 },
--};
--
--static void gen_sqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
-- TCGv_vec a, TCGv_vec b)
--{
-- TCGv_vec x = tcg_temp_new_vec_matching(t);
-- tcg_gen_add_vec(vece, x, a, b);
-- tcg_gen_ssadd_vec(vece, t, a, b);
-- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
-- tcg_gen_or_vec(vece, sat, sat, x);
-- tcg_temp_free_vec(x);
--}
--
--const GVecGen4 sqadd_op[4] = {
-- { .fniv = gen_sqadd_vec,
-- .fno = gen_helper_gvec_sqadd_b,
-- .opc = INDEX_op_ssadd_vec,
-- .write_aofs = true,
-- .vece = MO_8 },
-- { .fniv = gen_sqadd_vec,
-- .fno = gen_helper_gvec_sqadd_h,
-- .opc = INDEX_op_ssadd_vec,
-- .write_aofs = true,
-- .vece = MO_16 },
-- { .fniv = gen_sqadd_vec,
-- .fno = gen_helper_gvec_sqadd_s,
-- .opc = INDEX_op_ssadd_vec,
-- .write_aofs = true,
-- .vece = MO_32 },
-- { .fniv = gen_sqadd_vec,
-- .fno = gen_helper_gvec_sqadd_d,
-- .opc = INDEX_op_ssadd_vec,
-- .write_aofs = true,
-- .vece = MO_64 },
--};
--
--static void gen_uqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
-- TCGv_vec a, TCGv_vec b)
--{
-- TCGv_vec x = tcg_temp_new_vec_matching(t);
-- tcg_gen_sub_vec(vece, x, a, b);
-- tcg_gen_ussub_vec(vece, t, a, b);
-- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
-- tcg_gen_or_vec(vece, sat, sat, x);
-- tcg_temp_free_vec(x);
--}
--
--const GVecGen4 uqsub_op[4] = {
-- { .fniv = gen_uqsub_vec,
-- .fno = gen_helper_gvec_uqsub_b,
-- .opc = INDEX_op_ussub_vec,
-- .write_aofs = true,
-- .vece = MO_8 },
-- { .fniv = gen_uqsub_vec,
-- .fno = gen_helper_gvec_uqsub_h,
-- .opc = INDEX_op_ussub_vec,
-- .write_aofs = true,
-- .vece = MO_16 },
-- { .fniv = gen_uqsub_vec,
-- .fno = gen_helper_gvec_uqsub_s,
-- .opc = INDEX_op_ussub_vec,
-- .write_aofs = true,
-- .vece = MO_32 },
-- { .fniv = gen_uqsub_vec,
-- .fno = gen_helper_gvec_uqsub_d,
-- .opc = INDEX_op_ussub_vec,
-- .write_aofs = true,
-- .vece = MO_64 },
--};
--
--static void gen_sqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
-- TCGv_vec a, TCGv_vec b)
--{
-- TCGv_vec x = tcg_temp_new_vec_matching(t);
-- tcg_gen_sub_vec(vece, x, a, b);
-- tcg_gen_sssub_vec(vece, t, a, b);
-- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
-- tcg_gen_or_vec(vece, sat, sat, x);
-- tcg_temp_free_vec(x);
--}
--
--const GVecGen4 sqsub_op[4] = {
-- { .fniv = gen_sqsub_vec,
-- .fno = gen_helper_gvec_sqsub_b,
-- .opc = INDEX_op_sssub_vec,
-- .write_aofs = true,
-- .vece = MO_8 },
-- { .fniv = gen_sqsub_vec,
-- .fno = gen_helper_gvec_sqsub_h,
-- .opc = INDEX_op_sssub_vec,
-- .write_aofs = true,
-- .vece = MO_16 },
-- { .fniv = gen_sqsub_vec,
-- .fno = gen_helper_gvec_sqsub_s,
-- .opc = INDEX_op_sssub_vec,
-- .write_aofs = true,
-- .vece = MO_32 },
-- { .fniv = gen_sqsub_vec,
-- .fno = gen_helper_gvec_sqsub_d,
-- .opc = INDEX_op_sssub_vec,
-- .write_aofs = true,
-- .vece = MO_64 },
--};
--
- /* Translate a NEON data processing instruction. Return nonzero if the
- instruction is invalid.
- We process data in a mixture of 32-bit and 64-bit chunks.
-@@ -6561,18 +6425,6 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
- }
- return 0;
-
-- case NEON_3R_VQADD:
-- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc),
-- rn_ofs, rm_ofs, vec_size, vec_size,
-- (u ? uqadd_op : sqadd_op) + size);
-- break;
--
-- case NEON_3R_VQSUB:
-- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc),
-- rn_ofs, rm_ofs, vec_size, vec_size,
-- (u ? uqsub_op : sqsub_op) + size);
-- break;
--
- case NEON_3R_VMUL: /* VMUL */
- if (u) {
- /* Polynomial case allows only P8 and is handled below. */
-@@ -6637,6 +6489,24 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
- neon_load_reg64(cpu_V0, rn + pass);
- neon_load_reg64(cpu_V1, rm + pass);
- switch (op) {
-+ case NEON_3R_VQADD:
-+ if (u) {
-+ gen_helper_neon_qadd_u64(cpu_V0, cpu_env,
-+ cpu_V0, cpu_V1);
-+ } else {
-+ gen_helper_neon_qadd_s64(cpu_V0, cpu_env,
-+ cpu_V0, cpu_V1);
-+ }
-+ break;
-+ case NEON_3R_VQSUB:
-+ if (u) {
-+ gen_helper_neon_qsub_u64(cpu_V0, cpu_env,
-+ cpu_V0, cpu_V1);
-+ } else {
-+ gen_helper_neon_qsub_s64(cpu_V0, cpu_env,
-+ cpu_V0, cpu_V1);
-+ }
-+ break;
- case NEON_3R_VSHL:
- if (u) {
- gen_helper_neon_shl_u64(cpu_V0, cpu_V1, cpu_V0);
-@@ -6752,12 +6622,18 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
- case NEON_3R_VHADD:
- GEN_NEON_INTEGER_OP(hadd);
- break;
-+ case NEON_3R_VQADD:
-+ GEN_NEON_INTEGER_OP_ENV(qadd);
-+ break;
- case NEON_3R_VRHADD:
- GEN_NEON_INTEGER_OP(rhadd);
- break;
- case NEON_3R_VHSUB:
- GEN_NEON_INTEGER_OP(hsub);
- break;
-+ case NEON_3R_VQSUB:
-+ GEN_NEON_INTEGER_OP_ENV(qsub);
-+ break;
- case NEON_3R_VSHL:
- GEN_NEON_INTEGER_OP(shl);
- break;
-diff --git a/target/arm/translate.h b/target/arm/translate.h
-index c2348def0d..07055c9449 100644
---- a/target/arm/translate.h
-+++ b/target/arm/translate.h
-@@ -248,10 +248,6 @@ extern const GVecGen2i ssra_op[4];
- extern const GVecGen2i usra_op[4];
- extern const GVecGen2i sri_op[4];
- extern const GVecGen2i sli_op[4];
--extern const GVecGen4 uqadd_op[4];
--extern const GVecGen4 sqadd_op[4];
--extern const GVecGen4 uqsub_op[4];
--extern const GVecGen4 sqsub_op[4];
- void gen_cmtst_i64(TCGv_i64 d, TCGv_i64 a, TCGv_i64 b);
-
- /*
-diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c
-index dedef62403..be3271659f 100644
---- a/target/arm/vec_helper.c
-+++ b/target/arm/vec_helper.c
-@@ -769,136 +769,6 @@ DO_FMLA_IDX(gvec_fmla_idx_d, float64, )
-
- #undef DO_FMLA_IDX
-
--#define DO_SAT(NAME, WTYPE, TYPEN, TYPEM, OP, MIN, MAX) \
--void HELPER(NAME)(void *vd, void *vq, void *vn, void *vm, uint32_t desc) \
--{ \
-- intptr_t i, oprsz = simd_oprsz(desc); \
-- TYPEN *d = vd, *n = vn; TYPEM *m = vm; \
-- bool q = false; \
-- for (i = 0; i < oprsz / sizeof(TYPEN); i++) { \
-- WTYPE dd = (WTYPE)n[i] OP m[i]; \
-- if (dd < MIN) { \
-- dd = MIN; \
-- q = true; \
-- } else if (dd > MAX) { \
-- dd = MAX; \
-- q = true; \
-- } \
-- d[i] = dd; \
-- } \
-- if (q) { \
-- uint32_t *qc = vq; \
-- qc[0] = 1; \
-- } \
-- clear_tail(d, oprsz, simd_maxsz(desc)); \
--}
--
--DO_SAT(gvec_uqadd_b, int, uint8_t, uint8_t, +, 0, UINT8_MAX)
--DO_SAT(gvec_uqadd_h, int, uint16_t, uint16_t, +, 0, UINT16_MAX)
--DO_SAT(gvec_uqadd_s, int64_t, uint32_t, uint32_t, +, 0, UINT32_MAX)
--
--DO_SAT(gvec_sqadd_b, int, int8_t, int8_t, +, INT8_MIN, INT8_MAX)
--DO_SAT(gvec_sqadd_h, int, int16_t, int16_t, +, INT16_MIN, INT16_MAX)
--DO_SAT(gvec_sqadd_s, int64_t, int32_t, int32_t, +, INT32_MIN, INT32_MAX)
--
--DO_SAT(gvec_uqsub_b, int, uint8_t, uint8_t, -, 0, UINT8_MAX)
--DO_SAT(gvec_uqsub_h, int, uint16_t, uint16_t, -, 0, UINT16_MAX)
--DO_SAT(gvec_uqsub_s, int64_t, uint32_t, uint32_t, -, 0, UINT32_MAX)
--
--DO_SAT(gvec_sqsub_b, int, int8_t, int8_t, -, INT8_MIN, INT8_MAX)
--DO_SAT(gvec_sqsub_h, int, int16_t, int16_t, -, INT16_MIN, INT16_MAX)
--DO_SAT(gvec_sqsub_s, int64_t, int32_t, int32_t, -, INT32_MIN, INT32_MAX)
--
--#undef DO_SAT
--
--void HELPER(gvec_uqadd_d)(void *vd, void *vq, void *vn,
-- void *vm, uint32_t desc)
--{
-- intptr_t i, oprsz = simd_oprsz(desc);
-- uint64_t *d = vd, *n = vn, *m = vm;
-- bool q = false;
--
-- for (i = 0; i < oprsz / 8; i++) {
-- uint64_t nn = n[i], mm = m[i], dd = nn + mm;
-- if (dd < nn) {
-- dd = UINT64_MAX;
-- q = true;
-- }
-- d[i] = dd;
-- }
-- if (q) {
-- uint32_t *qc = vq;
-- qc[0] = 1;
-- }
-- clear_tail(d, oprsz, simd_maxsz(desc));
--}
--
--void HELPER(gvec_uqsub_d)(void *vd, void *vq, void *vn,
-- void *vm, uint32_t desc)
--{
-- intptr_t i, oprsz = simd_oprsz(desc);
-- uint64_t *d = vd, *n = vn, *m = vm;
-- bool q = false;
--
-- for (i = 0; i < oprsz / 8; i++) {
-- uint64_t nn = n[i], mm = m[i], dd = nn - mm;
-- if (nn < mm) {
-- dd = 0;
-- q = true;
-- }
-- d[i] = dd;
-- }
-- if (q) {
-- uint32_t *qc = vq;
-- qc[0] = 1;
-- }
-- clear_tail(d, oprsz, simd_maxsz(desc));
--}
--
--void HELPER(gvec_sqadd_d)(void *vd, void *vq, void *vn,
-- void *vm, uint32_t desc)
--{
-- intptr_t i, oprsz = simd_oprsz(desc);
-- int64_t *d = vd, *n = vn, *m = vm;
-- bool q = false;
--
-- for (i = 0; i < oprsz / 8; i++) {
-- int64_t nn = n[i], mm = m[i], dd = nn + mm;
-- if (((dd ^ nn) & ~(nn ^ mm)) & INT64_MIN) {
-- dd = (nn >> 63) ^ ~INT64_MIN;
-- q = true;
-- }
-- d[i] = dd;
-- }
-- if (q) {
-- uint32_t *qc = vq;
-- qc[0] = 1;
-- }
-- clear_tail(d, oprsz, simd_maxsz(desc));
--}
--
--void HELPER(gvec_sqsub_d)(void *vd, void *vq, void *vn,
-- void *vm, uint32_t desc)
--{
-- intptr_t i, oprsz = simd_oprsz(desc);
-- int64_t *d = vd, *n = vn, *m = vm;
-- bool q = false;
--
-- for (i = 0; i < oprsz / 8; i++) {
-- int64_t nn = n[i], mm = m[i], dd = nn - mm;
-- if (((dd ^ nn) & (nn ^ mm)) & INT64_MIN) {
-- dd = (nn >> 63) ^ ~INT64_MIN;
-- q = true;
-- }
-- d[i] = dd;
-- }
-- if (q) {
-- uint32_t *qc = vq;
-- qc[0] = 1;
-- }
-- clear_tail(d, oprsz, simd_maxsz(desc));
--}
--
- /*
- * Convert float16 to float32, raising no exceptions and
- * preserving exceptional values, including SNaN.
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch
new file mode 100644
index 000000000..c1dd957dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch
@@ -0,0 +1,66 @@
+From 2f143d3ad1c05e91cf2cdf5de06d59a80a95e6c8 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Thu, 23 May 2019 14:47:43 +0100
+Subject: [PATCH] target/arm: Fix vector operation segfault
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit 89e68b575 "target/arm: Use vector operations for saturation"
+causes this abort() when booting QEMU ARM with a Cortex-A15:
+
+0 0x00007ffff4c2382f in raise () at /usr/lib/libc.so.6
+1 0x00007ffff4c0e672 in abort () at /usr/lib/libc.so.6
+2 0x00005555559c1839 in disas_neon_data_insn (insn=<optimized out>, s=<optimized out>) at ./target/arm/translate.c:6673
+3 0x00005555559c1839 in disas_neon_data_insn (s=<optimized out>, insn=<optimized out>) at ./target/arm/translate.c:6386
+4 0x00005555559cd8a4 in disas_arm_insn (insn=4081107068, s=0x7fffe59a9510) at ./target/arm/translate.c:9289
+5 0x00005555559cd8a4 in arm_tr_translate_insn (dcbase=0x7fffe59a9510, cpu=<optimized out>) at ./target/arm/translate.c:13612
+6 0x00005555558d1d39 in translator_loop (ops=0x5555561cc580 <arm_translator_ops>, db=0x7fffe59a9510, cpu=0x55555686a2f0, tb=<optimized out>, max_insns=<optimized out>) at ./accel/tcg/translator.c:96
+7 0x00005555559d10d4 in gen_intermediate_code (cpu=cpu@entry=0x55555686a2f0, tb=tb@entry=0x7fffd7840080 <code_gen_buffer+126091347>, max_insns=max_insns@entry=512) at ./target/arm/translate.c:13901
+8 0x00005555558d06b9 in tb_gen_code (cpu=cpu@entry=0x55555686a2f0, pc=3067096216, cs_base=0, flags=192, cflags=-16252928, cflags@entry=524288) at ./accel/tcg/translate-all.c:1736
+9 0x00005555558ce467 in tb_find (cf_mask=524288, tb_exit=1, last_tb=0x7fffd783e640 <code_gen_buffer+126084627>, cpu=0x1) at ./accel/tcg/cpu-exec.c:407
+10 0x00005555558ce467 in cpu_exec (cpu=cpu@entry=0x55555686a2f0) at ./accel/tcg/cpu-exec.c:728
+11 0x000055555588b0cf in tcg_cpu_exec (cpu=0x55555686a2f0) at ./cpus.c:1431
+12 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=0x55555686a2f0) at ./cpus.c:1735
+13 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=arg@entry=0x55555686a2f0) at ./cpus.c:1709
+14 0x0000555555d2629a in qemu_thread_start (args=<optimized out>) at ./util/qemu-thread-posix.c:502
+15 0x00007ffff4db8a92 in start_thread () at /usr/lib/libpthread.
+
+This patch ensures that we don't hit the abort() in the second switch
+case in disas_neon_data_insn() as we will return from the first case.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
+Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
+Tested-by: Alex Bennée <alex.bennee@linaro.org>
+Message-id: ad91b397f360b2fc7f4087e476f7df5b04d42ddb.1558021877.git.alistair.francis@wdc.com
+Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
+Upstream-Status: Backport [4.1.0]
+---
+ target/arm/translate.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/target/arm/translate.c b/target/arm/translate.c
+index dd053c80d6..298c262825 100644
+--- a/target/arm/translate.c
++++ b/target/arm/translate.c
+@@ -6598,13 +6598,13 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
+ tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc),
+ rn_ofs, rm_ofs, vec_size, vec_size,
+ (u ? uqadd_op : sqadd_op) + size);
+- break;
++ return 0;
+
+ case NEON_3R_VQSUB:
+ tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc),
+ rn_ofs, rm_ofs, vec_size, vec_size,
+ (u ? uqsub_op : sqsub_op) + size);
+- break;
++ return 0;
+
+ case NEON_3R_VMUL: /* VMUL */
+ if (u) {
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
index 247e0311e..76776098d 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
@@ -2,11 +2,12 @@ BBCLASSEXTEND = "nativesdk"
require qemu.inc
-DEPENDS = "glib-2.0 zlib pixman"
+DEPENDS = "glib-2.0 zlib pixman bison-native"
RDEPENDS_${PN}_class-target += "bash"
EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
do_install_append_class-nativesdk() {
diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc
index 150df3d57..dbf722be2 100644
--- a/poky/meta/recipes-devtools/quilt/quilt.inc
+++ b/poky/meta/recipes-devtools/quilt/quilt.inc
@@ -85,5 +85,5 @@ RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
perl-module-filehandle perl-module-getopt-std \
perl-module-posix perl-module-file-temp \
perl-module-text-parsewords perl-module-overloading \
- bash util-linux-getopt \
+ bash util-linux-getopt patch \
"
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch
index 0ce7b4e8c..87c1e8cac 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch
@@ -1,39 +1,8 @@
-Define FNM_EXTMATCH if not defined its glibc specific define
include missing sys/stat.h for stat* function declarations
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: squashfs-tools/action.c
-===================================================================
---- squashfs-tools.orig/action.c
-+++ squashfs-tools/action.c
-@@ -44,6 +44,10 @@
- #include "action.h"
- #include "error.h"
-
-+#if !defined(FNM_EXTMATCH)
-+#define FNM_EXTMATCH 0
-+#endif
-+
- /*
- * code to parse actions
- */
-Index: squashfs-tools/mksquashfs.c
-===================================================================
---- squashfs-tools.orig/mksquashfs.c
-+++ squashfs-tools/mksquashfs.c
-@@ -1261,6 +1261,10 @@ void write_dir(squashfs_inode *inode, st
- dir_size + 3, directory_block, directory_offset, NULL, NULL,
- dir, 0);
-
-+#if !defined(FNM_EXTMATCH)
-+#define FNM_EXTMATCH 0
-+#endif
-+
- #ifdef SQUASHFS_TRACE
- {
- unsigned char *dirp;
Index: squashfs-tools/pseudo.c
===================================================================
--- squashfs-tools.orig/pseudo.c
@@ -46,18 +15,3 @@ Index: squashfs-tools/pseudo.c
#include <ctype.h>
#include "pseudo.h"
-Index: squashfs-tools/unsquashfs.c
-===================================================================
---- squashfs-tools.orig/unsquashfs.c
-+++ squashfs-tools/unsquashfs.c
-@@ -42,6 +42,10 @@
- #include <sys/sysmacros.h>
- #endif
-
-+#ifndef FNM_EXTMATCH
-+#define FNM_EXTMATCH 0
-+#endif
-+
- struct cache *fragment_cache, *data_cache;
- struct queue *to_reader, *to_inflate, *to_writer, *from_writer;
- pthread_t *thread, *inflator_thread;
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 5a8b5f77b..dc1568a77 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -19,6 +19,9 @@ SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e
S = "${WORKDIR}/git/squashfs-tools"
+# needs FNM_EXTMATCH
+COMPATIBLE_HOST_libc-musl = 'null'
+
EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr"
diff --git a/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch
new file mode 100644
index 000000000..3e32cc388
--- /dev/null
+++ b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch
@@ -0,0 +1,19 @@
+If the test is successful, remove the log and exp files. This stops strace
+using around 600MB of disk space and running our ptest images out of space.
+
+RP 2019/5/29
+
+Upstream-Status: Inappropriate [specific to OE image space issues]
+
+Index: strace-4.26/tests/gen_tests.sh
+===================================================================
+--- strace-4.26.orig/tests/gen_tests.sh
++++ strace-4.26/tests/gen_tests.sh
+@@ -62,6 +62,7 @@ while read -r name arg0 args; do {
+ $hdr
+ . "\${srcdir=.}/init.sh"
+ run_strace_match_diff $arg0 $args
++ rm -rf log exp
+ EOF
+ ;;
+
diff --git a/poky/meta/recipes-devtools/strace/strace_4.26.bb b/poky/meta/recipes-devtools/strace/strace_4.26.bb
index 24f92c99e..3b61fc3ee 100644
--- a/poky/meta/recipes-devtools/strace/strace_4.26.bb
+++ b/poky/meta/recipes-devtools/strace/strace_4.26.bb
@@ -15,6 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
file://0001-mips-o32-fix-build.patch \
+ file://ptest-spacesave.patch \
"
SRC_URI[md5sum] = "daa51acc0c7c696221ec03cf0b30a7af"
SRC_URI[sha256sum] = "7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.3.bb b/poky/meta/recipes-devtools/vala/vala_0.44.5.bb
index fe6a5fcdc..518c9ebda 100644
--- a/poky/meta/recipes-devtools/vala/vala_0.44.3.bb
+++ b/poky/meta/recipes-devtools/vala/vala_0.44.5.bb
@@ -4,5 +4,5 @@ SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pat
file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
"
-SRC_URI[md5sum] = "25f97c1b46ae0b60b5cc49cbc044eca2"
-SRC_URI[sha256sum] = "8553b422484af88be1685d8b47f7b0df36ae4477c3e77e89ab22276ffed1eae9"
+SRC_URI[md5sum] = "1e8b8595168446c529b11236cf75e328"
+SRC_URI[sha256sum] = "bb8f8185b805411511786733c4b769c3ee6af8bc879609bffb6c46b8999bc27f"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
index ae3498f55..85f0ff756 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -110,7 +110,7 @@ RDEPENDS_${PN} += "perl"
# redirect functions like strlen.
RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
-RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob ${PN}-dbg"
+RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
# One of the tests contains a bogus interpreter path on purpose.
@@ -168,6 +168,7 @@ do_install_ptest() {
-o -name "*.h" \) \
-exec rm {} \;
mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
+ touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test
# find *_annotate in ${bindir} for yocto build
sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest
diff --git a/poky/meta/recipes-extended/acpica/acpica_20190405.bb b/poky/meta/recipes-extended/acpica/acpica_20190509.bb
index 25ad7ce31..cf6db336a 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20190405.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20190509.bb
@@ -17,8 +17,8 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
DEPENDS = "bison flex bison-native"
SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz"
-SRC_URI[md5sum] = "9ee30c8ff3012e213bc3b21a9d632215"
-SRC_URI[sha256sum] = "7e144fd011c23a0a10be0b0d7448c527a4c0f621f1f835a271636e448bc96643"
+SRC_URI[md5sum] = "dd1f8240f924b12b0a0de0c31ab26ab1"
+SRC_URI[sha256sum] = "860b5f94a0590b278592acf16a4556b05ff0309c08e8c48aa29827cfa02c8e9d"
UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
S = "${WORKDIR}/acpica-unix2-${PV}"
diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc
index 2e7f261a2..039b8687a 100644
--- a/poky/meta/recipes-extended/bash/bash.inc
+++ b/poky/meta/recipes-extended/bash/bash.inc
@@ -23,16 +23,28 @@ ALTERNATIVE_PRIORITY = "100"
RDEPENDS_${PN} += "base-files"
RDEPENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
DEPENDS_append_libc-glibc = " virtual/libc-locale"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-fr-fr locale-base-de-de"
-
-USERADD_PACKAGES = "${PN}-ptest"
-USERADD_PARAM_${PN}-ptest = "--create-home --user-group test"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " \
+ glibc-gconv-big5hkscs \
+ glibc-gconv-iso8859-1 \
+ glibc-utils \
+ locale-base-de-de \
+ locale-base-en-us \
+ locale-base-fr-fr \
+ locale-base-fr-fr.iso-8859-1 \
+ locale-base-zh-hk.big5-hkscs \
+ "
CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
+do_compile_prepend() {
+ # Remove any leftover .build files. This ensures that bash always has the
+ # same version number and keeps builds reproducible
+ rm -f ${B}/.build
+}
+
do_compile_ptest () {
oe_runmake buildtest
}
@@ -66,12 +78,18 @@ do_install_append_class-target () {
do_install_ptest () {
make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
cp ${B}/Makefile ${D}${PTEST_PATH}
+ install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests
sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
-e 's|${DEBUG_PREFIX_MAP}||g' \
-e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
-e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
${D}${PTEST_PATH}/Makefile
}
+# The uninative loader is different on i386 & x86_64 hosts. Since it is only
+# being replaced with /bin/false anyway, it doesn't need to be part of the task
+# hash
+do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
pkg_postinst_${PN} () {
grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
diff --git a/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch b/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
deleted file mode 100644
index 9ac2461ab..000000000
--- a/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d1cd4c31ea0ed7406a3ad4bdaa211f581063f655 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 15 Aug 2017 10:21:21 +0800
-Subject: [PATCH 2/2] fix run-execscript/run-test/ failed
-
-FAIL: run-execscript:
-the test suite should not be run as root
-
-FAIL: run-test
-the test suite should not be run as root
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-execscript | 3 ++-
- tests/run-test | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tests/run-execscript b/tests/run-execscript
-index de78644..38397c1 100644
---- a/tests/run-execscript
-+++ b/tests/run-execscript
-@@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory"
- echo "warning: produce diff output, please do not consider this a test failure" >&2
- echo "warning: if diff output differing only in the location of the bash" >&2
- echo "warning: binary appears, please do not consider this a test failure" >&2
--${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1
-+rm -f ${BASH_TSTOUT}
-+su -c "${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1" test
- diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT}
-diff --git a/tests/run-test b/tests/run-test
-index d68791c..d6317d2 100644
---- a/tests/run-test
-+++ b/tests/run-test
-@@ -1,4 +1,5 @@
- unset GROUPS UID 2>/dev/null
-
--${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1
-+rm -f ${BASH_TSTOUT}
-+su -c "${THIS_SH} ./test.tests > ${BASH_TSTOUT} 2>&1" test
- diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT}
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-extended/bash/bash/run-bash-ptests b/poky/meta/recipes-extended/bash/bash/run-bash-ptests
new file mode 100644
index 000000000..d73a27224
--- /dev/null
+++ b/poky/meta/recipes-extended/bash/bash/run-bash-ptests
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd "$(dirname "$0")"
+make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest
+
diff --git a/poky/meta/recipes-extended/bash/bash/run-ptest b/poky/meta/recipes-extended/bash/bash/run-ptest
index c61fabd02..738ad3c42 100644
--- a/poky/meta/recipes-extended/bash/bash/run-ptest
+++ b/poky/meta/recipes-extended/bash/bash/run-ptest
@@ -19,4 +19,8 @@ then
echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it."
fi
-make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest
+useradd bashtest
+chown -R bashtest:bashtest tests
+setpriv --reuid bashtest --rgid bashtest --clear-groups --reset-env $(dirname "$0")/run-bash-ptests
+chown -R root:root tests
+userdel -r bashtest
diff --git a/poky/meta/recipes-extended/bash/bash_5.0.bb b/poky/meta/recipes-extended/bash/bash_5.0.bb
index e60e5304a..eadc82279 100644
--- a/poky/meta/recipes-extended/bash/bash_5.0.bb
+++ b/poky/meta/recipes-extended/bash/bash_5.0.bb
@@ -16,8 +16,8 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
file://mkbuiltins_have_stringize.patch \
file://build-tests.patch \
file://test-output.patch \
- file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
file://run-ptest \
+ file://run-bash-ptests \
file://fix-run-builtins.patch \
"
diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
index e80857745..809b864c1 100644
--- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -27,7 +27,7 @@ do_compile_prepend() {
cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h
}
-ALTERNATIVE_${PN} = "dc"
+ALTERNATIVE_${PN} = "bc dc"
ALTERNATIVE_PRIORITY = "100"
-BBCLASSEXTEND = "native" \ No newline at end of file
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb b/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb
index 2f1f6c026..d21dd6970 100644
--- a/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb
+++ b/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb
@@ -18,14 +18,14 @@ PR = "r7"
S = "${WORKDIR}/${BPN}-${BPN}-${PV}"
-UPSTREAM_CHECK_URI = "https://github.com/fedora-sysv/${BPN}/releases"
-
-SRC_URI = "https://github.com/fedora-sysv/chkconfig/archive/chkconfig-${PV}.tar.gz \
+SRC_URI = "git://github.com/fedora-sysv/chkconfig.git \
file://replace_caddr_t.patch \
"
-SRC_URI[md5sum] = "3f51ac38a234be5278b3a2d9705eda5e"
-SRC_URI[sha256sum] = "bf1e81f0d7cc999b536c9fe7877abf584a4082fd03c9d2597b6f090966579b40"
+SRCREV = "3e0b3909ff6328d232b27b9c32f1a9309c6cd0a4"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
inherit gettext
diff --git a/poky/meta/recipes-extended/diffutils/diffutils/run-ptest b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest
index 695c5e8a7..ad467d9bd 100644
--- a/poky/meta/recipes-extended/diffutils/diffutils/run-ptest
+++ b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest
@@ -1,3 +1,4 @@
#!/bin/sh
-make -C tests check-TESTS
+abs_ptestdir=`echo "$(cd "$(dirname "$0")"; pwd)"`
+make -C $abs_ptestdir/tests check-TESTS abs_top_srcdir="$abs_ptestdir"
diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index b145188d7..7a0e38a39 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
-From 1484545a150de79483b6e2a74be02ebd030f1920 Mon Sep 17 00:00:00 2001
+From 2ca4c2492c4a06b28012e3e1033d10aa48f153b4 Mon Sep 17 00:00:00 2001
From: Tudor Florea <tudor.florea@enea.com>
Date: Wed, 28 May 2014 18:59:54 +0200
Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -9,17 +9,16 @@ serial-tests is required to generate those targets.
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Upstream-Status: Inappropriate
(default automake behavior incompatible with ptest)
-
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index e891d91..600f8a8 100644
+index 2941a65..b0a1896 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 5.0, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.1, netdev@vger.kernel.org)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR([ethtool.c])
-AM_INIT_AUTOMAKE([gnu])
@@ -27,3 +26,6 @@ index e891d91..600f8a8 100644
AC_CONFIG_HEADERS([ethtool-config.h])
AM_MAINTAINER_MODE
+--
+2.17.1
+
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb
index 76cdf9c4e..d379d93bc 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb
@@ -11,10 +11,11 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
file://avoid_parallel_tests.patch \
"
-SRC_URI[md5sum] = "8998c9eb7e491b0aec420a807ce52ba6"
-SRC_URI[sha256sum] = "cc53a6d4d5643f8993ef20d6b638f88d9035529a9e777e222073c3a5b9237178"
+SRC_URI[md5sum] = "5d3aad86aec055348a37e867695a744a"
+SRC_URI[sha256sum] = "4edb1fa4d7cf5667a5958d4213f61609f96d02cda90d2b6ec440561f8f8ffbf2"
+
+inherit autotools ptest bash-completion
-inherit autotools ptest
RDEPENDS_${PN}-ptest += "make"
do_compile_ptest() {
diff --git a/poky/meta/recipes-extended/gawk/gawk/run-ptest b/poky/meta/recipes-extended/gawk/gawk/run-ptest
index d23f0bf6d..f67a95874 100644
--- a/poky/meta/recipes-extended/gawk/gawk/run-ptest
+++ b/poky/meta/recipes-extended/gawk/gawk/run-ptest
@@ -1,10 +1,22 @@
#!/bin/sh
cd test
-for i in `grep -vE "@|^$|#|Gt-dummy" Maketests |awk -F: '{print $1}'`; \
- do LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} srcdir=`pwd` AWK=gawk CMP=cmp \
- make -f Maketests $i >$i.tmp 2>&1; \
- grep -q "Error" $i.tmp; \
- if [ $? -eq 0 ]; then echo "FAIL: $i"; \
- else echo "PASS: $i"; rm -f $i.tmp; fi; \
+for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do
+ #LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C}
+ srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1
+ if [ -e _$i ]; then
+ cat _$i
+ grep -q "support not compiled in" _$i
+ if [ $? -eq 0 ]; then
+ echo "SKIP: $i"
+ continue
+ fi
+ fi
+ grep -q "Error" $i.tmp
+ if [ $? -eq 0 ]; then
+ echo "FAIL: $i"
+ else
+ echo "PASS: $i"
+ rm -f $i.tmp
+ fi
done
diff --git a/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb
index 966375239..578901355 100644
--- a/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb
+++ b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb
@@ -19,8 +19,8 @@ SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
file://run-ptest \
"
-SRC_URI[md5sum] = "0256724a0af50cb83ac92f833488673d"
-SRC_URI[sha256sum] = "2b23d51503b2df9a41aa6fddc6002ad7ebf2a386ac19dc1b6be0dd48b0acf6db"
+SRC_URI[md5sum] = "45366249c13aae2bfb00e8e97c3f39b7"
+SRC_URI[sha256sum] = "2d686c9a5b7ba292bc3fa56bc84a1959d721a9d57970a76413156d4b8f1fc67d"
inherit autotools gettext texinfo update-alternatives
@@ -40,6 +40,7 @@ inherit ptest
do_install_ptest() {
mkdir ${D}${PTEST_PATH}/test
+ ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
done
@@ -47,4 +48,6 @@ do_install_ptest() {
-e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
}
+RDEPENDS_${PN}-ptest += "make"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch
deleted file mode 100644
index 1b94e8a93..000000000
--- a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 54c795c8a3c7356294007b5a4eed1dd47ed6411d Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 11 May 2019 19:19:27 +0800
-Subject: [PATCH] fix shebang for target
-
-...
-|ERROR: groff-1.22.4-r0 do_package_qa: QA Issue: /usr/bin/gdiffmk contained in
-package groff requires tmp-glibc/hosttools/bash, but no providers found in
-RDEPENDS_groff? [file-rdeps]
-...
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- contrib/gdiffmk/gdiffmk.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/contrib/gdiffmk/gdiffmk.sh b/contrib/gdiffmk/gdiffmk.sh
-index 5ce931e..10f2300 100644
---- a/contrib/gdiffmk/gdiffmk.sh
-+++ b/contrib/gdiffmk/gdiffmk.sh
-@@ -1,4 +1,4 @@
--#!@BASH_PROG@
-+#!/bin/sh
- # Copyright (C) 2004-2018 Free Software Foundation, Inc.
- # Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>>
- # Thanks to Peter Bray for debugging.
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
index 37eee9a6c..a190230b3 100644
--- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
@@ -10,7 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
file://0001-replace-perl-w-with-use-warnings.patch \
file://groff-not-search-fonts-on-build-host.patch \
- file://0001-fix-shebang-for-taget.patch \
file://0001-support-musl.patch \
"
@@ -27,7 +26,7 @@ MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bind
EXTRA_OECONF = "--without-x --without-doc"
PARALLEL_MAKE = ""
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no'"
do_install_append() {
# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
diff --git a/poky/meta/recipes-extended/less/less_550.bb b/poky/meta/recipes-extended/less/less_551.bb
index bb1618f1e..a818c68fc 100644
--- a/poky/meta/recipes-extended/less/less_550.bb
+++ b/poky/meta/recipes-extended/less/less_551.bb
@@ -28,8 +28,8 @@ DEPENDS = "ncurses"
SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
"
-SRC_URI[md5sum] = "8caff88e34afff512b663d7c690bd2cf"
-SRC_URI[sha256sum] = "6a53639f08d7ed05b6e104b82c32193f79ac01a3eddb20e114e1c261948bd57b"
+SRC_URI[md5sum] = "4ad4408b06d7a6626a055cb453f36819"
+SRC_URI[sha256sum] = "ff165275859381a63f19135a8f1f6c5a194d53ec3187f94121ecd8ef0795fe3d"
UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
diff --git a/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ace50bbfd..000000000
--- a/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: libidn2-2.0.5/unistring/Makefile.am
-===================================================================
---- libidn2-2.0.5.orig/unistring/Makefile.am
-+++ libidn2-2.0.5/unistring/Makefile.am
-@@ -293,7 +293,7 @@ install-exec-localcharset: all-local
- case '$(host_os)' in \
- darwin[56]*) \
- need_charset_alias=true ;; \
-- darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- need_charset_alias=false ;; \
- *) \
- need_charset_alias=true ;; \
diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
index 0daf7a687..d7fec89fb 100644
--- a/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb
+++ b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
@@ -3,17 +3,15 @@ DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specification
HOMEPAGE = "http://www.gnu.org/software/libidn/"
SECTION = "libs"
LICENSE = "(GPLv2+ | LGPLv3) & GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ab90e75ef97cc6318ce4f2fbda62fe4d \
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \
file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://src/idn2.c;endline=16;md5=0283aec28e049f5bcaaeee52aa865874 \
+ file://src/idn2.c;endline=16;md5=426b74d6deb620ab6d39c8a6efd4c13a \
file://lib/idn2.h.in;endline=27;md5=c2cd28d3f87260f157f022eabb83714f"
-SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \
- file://Unset-need_charset_alias-when-building-for-musl.patch \
- "
-SRC_URI[md5sum] = "eaf9a5b9d03b0cce3760f34b3124eb36"
-SRC_URI[sha256sum] = "53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8"
+SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "b846d4d20e22b99d6f7387bb66e00a1f"
+SRC_URI[sha256sum] = "fc734732b506d878753ec6606982bf7b936e868c25c30ddb0d83f7d7056381fe"
DEPENDS = "virtual/libiconv libunistring"
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb
index a0b350f35..ba1a2c54b 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.53.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb
@@ -19,8 +19,8 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
"
-SRC_URI[md5sum] = "f93436d8d400b2b0e26ee4bcc60b9ac7"
-SRC_URI[sha256sum] = "3bdfce1cf3e9650a556a8c26fb15342c5717c63f530c54693db632b0371dcb78"
+SRC_URI[md5sum] = "7abc776243c811e9872f73ab38b7f8b5"
+SRC_URI[sha256sum] = "cf14cce2254a96d8fcb6d3181e1a3c29a8f832531c3e86ff6f2524ecda9a8721"
PACKAGECONFIG ??= "openssl pcre zlib \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 597faf787..494b81b5e 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -45,7 +45,7 @@ DEBUG_OPTIMIZATION_append = " -Wno-error"
do_compile() {
# Point to right sbindir
- sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" ${S}/Makefile
+ sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" -e "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" ${S}/Makefile
oe_runmake SYSROOT="${STAGING_DIR_TARGET}"
}
@@ -81,7 +81,7 @@ do_install_ptest() {
done
}
-RDEPENDS_${PN}-ptest += "bash"
+RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs"
RRECOMMENDS_${PN}-ptest += " \
coreutils \
util-linux \
@@ -93,4 +93,4 @@ RRECOMMENDS_${PN}-ptest += " \
kernel-module-raid456 \
"
-FILES_${PN} += "/lib/systemd/*"
+FILES_${PN} += "${systemd_unitdir}/*"
diff --git a/poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
deleted file mode 100644
index 433d184c7..000000000
--- a/poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require recipes-extended/newt/libnewt_${PV}.bb
-
-SUMMARY .= " - python"
-DEPENDS = "libnewt python3"
-RDEPENDS_${PN} += "python3-core"
-
-inherit python3native python3-dir
-
-EXTRA_OECONF += "--with-python"
-EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}"
-
-
-do_compile () {
- VERSION="$(sed -n 's/^VERSION = //p' Makefile)"
- oe_runmake _snack.so
-}
-
-do_install () {
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
- install -m 0755 ${PYTHON_DIR}/_snack.so ${D}${PYTHON_SITEPACKAGES_DIR}/
- install -m 0644 snack.py ${D}${PYTHON_SITEPACKAGES_DIR}/
-}
-
-PACKAGES_remove = "whiptail"
-
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
index 264ef3b8a..dc07a1809 100644
--- a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
+++ b/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
@@ -15,7 +15,7 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
# slang needs to be >= 2.2
-DEPENDS = "slang popt"
+DEPENDS = "slang popt python3"
SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
file://fix_SHAREDDIR.patch \
@@ -30,15 +30,20 @@ SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5ad
S = "${WORKDIR}/newt-${PV}"
-EXTRA_OECONF = "--without-tcl --without-python"
+inherit autotools-brokensep python3native python3-dir
-inherit autotools-brokensep
+EXTRA_OECONF = "--without-tcl --with-python"
+
+EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}"
CLEANBROKEN = "1"
export CPPFLAGS
-PACKAGES_prepend = "whiptail "
+PACKAGES_prepend = "whiptail ${PN}-python "
+
+RDEPENDS_${PN}-python += "python3-core"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
do_configure_prepend() {
sh autogen.sh
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index ec67f8d12..d38f545e0 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -135,6 +135,5 @@ RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\
at \
cronie \
logrotate \
- nfs-utils \
- rpcbind \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'nfs', 'nfs-utils rpcbind', '', d)} \
"
diff --git a/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch b/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch
deleted file mode 100644
index 680029ae0..000000000
--- a/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From 555407ff6e2f742df64ae93859f14a0fc1397829 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Fri, 12 Sep 2014 05:35:05 -0400
-Subject: [PATCH] libpam/xtests: remove bash dependency
-
-There's not bash specific syntax in the xtest scripts:
-
- # after below patches applied:
- $ cd Linux-PAM-1.1.6/xtests
- $ checkbashisms *.sh
- No output
-
-Just remove the runtime dependency to bash.
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- xtests/run-xtests.sh | 2 +-
- xtests/tst-pam_access1.sh | 2 +-
- xtests/tst-pam_access2.sh | 2 +-
- xtests/tst-pam_access3.sh | 2 +-
- xtests/tst-pam_access4.sh | 2 +-
- xtests/tst-pam_assemble_line1.sh | 2 +-
- xtests/tst-pam_group1.sh | 2 +-
- xtests/tst-pam_limits1.sh | 2 +-
- xtests/tst-pam_pwhistory1.sh | 2 +-
- xtests/tst-pam_substack1.sh | 2 +-
- xtests/tst-pam_substack2.sh | 2 +-
- xtests/tst-pam_substack3.sh | 2 +-
- xtests/tst-pam_substack4.sh | 2 +-
- xtests/tst-pam_substack5.sh | 2 +-
- xtests/tst-pam_succeed_if1.sh | 2 +-
- xtests/tst-pam_unix1.sh | 2 +-
- xtests/tst-pam_unix2.sh | 2 +-
- xtests/tst-pam_unix3.sh | 2 +-
- xtests/tst-pam_unix4.sh | 2 +-
- 19 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/xtests/run-xtests.sh b/xtests/run-xtests.sh
-index 3a89057..1cf8684 100755
---- a/xtests/run-xtests.sh
-+++ b/xtests/run-xtests.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- SRCDIR=$1
- shift 1
-diff --git a/xtests/tst-pam_access1.sh b/xtests/tst-pam_access1.sh
-index 180d256..70521d2 100755
---- a/xtests/tst-pam_access1.sh
-+++ b/xtests/tst-pam_access1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/groupadd tstpamaccess
- /usr/sbin/useradd -G tstpamaccess -p '!!' tstpamaccess1
-diff --git a/xtests/tst-pam_access2.sh b/xtests/tst-pam_access2.sh
-index 0a30275..7e3e60f 100755
---- a/xtests/tst-pam_access2.sh
-+++ b/xtests/tst-pam_access2.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/groupadd tstpamaccess
- /usr/sbin/useradd -p '!!' tstpamaccess2
-diff --git a/xtests/tst-pam_access3.sh b/xtests/tst-pam_access3.sh
-index 348e0c3..3630e2e 100755
---- a/xtests/tst-pam_access3.sh
-+++ b/xtests/tst-pam_access3.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamaccess3
- ./tst-pam_access3
-diff --git a/xtests/tst-pam_access4.sh b/xtests/tst-pam_access4.sh
-index 61e7b44..4538df4 100755
---- a/xtests/tst-pam_access4.sh
-+++ b/xtests/tst-pam_access4.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamaccess4
- ./tst-pam_access4
-diff --git a/xtests/tst-pam_assemble_line1.sh b/xtests/tst-pam_assemble_line1.sh
-index 248d47e..dc2a675 100755
---- a/xtests/tst-pam_assemble_line1.sh
-+++ b/xtests/tst-pam_assemble_line1.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authfail tst-pam_assemble_line1
-diff --git a/xtests/tst-pam_group1.sh b/xtests/tst-pam_group1.sh
-index b76377f..44faca9 100755
---- a/xtests/tst-pam_group1.sh
-+++ b/xtests/tst-pam_group1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/groupadd tstpamgrpg
- /usr/sbin/useradd -p '!!' tstpamgrp
-diff --git a/xtests/tst-pam_limits1.sh b/xtests/tst-pam_limits1.sh
-index 4faa822..32c021d 100755
---- a/xtests/tst-pam_limits1.sh
-+++ b/xtests/tst-pam_limits1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamlimits
- ./tst-pam_limits1
-diff --git a/xtests/tst-pam_pwhistory1.sh b/xtests/tst-pam_pwhistory1.sh
-index ddb3b8b..0f212e2 100644
---- a/xtests/tst-pam_pwhistory1.sh
-+++ b/xtests/tst-pam_pwhistory1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd tstpampwhistory
- ./tst-pam_pwhistory1
-diff --git a/xtests/tst-pam_substack1.sh b/xtests/tst-pam_substack1.sh
-index 5260175..f1b72a7 100755
---- a/xtests/tst-pam_substack1.sh
-+++ b/xtests/tst-pam_substack1.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authfail tst-pam_substack1
-diff --git a/xtests/tst-pam_substack2.sh b/xtests/tst-pam_substack2.sh
-index c02f597..3804fa7 100755
---- a/xtests/tst-pam_substack2.sh
-+++ b/xtests/tst-pam_substack2.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authsucceed tst-pam_substack2
-diff --git a/xtests/tst-pam_substack3.sh b/xtests/tst-pam_substack3.sh
-index 0e572aa..aa48e8e 100755
---- a/xtests/tst-pam_substack3.sh
-+++ b/xtests/tst-pam_substack3.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authsucceed tst-pam_substack3
-diff --git a/xtests/tst-pam_substack4.sh b/xtests/tst-pam_substack4.sh
-index a3ef08a..958a07a 100755
---- a/xtests/tst-pam_substack4.sh
-+++ b/xtests/tst-pam_substack4.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authsucceed tst-pam_substack4
-diff --git a/xtests/tst-pam_substack5.sh b/xtests/tst-pam_substack5.sh
-index e2714fd..7e0da74 100755
---- a/xtests/tst-pam_substack5.sh
-+++ b/xtests/tst-pam_substack5.sh
-@@ -1,3 +1,3 @@
--#!/bin/bash
-+#!/bin/sh
-
- exec ./tst-pam_authfail tst-pam_substack5
-diff --git a/xtests/tst-pam_succeed_if1.sh b/xtests/tst-pam_succeed_if1.sh
-index a643b2e..58e57b4 100755
---- a/xtests/tst-pam_succeed_if1.sh
-+++ b/xtests/tst-pam_succeed_if1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamtest
- /usr/sbin/useradd -p '!!' pamtest
-diff --git a/xtests/tst-pam_unix1.sh b/xtests/tst-pam_unix1.sh
-index f75bd84..72deac0 100755
---- a/xtests/tst-pam_unix1.sh
-+++ b/xtests/tst-pam_unix1.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- /usr/sbin/useradd -p '!!' tstpamunix
- ./tst-pam_unix1
-diff --git a/xtests/tst-pam_unix2.sh b/xtests/tst-pam_unix2.sh
-index 7093155..c04d6e6 100755
---- a/xtests/tst-pam_unix2.sh
-+++ b/xtests/tst-pam_unix2.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- # pamunix0 = 0aXKZztA.d1KY
- /usr/sbin/useradd -p 0aXKZztA.d1KY tstpamunix
-diff --git a/xtests/tst-pam_unix3.sh b/xtests/tst-pam_unix3.sh
-index ef4a07c..b52db2b 100755
---- a/xtests/tst-pam_unix3.sh
-+++ b/xtests/tst-pam_unix3.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU
- /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix
-diff --git a/xtests/tst-pam_unix4.sh b/xtests/tst-pam_unix4.sh
-index 787c2f9..e7976fd 100755
---- a/xtests/tst-pam_unix4.sh
-+++ b/xtests/tst-pam_unix4.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU
- /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
index c124e3bb0..6b73f0a2f 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
"
-SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \
+SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux-PAM-${PV}.tar.xz \
file://99_pam \
file://pam.d/common-account \
file://pam.d/common-auth \
@@ -23,12 +23,11 @@ SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \
file://fixsepbuild.patch \
file://pam-security-abstract-securetty-handling.patch \
file://pam-unix-nullok-secure.patch \
- file://libpam-xtests-remove-bash-dependency.patch \
file://crypt_configure.patch \
"
-SRC_URI[md5sum] = "da4b2289b7cfb19583d54e9eaaef1c3a"
-SRC_URI[sha256sum] = "241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb"
+SRC_URI[md5sum] = "558ff53b0fc0563ca97f79e911822165"
+SRC_URI[sha256sum] = "eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db"
SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \
file://include_paths_header.patch \
@@ -45,8 +44,6 @@ EXTRA_OECONF = "--with-db-uniquename=_pam \
CFLAGS_append = " -fPIC "
-PR = "r5"
-
S = "${WORKDIR}/Linux-PAM-${PV}"
inherit autotools gettext pkgconfig
@@ -164,3 +161,5 @@ CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password"
CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account"
CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf"
+
+UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases"
diff --git a/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch b/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
index b0376cefc..4070127d3 100644
--- a/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
+++ b/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch
@@ -1,29 +1,33 @@
-From d78dd087c4ec4715aab5fe115668e726046ecd76 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 18:16:05 -0700
-Subject: [PATCH] Include fcntl.h in /platform_defs.h
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
-exposed when compiling using musl
+From a3877115f1956949096d77aca5a703a47ed68397 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 3 May 2015 10:33:31 +0200
+Subject: [PATCH] libparted/fs/xfs/platform_defs.h: Include <fcntl.h> for
+ loff_t
-Upstream-Status: Pending
+This is needed for compilation with musl libc
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Suggested-by: Travis Tilley <ttilley@gmail.com>
+
+Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
libparted/fs/xfs/platform_defs.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h
-index 2b55752..32bd3d3 100644
+index 2b55752..a6ec8fb 100644
--- a/libparted/fs/xfs/platform_defs.h
+++ b/libparted/fs/xfs/platform_defs.h
-@@ -42,6 +42,7 @@
+@@ -38,6 +38,7 @@
+ #include <stdarg.h>
+ #include <assert.h>
+ #include <endian.h>
++#include <fcntl.h>
+ #include <stddef.h>
#include <stdlib.h>
#include <string.h>
- #include <unistd.h>
-+#include <fcntl.h>
- #include <sys/param.h>
- #include <sys/types.h>
-
--
-2.1.4
+2.11.0
diff --git a/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch b/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
index e522e1c6e..39107620d 100644
--- a/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
+++ b/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch
@@ -1,7 +1,8 @@
-From d6e15a60e84c1511523aa81272b7db7a6ec441d0 Mon Sep 17 00:00:00 2001
-From: Ovidiu Panait <ovidiu.panait@windriver.com>
+From 843225aa9d5077bebdb08bbf9699c02aec0b83eb Mon Sep 17 00:00:00 2001
+From: "Brian C. Lane" <bcl@redhat.com>
Date: Tue, 26 Sep 2017 08:04:58 +0000
Subject: [PATCH] libparted: Use read only when probing devices on linux
+
(#1245144)
When a device is opened for RW closing it can trigger other actions,
@@ -25,17 +26,17 @@ Resolves: rhbz#1245144
Upstream-Status: Backport
-Author: Brian C. Lane <bcl@redhat.com>
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
---
libparted/arch/linux.c | 62 +++++++++++++++++++++++++++++++++++---------------
1 file changed, 44 insertions(+), 18 deletions(-)
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index f612617..0a06a54 100644
+index 7f12f58..4ddea58 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
-@@ -294,7 +294,9 @@ struct blkdev_ioctl_param {
+@@ -292,7 +292,9 @@ struct blkdev_ioctl_param {
static char* _device_get_part_path (PedDevice const *dev, int num);
static int _partition_is_mounted_by_path (const char* path);
static unsigned int _device_get_partition_range(PedDevice const* dev);
@@ -46,7 +47,7 @@ index f612617..0a06a54 100644
static int
_read_fd (int fd, char **buf)
-@@ -913,7 +915,7 @@ init_ide (PedDevice* dev)
+@@ -911,7 +913,7 @@ init_ide (PedDevice* dev)
if (!_device_stat (dev, &dev_stat))
goto error;
@@ -55,7 +56,7 @@ index f612617..0a06a54 100644
goto error;
if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) {
-@@ -982,11 +984,11 @@ init_ide (PedDevice* dev)
+@@ -980,11 +982,11 @@ init_ide (PedDevice* dev)
if (!_device_probe_geometry (dev))
goto error_close_dev;
@@ -69,7 +70,7 @@ index f612617..0a06a54 100644
error:
return 0;
}
-@@ -1119,7 +1121,7 @@ init_scsi (PedDevice* dev)
+@@ -1117,7 +1119,7 @@ init_scsi (PedDevice* dev)
char* vendor;
char* product;
@@ -78,7 +79,7 @@ index f612617..0a06a54 100644
goto error;
if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) {
-@@ -1133,7 +1135,7 @@ init_scsi (PedDevice* dev)
+@@ -1131,7 +1133,7 @@ init_scsi (PedDevice* dev)
goto error_close_dev;
if (!_device_probe_geometry (dev))
goto error_close_dev;
@@ -87,7 +88,7 @@ index f612617..0a06a54 100644
return 1;
}
-@@ -1155,11 +1157,11 @@ init_scsi (PedDevice* dev)
+@@ -1153,11 +1155,11 @@ init_scsi (PedDevice* dev)
if (!_device_probe_geometry (dev))
goto error_close_dev;
@@ -101,7 +102,7 @@ index f612617..0a06a54 100644
error:
return 0;
}
-@@ -1171,7 +1173,7 @@ init_file (PedDevice* dev)
+@@ -1169,7 +1171,7 @@ init_file (PedDevice* dev)
if (!_device_stat (dev, &dev_stat))
goto error;
@@ -110,7 +111,7 @@ index f612617..0a06a54 100644
goto error;
dev->sector_size = PED_SECTOR_SIZE_DEFAULT;
-@@ -1198,7 +1200,7 @@ init_file (PedDevice* dev)
+@@ -1196,7 +1198,7 @@ init_file (PedDevice* dev)
goto error_close_dev;
}
@@ -119,7 +120,7 @@ index f612617..0a06a54 100644
dev->bios_geom.cylinders = dev->length / 4 / 32;
dev->bios_geom.heads = 4;
-@@ -1209,7 +1211,7 @@ init_file (PedDevice* dev)
+@@ -1207,7 +1209,7 @@ init_file (PedDevice* dev)
return 1;
error_close_dev:
@@ -128,7 +129,7 @@ index f612617..0a06a54 100644
error:
return 0;
}
-@@ -1225,7 +1227,7 @@ init_dasd (PedDevice* dev, const char* model_name)
+@@ -1223,7 +1225,7 @@ init_dasd (PedDevice* dev, const char* model_name)
if (!_device_stat (dev, &dev_stat))
goto error;
@@ -137,7 +138,7 @@ index f612617..0a06a54 100644
goto error;
LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev);
-@@ -1265,11 +1267,11 @@ init_dasd (PedDevice* dev, const char* model_name)
+@@ -1263,11 +1265,11 @@ init_dasd (PedDevice* dev, const char* model_name)
dev->model = strdup (model_name);
@@ -151,7 +152,7 @@ index f612617..0a06a54 100644
error:
return 0;
}
-@@ -1284,7 +1286,7 @@ init_generic (PedDevice* dev, const char* model_name)
+@@ -1282,7 +1284,7 @@ init_generic (PedDevice* dev, const char* model_name)
if (!_device_stat (dev, &dev_stat))
goto error;
@@ -160,7 +161,7 @@ index f612617..0a06a54 100644
goto error;
ped_exception_fetch_all ();
-@@ -1332,11 +1334,11 @@ init_generic (PedDevice* dev, const char* model_name)
+@@ -1330,11 +1332,11 @@ init_generic (PedDevice* dev, const char* model_name)
dev->model = strdup (model_name);
@@ -174,7 +175,7 @@ index f612617..0a06a54 100644
error:
return 0;
}
-@@ -1623,12 +1625,27 @@ retry:
+@@ -1621,12 +1623,27 @@ retry:
}
static int
@@ -203,7 +204,7 @@ index f612617..0a06a54 100644
if (arch_specific->fd == -1) {
char* rw_error_msg = strerror (errno);
-@@ -1697,6 +1714,15 @@ linux_refresh_close (PedDevice* dev)
+@@ -1695,6 +1712,15 @@ linux_refresh_close (PedDevice* dev)
return 1;
}
@@ -218,7 +219,4 @@ index f612617..0a06a54 100644
+
#if SIZEOF_OFF_T < 8
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
---
-2.11.0
-
+ static _syscall5(int,_llseek,
diff --git a/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch b/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch
new file mode 100644
index 000000000..01262e545
--- /dev/null
+++ b/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 0b72b8eb41438b62eeb9e3548b0b8f3094a78681 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Sat, 24 Mar 2018 17:37:02 +0000
+Subject: [PATCH] linux: Include <sys/sysmacros.h> for major() macro.
+
+Since glibc 2.27 this header is required.
+---
+ libparted/arch/linux.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
+index 0f18904..a15854f 100644
+--- a/libparted/arch/linux.c
++++ b/libparted/arch/linux.c
+@@ -41,6 +41,7 @@
+ #include <sys/utsname.h> /* for uname() */
+ #include <scsi/scsi.h>
+ #include <assert.h>
++#include <sys/sysmacros.h>
+ #ifdef ENABLE_DEVICE_MAPPER
+ #include <libdevmapper.h>
+ #endif
+--
+2.11.0
+
diff --git a/poky/meta/recipes-extended/parted/files/dm_check.patch b/poky/meta/recipes-extended/parted/files/dm_check.patch
new file mode 100644
index 000000000..5f3c4ddae
--- /dev/null
+++ b/poky/meta/recipes-extended/parted/files/dm_check.patch
@@ -0,0 +1,22 @@
+parted: change check for device-manager
+
+Other ptests use this method.
+
+Upstream-Status: Submitted [bug-parted@gnu.org]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/tests/t6001-psep.sh
++++ b/tests/t6001-psep.sh
+@@ -19,7 +19,9 @@
+ . "${srcdir=.}/init.sh"; path_prepend_ ../parted
+
+ require_root_
+-(dmsetup --help) > /dev/null 2>&1 || skip_test_ "No dmsetup installed"
++
++test "x$ENABLE_DEVICE_MAPPER" = xyes \
++ || skip_ "no device-mapper support"
+
+ # Device maps names - should be random to not conflict with existing ones on
+ # the system
diff --git a/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch b/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
index 68ab715f3..8c4d2ae66 100644
--- a/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
+++ b/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch
@@ -1,44 +1,68 @@
-From 060e74354774d36d2c11ef08e3e7ea9b9b6e23fb Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 13 Nov 2014 11:29:33 +0800
-Subject: [PATCH] libparted/arch/linux.c: fix compile failure while
- --disable-device-mapper
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
-While --disable-device-mapper, the MACRO ENABLE_DEVICE_MAPPER is
-undef, but it missed to scope some device mapper functions.
+From da3f129710929abe9a403901fa7d168355b0e95a Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sun, 3 May 2015 10:33:15 +0200
+Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Brian C. Lane <bcl@redhat.com>
---
- libparted/arch/linux.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
+ libparted/arch/linux.c | 21 +++++++++++++++++----
+ 1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index 6fd73c5..2afa479 100644
+index a15854f..7f12f58 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
-@@ -2320,6 +2320,7 @@ zasprintf (const char *format, ...)
+@@ -2305,6 +2305,7 @@ zasprintf (const char *format, ...)
+ return r < 0 ? NULL : resultp;
+ }
+
++#ifdef ENABLE_DEVICE_MAPPER
static char *
dm_canonical_path (PedDevice const *dev)
{
-+#ifdef ENABLE_DEVICE_MAPPER
- LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev);
-
- /* Get map name from devicemapper */
-@@ -2337,6 +2338,7 @@ dm_canonical_path (PedDevice const *dev)
- dm_task_destroy (task);
- return dev_name;
+@@ -2327,14 +2328,21 @@ dm_canonical_path (PedDevice const *dev)
err:
-+#endif
return NULL;
}
++#endif
+
+ static char*
+ _device_get_part_path (PedDevice const *dev, int num)
+ {
+- char *devpath = (dev->type == PED_DEVICE_DM
+- ? dm_canonical_path (dev) : dev->path);
+- size_t path_len = strlen (devpath);
++ char *devpath;
++ size_t path_len;
+ char *result;
++#ifdef ENABLE_DEVICE_MAPPER
++ devpath = (dev->type == PED_DEVICE_DM
++ ? dm_canonical_path (dev) : dev->path);
++#else
++ devpath = dev->path;
++#endif
++ path_len = strlen (devpath);
+ /* Check for devfs-style /disc => /partN transformation
+ unconditionally; the system might be using udev with devfs rules,
+ and if not the test is harmless. */
+@@ -2350,8 +2358,10 @@ _device_get_part_path (PedDevice const *dev, int num)
+ ? "p" : "");
+ result = zasprintf ("%s%s%d", devpath, p, num);
+ }
++#ifdef ENABLE_DEVICE_MAPPER
+ if (dev->type == PED_DEVICE_DM)
+ free (devpath);
++#endif
+ return result;
+ }
-@@ -2957,13 +2959,15 @@ _disk_sync_part_table (PedDisk* disk)
- unsigned long long *start,
+@@ -2946,12 +2956,15 @@ _disk_sync_part_table (PedDisk* disk)
unsigned long long *length);
--
+
+#ifdef ENABLE_DEVICE_MAPPER
if (disk->dev->type == PED_DEVICE_DM) {
add_partition = _dm_add_partition;
@@ -53,5 +77,5 @@ index 6fd73c5..2afa479 100644
remove_partition = _blkpg_remove_partition;
#ifdef BLKPG_RESIZE_PARTITION
--
-1.9.1
+2.11.0
diff --git a/poky/meta/recipes-extended/parted/files/syscalls.patch b/poky/meta/recipes-extended/parted/files/syscalls.patch
deleted file mode 100644
index 93205a0a8..000000000
--- a/poky/meta/recipes-extended/parted/files/syscalls.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Upstream-Status: Pending
-
----
- libparted/arch/linux.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-Index: parted-3.2/libparted/arch/linux.c
-===================================================================
---- parted-3.2.orig/libparted/arch/linux.c
-+++ parted-3.2/libparted/arch/linux.c
-@@ -17,6 +17,8 @@
-
- #define PROC_DEVICES_BUFSIZ 16384
-
-+#include <linux/version.h>
-+
- #include <config.h>
- #include <arch/linux.h>
- #include <linux/blkpg.h>
-@@ -1696,12 +1698,14 @@ linux_refresh_close (PedDevice* dev)
-
- #if SIZEOF_OFF_T < 8
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- static _syscall5(int,_llseek,
- unsigned int, fd,
- unsigned long, offset_high,
- unsigned long, offset_low,
- loff_t*, result,
- unsigned int, origin)
-+#endif
-
- loff_t
- llseek (unsigned int fd, loff_t offset, unsigned int whence)
-@@ -1709,11 +1713,20 @@ llseek (unsigned int fd, loff_t offset,
- loff_t result;
- int retval;
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
- retval = _llseek(fd,
- ((unsigned long long)offset) >> 32,
- ((unsigned long long)offset) & 0xffffffff,
- &result,
- whence);
-+#else
-+ retval = syscall(__NR__llseek, fd,
-+ ((unsigned long long)offset) >> 32,
-+ ((unsigned long long)offset) & 0xffffffff,
-+ &result,
-+ whence);
-+#endif
-+
- return (retval==-1 ? (loff_t) retval : result);
- }
-
diff --git a/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch b/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch
deleted file mode 100644
index 211e6c734..000000000
--- a/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/580022
-
-From dec8995fe80508374beba6356f6ecbba8ef6b18b Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 21 Jun 2016 15:01:08 -0400
-Subject: [PATCH] include sysmacros.h for major/minor/makedev
-
-Linux C libs are moving away from including this header implicitly via
-sys/types.h, so include it explicitly.
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- libparted/arch/linux.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
-index 326b95619d31..e5c168be3c68 100644
---- a/libparted/arch/linux.c
-+++ b/libparted/arch/linux.c
-@@ -37,6 +37,7 @@
- #include <dirent.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <sys/utsname.h> /* for uname() */
- #include <scsi/scsi.h>
---
-2.8.2
-
diff --git a/poky/meta/recipes-extended/parted/parted_3.2.bb b/poky/meta/recipes-extended/parted/parted_3.2.bb
index ceac52892..21a815345 100644
--- a/poky/meta/recipes-extended/parted/parted_3.2.bb
+++ b/poky/meta/recipes-extended/parted/parted_3.2.bb
@@ -8,17 +8,17 @@ PR = "r1"
SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
file://no_check.patch \
- file://syscalls.patch \
file://fix-doc-mandir.patch \
file://fix-compile-failure-while-dis.patch \
file://0001-Include-fcntl.h-in-platform_defs.h.patch \
file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \
file://0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch \
- file://parted-3.2-sysmacros.patch \
+ file://0001-linux-Include-sys-sysmacros.h-for-major-macro.patch \
file://run-ptest \
file://Makefile \
file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \
+ file://dm_check.patch \
"
SRC_URI[md5sum] = "0247b6a7b314f8edeb618159fa95f9cb"
diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
index 644d8208e..9f992d3e8 100644
--- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
+++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb
@@ -14,4 +14,7 @@ inherit cpan ptest-perl
EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
+RDEPENDS_${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix"
+RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
+
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
index 8e1461ceb..7219c7d11 100644
--- a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
@@ -15,6 +15,7 @@ BBCLASSEXTEND = "native"
RDEPENDS_${PN}_class-native = ""
RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
+RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8"
SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c"
SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86"
diff --git a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
index 373b522d6..2bff65a08 100644
--- a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
+++ b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
@@ -21,4 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}"
inherit cpan ptest-perl
+RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
index eccd0ad6b..02ee34ee1 100644
--- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb
+++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
@@ -17,8 +17,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-${PV}.tar.gz"
-SRC_URI[md5sum] = "861a454f7bf269990ed2c1c125f4db48"
-SRC_URI[sha256sum] = "45ea6564ef8692155d57b2de0862b6442d3c7e29f4a9bc9ede5d7ecdc74c2ae3"
+SRC_URI[md5sum] = "b62e3754523695c7f5bbcafa3676a38d"
+SRC_URI[sha256sum] = "4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a"
S = "${WORKDIR}/XML-SAX-${PV}"
@@ -29,4 +29,14 @@ do_install_ptest() {
chown -R root:root ${D}${PTEST_PATH}/testfiles
}
+RDEPENDS_${PN} += "perl-module-encode perl-module-perlio"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-base \
+ perl-module-encode-byte \
+ perl-module-encode-unicode \
+ perl-module-fatal \
+ perl-module-test \
+"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/pigz/pigz_2.4.bb b/poky/meta/recipes-extended/pigz/pigz_2.4.bb
index 6e6da9c3c..8c65ec34f 100644
--- a/poky/meta/recipes-extended/pigz/pigz_2.4.bb
+++ b/poky/meta/recipes-extended/pigz/pigz_2.4.bb
@@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline
SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
SRC_URI[md5sum] = "def2f6e19d9d8231445adc1349d346df"
SRC_URI[sha256sum] = "a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73"
+PROVIDES_class-native += "gzip-native"
+
# Point this at the homepage in case /fossils/ isn't updated
UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
UPSTREAM_CHECK_REGEX = "pigz-(?P<pver>.*)\.tar"
@@ -19,6 +21,8 @@ DEPENDS = "zlib"
EXTRA_OEMAKE = "-e MAKEFLAGS="
+inherit update-alternatives
+
do_install() {
# Install files into /bin (FHS), which is typical place for gzip
install -d ${D}${base_bindir}
@@ -27,4 +31,19 @@ do_install() {
ln -nsf pigz ${D}${base_bindir}/pigzcat
}
+do_install_append_class-native() {
+ install -d ${D}${bindir}
+ install ${B}/pigz ${D}${bindir}/gzip
+ ln -nsf gzip ${D}${bindir}/gunzip
+ ln -nsf gzip ${D}${bindir}/zcat
+}
+
+ALTERNATIVE_PRIORITY = "110"
+ALTERNATIVE_${PN} = "gunzip gzip zcat"
+ALTERNATIVE_${PN}_class-nativesdk = ""
+ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
+ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
+ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
+ALTERNATIVE_TARGET = "${base_bindir}/pigz"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/sed/sed_4.2.2.bb b/poky/meta/recipes-extended/sed/sed_4.2.2.bb
index f10e365ea..8e436bad8 100644
--- a/poky/meta/recipes-extended/sed/sed_4.2.2.bb
+++ b/poky/meta/recipes-extended/sed/sed_4.2.2.bb
@@ -15,7 +15,7 @@ SRC_URI[md5sum] = "4111de4faa3b9848a0686b2f260c5056"
SRC_URI[sha256sum] = "fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff"
inherit autotools texinfo update-alternatives gettext ptest
-RDEPENDS_${PN}-ptest += "make ${PN}"
+RDEPENDS_${PN}-ptest += "make"
RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru"
EXTRA_OECONF = "--disable-acl \
diff --git a/poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch b/poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch
new file mode 100644
index 000000000..a74cbb0c0
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0001-configure.ac-fix-configure-error-with-dash.patch
@@ -0,0 +1,36 @@
+From 3c52a84ff8775590e7e9da9c0d4408c23494305e Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 17 Jun 2019 15:36:34 +0800
+Subject: [PATCH] configure.ac: fix configure error with dash
+
+A configure error occurs when /bin/sh -> dash:
+ checking for is_selinux_enabled in -lselinux... yes
+ checking for semanage_connect in -lsemanage... yes
+ configure: 16322: test: yesyes: unexpected operator
+
+Use "=" instead of "==" since dash doesn't support this operator.
+
+Upstream-Status: Backport
+[https://github.com/shadow-maint/shadow/commit/3c52a84ff8775590e7e9da9c0d4408c23494305e]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6762556..1907afb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -500,7 +500,7 @@ if test "$with_selinux" != "no"; then
+ AC_MSG_ERROR([libsemanage not found])
+ fi
+
+- if test "$selinux_lib$semanage_lib" == "yesyes" ; then
++ if test "$selinux_lib$semanage_lib" = "yesyes" ; then
+ AC_DEFINE(WITH_SELINUX, 1,
+ [Build shadow with SELinux support])
+ LIBSELINUX="-lselinux"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 831751d6d..7f82d2082 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -13,6 +13,7 @@ SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.
file://shadow-4.1.3-dots-in-usernames.patch \
file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch \
file://0002-gettime-Use-secure_getenv-over-getenv.patch \
+ file://0001-configure.ac-fix-configure-error-with-dash.patch \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
"
diff --git a/poky/meta/recipes-extended/slang/slang/array_test.patch b/poky/meta/recipes-extended/slang/slang/array_test.patch
new file mode 100644
index 000000000..ccd416f20
--- /dev/null
+++ b/poky/meta/recipes-extended/slang/slang/array_test.patch
@@ -0,0 +1,20 @@
+slang: modify array test
+
+One array test tries to create an array that is far too large and anticipates an exception.
+IndexError will only be thrown for 64 bit machines, so we add InvalidParmError for 32 bit ones.
+
+Upstream-Status: Submitted [jedsoft.org]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+--- a/src/test/array.sl
++++ b/src/test/array.sl
+@@ -165,7 +165,7 @@ try
+ {
+ SS = Long_Type[10000,10000,10000,10000,10000,10000];
+ }
+-catch IndexError;
++catch IndexError,InvalidParmError;
+
+ private define array_map2_func ()
+ {
diff --git a/poky/meta/recipes-extended/slang/slang_2.3.2.bb b/poky/meta/recipes-extended/slang/slang_2.3.2.bb
index e32931093..99efb16da 100644
--- a/poky/meta/recipes-extended/slang/slang_2.3.2.bb
+++ b/poky/meta/recipes-extended/slang/slang_2.3.2.bb
@@ -19,6 +19,7 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
file://dont-link-to-host.patch \
file://test-add-output-in-the-format-result-testname.patch \
file://terminfo_fixes.patch \
+ file://array_test.patch \
file://run-ptest \
"
diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc
index 7f4749f57..4e2972166 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat.inc
+++ b/poky/meta/recipes-extended/sysstat/sysstat.inc
@@ -10,6 +10,7 @@ SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \
"
UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html"
+UPSTREAM_VERSION_UNKNOWN = "1"
DEPENDS += "base-passwd"
@@ -51,12 +52,11 @@ do_install() {
}
pkg_postinst_${PN} () {
- if [ -n "$D" ]; then
- exit 0
- fi
- if [ -e /etc/init.d/populate-volatile.sh ]; then
- /etc/init.d/populate-volatile.sh update
- fi
+ if [ ! -n "$D" ]; then
+ if [ -e /etc/init.d/populate-volatile.sh ]; then
+ /etc/init.d/populate-volatile.sh update
+ fi
+ fi
}
FILES_${PN} += "${libdir}/sa ${systemd_system_unitdir}"
diff --git a/poky/meta/recipes-extended/tar/tar/remove-gets.patch b/poky/meta/recipes-extended/tar/tar/remove-gets.patch
deleted file mode 100644
index f24de926a..000000000
--- a/poky/meta/recipes-extended/tar/tar/remove-gets.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gnu/stdio.in.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h
-index ec43874..502e3ae 100644
---- a/gnu/stdio.in.h
-+++ b/gnu/stdio.in.h
-@@ -722,10 +722,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning; besides, C11
- removed it. */
-+#if defined gets
- #undef gets
- #if HAVE_RAW_DECL_GETS && !defined __cplusplus
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-+#endif
-
- #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
- struct obstack;
---
-2.8.3
-
diff --git a/poky/meta/recipes-extended/tar/tar_1.32.bb b/poky/meta/recipes-extended/tar/tar_1.32.bb
index 7240fdb7e..18f09b571 100644
--- a/poky/meta/recipes-extended/tar/tar_1.32.bb
+++ b/poky/meta/recipes-extended/tar/tar_1.32.bb
@@ -7,7 +7,6 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \
- file://remove-gets.patch \
file://musl_dirent.patch \
"
diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch
new file mode 100644
index 000000000..965544cc0
--- /dev/null
+++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch
@@ -0,0 +1,25 @@
+Compile warning fixes from Debian
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Inappropriate [upstream is dead]
+
+--- a/options.c
++++ b/options.c
+@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <pwd.h>
+ #include <grp.h>
+--- a/scaffold.c
++++ b/scaffold.c
+@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <syslog.h>
+ #include <setjmp.h>
+ #include <string.h>
diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch
new file mode 100644
index 000000000..27157a2e6
--- /dev/null
+++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch
@@ -0,0 +1,200 @@
+Compile warning fixes from Debian
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Inappropriate [upstream is dead]
+
+--- a/clean_exit.c
++++ b/clean_exit.c
+@@ -13,6 +13,7 @@ static char sccsid[] = "@(#) clean_exit.
+ #endif
+
+ #include <stdio.h>
++#include <unistd.h>
+
+ extern void exit();
+
+--- a/hosts_access.c
++++ b/hosts_access.c
+@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) hosts_acces
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <syslog.h>
+ #include <ctype.h>
+ #include <errno.h>
+--- a/misc.c
++++ b/misc.c
+@@ -13,6 +13,7 @@ static char sccsic[] = "@(#) misc.c 1.2
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+
+ #include "tcpd.h"
+--- a/options.c
++++ b/options.c
+@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <syslog.h>
+ #include <pwd.h>
+--- a/percent_x.c
++++ b/percent_x.c
+@@ -17,6 +17,7 @@ static char sccsid[] = "@(#) percent_x.c
+ /* System libraries. */
+
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <string.h>
+
+--- a/rfc931.c
++++ b/rfc931.c
+@@ -16,6 +16,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
+ /* System libraries. */
+
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+--- a/tcpd.c
++++ b/tcpd.c
+@@ -22,6 +22,7 @@ static char sccsid[] = "@(#) tcpd.c 1.10
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <string.h>
+
+--- a/update.c
++++ b/update.c
+@@ -20,6 +20,7 @@ static char sccsid[] = "@(#) update.c 1.
+ /* System libraries */
+
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <string.h>
+
+--- a/fakelog.c
++++ b/fakelog.c
+@@ -17,7 +17,7 @@ static char sccsid[] = "@(#) fakelog.c 1
+
+ /* ARGSUSED */
+
+-openlog(name, logopt, facility)
++void openlog(name, logopt, facility)
+ char *name;
+ int logopt;
+ int facility;
+@@ -27,7 +27,7 @@ int facility;
+
+ /* vsyslog - format one record */
+
+-vsyslog(severity, fmt, ap)
++void vsyslog(severity, fmt, ap)
+ int severity;
+ char *fmt;
+ va_list ap;
+@@ -43,7 +43,7 @@ va_list ap;
+
+ /* VARARGS */
+
+-VARARGS(syslog, int, severity)
++void VARARGS(syslog, int, severity)
+ {
+ va_list ap;
+ char *fmt;
+@@ -56,7 +56,7 @@ VARARGS(syslog, int, severity)
+
+ /* closelog - dummy */
+
+-closelog()
++void closelog()
+ {
+ /* void */
+ }
+--- a/safe_finger.c
++++ b/safe_finger.c
+@@ -22,10 +22,15 @@ static char sccsid[] = "@(#) safe_finger
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/wait.h>
++#include <fcntl.h>
+ #include <signal.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
+ #include <ctype.h>
+ #include <pwd.h>
++#include <grp.h>
+ #include <syslog.h>
+
+ extern void exit();
+@@ -52,7 +59,7 @@ int sig;
+ exit(0);
+ }
+
+-main(argc, argv)
++int main(argc, argv)
+ int argc;
+ char **argv;
+ {
+--- a/tcpdchk.c
++++ b/tcpdchk.c
+@@ -28,6 +28,8 @@ static char sccsid[] = "@(#) tcpdchk.c 1
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <setjmp.h>
+ #include <errno.h>
+--- a/tcpdmatch.c
++++ b/tcpdmatch.c
+@@ -26,6 +26,7 @@ static char sccsid[] = "@(#) tcpdmatch.c
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #include <stdio.h>
++#include <unistd.h>
+ #include <syslog.h>
+ #include <setjmp.h>
+ #include <string.h>
+--- a/try-from.c
++++ b/try-from.c
+@@ -37,7 +37,7 @@ static char sccsid[] = "@(#) try-from.c
+ int allow_severity = SEVERITY; /* run-time adjustable */
+ int deny_severity = LOG_WARNING; /* ditto */
+
+-main(argc, argv)
++int main(argc, argv)
+ int argc;
+ char **argv;
+ {
+--- a/inetcf.c
++++ b/inetcf.c
+@@ -12,6 +12,7 @@ static char sccsid[] = "@(#) inetcf.c 1.
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
+
+@@ -20,6 +21,7 @@ extern void exit();
+
+ #include "tcpd.h"
+ #include "inetcf.h"
++#include "scaffold.h"
+
+ /*
+ * Network configuration files may live in unusual places. Here are some
diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
index 0f5067465..6d232a50e 100644
--- a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -47,6 +47,8 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://makefile-fix-parallel.patch \
file://musl-decls.patch \
file://0001-Fix-build-with-clang.patch \
+ file://fix_warnings.patch \
+ file://fix_warnings2.patch \
"
SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
diff --git a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
index e369f7445..86c7c1811 100644
--- a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
+++ b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
@@ -28,26 +28,23 @@
# of the executable from argv[0] and emulate the corresponding program, so
# multiple copies of this script will exist under different names.
-import sys, os
+import sys, os, argparse
-olong = "--output="
-Elong = "--macro-expand="
-
-this_binary = sys.argv[0].split ("/")[-1]
+this_binary = sys.argv[0].split("/")[-1]
# To be outputted if functionality that hasn't been stubbed yet is invoked.
stub_msg = """
-This stand-in version of %s is not yet fully capable of emulating the real
-version from the GNU texinfo suite. If you see this message, file a bug report
-with details on the recipe that failed.
+This stand-in version of %s is not yet fully capable of emulating
+the real version from the GNU texinfo suite. If you see this message, file a
+bug report with details on the recipe that failed.
""" % this_binary
# Autotools setups query the version, so this is actually necessary. Some of
# them (lookin' at you, glibc) actually look for the substring "GNU texinfo,"
# so we put that substring in there without actually telling a lie.
-version_str = """ %s (fake texinfo, emulating GNU texinfo) 5.2
-
+version_str = """%s (fake texinfo, emulating GNU texinfo) 5.2
+
Super amazing version which is totally not fake in any way whatsoever.
Copyright (C) 2014 Intel Corp. Distributed under the terms of the MIT
license.
@@ -55,63 +52,45 @@ license.
simple_binaries = "pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \
txixml2texi install-info ginstall-info \
- update-info-dir".split ()
+ update-info-dir".split()
# These utilities use a slightly different set of options and flags.
-complex_binaries = "makeinfo texi2any".split ()
+complex_binaries = "makeinfo texi2any".split()
valid_binaries = simple_binaries + complex_binaries
-# For generating blank output files.
-def touch_file (path):
- f = open (path, "w")
- f.close ()
-
assert this_binary in valid_binaries, \
- this_binary + " is not one of " + ', '.join (valid_binaries)
-
-if "--version" in sys.argv:
- print(version_str)
- sys.exit (0)
+ this_binary + " is not one of " + ', '.join(valid_binaries)
# For debugging
log_interceptions = False
if log_interceptions:
- f = open ("/tmp/intercepted_" + this_binary, "a")
- f.write (' '.join ([this_binary] + sys.argv[1:]) + '\n')
- f.close ()
+ with open("/tmp/intercepted_" + this_binary, "a") as f:
+ f.write(' '.join([this_binary] + sys.argv[1:]) + '\n')
# Look through the options and flags, and if necessary, touch any output
# files.
-arg_idx = 1
-while arg_idx < len (sys.argv):
- arg = sys.argv [arg_idx]
-
- if arg == "--":
- break
-
- # Something like -I . can result in a need for this (specifically the .)
- elif len (arg) < 2:
+p = argparse.ArgumentParser()
+if this_binary in complex_binaries:
+ p.add_argument('-E', '--macro-expand', metavar='FILE')
+p.add_argument('-o', '--output', metavar='DEST')
+p.add_argument('--version', action='store_true')
+
+args, unknown = p.parse_known_args()
+
+if args.version:
+ print(version_str)
+ sys.exit(0)
+
+# Check for functionality that isn't implemented yet.
+assert not getattr(args, 'macro_expand', None), \
+ "-E/--macro-expand option not yet supported" + stub_msg
+
+# Check if -o or --output is specified.
+if args.output:
+ with open(args.output, 'w'):
pass
-
- # Check if -o or --output is specified. These can be used at most once.
- elif arg[0] == '-' and arg[1] != '-' and arg[len (arg) - 1] == 'o':
- touch_file (sys.argv[arg_idx + 1])
- sys.exit (0)
- elif arg.startswith (olong):
- touch_file (arg.split ("=")[1])
- sys.exit (0)
-
- # Check for functionality that isn't implemented yet.
- else:
- assert arg[0] != '-' or arg[1] == '-' or 'E' not in arg or \
- this_binary in simple_binaries, \
- "-E option not yet supported" + stub_msg
-
- assert not arg.startswith (Elong), \
- Elong[:-1] + " option not yet supported" + stub_msg
-
- arg_idx += 1
+ sys.exit(0)
# The -o/--output option overrides the default. For makeinfo and texi2any,
# that default is to look for a @setfilename command in the input file.
@@ -119,4 +98,3 @@ while arg_idx < len (sys.argv):
assert this_binary in simple_binaries, \
"Don't know how to get default output file name from input file!" + \
stub_msg
-
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
new file mode 100644
index 000000000..244ddea36
--- /dev/null
+++ b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
@@ -0,0 +1,19 @@
+From: Santiago Vila <sanvila@debian.org>
+Subject: Remove (optional) build date to make the build reproducible
+Bug-Debian: http://bugs.debian.org/779042
+
+Upstream-Status: Inappropriate [no upstream]
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+
+--- a/unix/unix.c
++++ b/unix/unix.c
+@@ -1020,7 +1020,7 @@
+
+
+ /* Define the compile date string */
+-#ifdef __DATE__
++#if 0
+ # define COMPILE_DATE " on " __DATE__
+ #else
+ # define COMPILE_DATE ""
diff --git a/poky/meta/recipes-extended/zip/zip_3.0.bb b/poky/meta/recipes-extended/zip/zip_3.0.bb
index de779e94a..a2cd7717c 100644
--- a/poky/meta/recipes-extended/zip/zip_3.0.bb
+++ b/poky/meta/recipes-extended/zip/zip_3.0.bb
@@ -10,7 +10,9 @@ PR = "r2"
S = "${WORKDIR}/zip30"
SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \
- file://fix-security-format.patch"
+ file://fix-security-format.patch \
+ file://10-remove-build-date.patch \
+ "
UPSTREAM_VERSION_UNKNOWN = "1"
SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb
index 49631d92d..de1b6e2f8 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb
@@ -12,10 +12,9 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl"
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://0002-help-meson.build-disable-the-use-of-yelp.patch \
- file://0001-web-app-utils-Clean-up-ephy_web_application_create.patch \
"
-SRC_URI[archive.md5sum] = "93faec353e9f62519859e6164350fd5d"
-SRC_URI[archive.sha256sum] = "a8284fb9bbc8b7914a154a8eac1598c8b59ae421e0d685146fb48198427926be"
+SRC_URI[archive.md5sum] = "c4976507bf3de69f27a050ad09531f5a"
+SRC_URI[archive.sha256sum] = "3ccb6859a43b839b714aa425cb185056f1e8604adbaab6a1bc179d1ba641a33f"
FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch b/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch
deleted file mode 100644
index ea644fb98..000000000
--- a/poky/meta/recipes-gnome/epiphany/files/0001-web-app-utils-Clean-up-ephy_web_application_create.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 49f435217873e679b142f64d3e7def919fb642bb Mon Sep 17 00:00:00 2001
-From: Michael Catanzaro <mcatanzaro@igalia.com>
-Date: Wed, 8 May 2019 15:58:32 +0000
-Subject: [PATCH] web-app-utils: Clean up ephy_web_application_create()
-
-Fixes #764
-
-(cherry picked from commit 4e998d45e4cc549a7ca561a33895b0fbcf7ba6bb)
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/epiphany/commit/a6a022c9c498ad5dcf7f2220644a7520df74ca31]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/ephy-web-app-utils.c | 24 ++++++++++--------------
- 1 file changed, 10 insertions(+), 14 deletions(-)
-
-diff --git a/lib/ephy-web-app-utils.c b/lib/ephy-web-app-utils.c
-index 97f3f24..fc68a96 100644
---- a/lib/ephy-web-app-utils.c
-+++ b/lib/ephy-web-app-utils.c
-@@ -374,46 +374,42 @@ ephy_web_application_create (const char *id,
- const char *name,
- GdkPixbuf *icon)
- {
-- char *profile_dir;
-- char *desktop_file_path = NULL;
-+ g_autofree char *app_file = NULL;
-+ g_autofree char *profile_dir = NULL;
-+ g_autofree char *desktop_file_path = NULL;
-
- /* If there's already a WebApp profile for the contents of this
- * view, do nothing. */
- profile_dir = ephy_web_application_get_profile_directory (id);
- if (g_file_test (profile_dir, G_FILE_TEST_IS_DIR)) {
- g_warning ("Profile directory %s already exists", profile_dir);
-- goto out;
-+ return NULL;
- }
-
- /* Create the profile directory, populate it. */
- if (g_mkdir_with_parents (profile_dir, 488) == -1) {
- g_warning ("Failed to create directory %s", profile_dir);
-- goto out;
-+ return NULL;
- }
-
- /* Skip migration for new web apps. */
- ephy_profile_utils_set_migration_version_for_profile_dir (EPHY_PROFILE_MIGRATION_VERSION, profile_dir);
-
- /* Create an .app file. */
-- g_autofree char *app_file = g_build_filename (profile_dir, ".app", NULL);
-+ app_file = g_build_filename (profile_dir, ".app", NULL);
- int fd = g_open (app_file, O_WRONLY|O_CREAT|O_TRUNC, 0644);
- if (fd < 0) {
-- LOG ("Failed to create .app file: %s", g_strerror (errno));
-- goto out;
-- } else {
-- close (fd);
-+ g_warning ("Failed to create .app file: %s", g_strerror (errno));
-+ return NULL;
- }
-+ close (fd);
-
- /* Create the deskop file. */
- desktop_file_path = create_desktop_file (id, name, address, profile_dir, icon);
- if (desktop_file_path)
- ephy_web_application_initialize_settings (profile_dir);
-
-- out:
-- if (profile_dir)
-- g_free (profile_dir);
--
-- return desktop_file_path;
-+ return g_steal_pointer (&desktop_file_path);
- }
-
- char *
---
-2.21.0
-
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
index e638fd3b6..e46140491 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch
@@ -1,4 +1,4 @@
-From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001
+From be8a47e0c21e5577d4f5669d339dfec6299b25be Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 14 Feb 2019 18:06:25 +0100
Subject: [PATCH] Generate loaders.cache using a native tool when
@@ -10,37 +10,29 @@ Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- gdk-pixbuf/meson.build | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
+ gdk-pixbuf/meson.build | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
-index 1995ffd..d692cb7 100644
+index 5cddbec..78c8bd3 100644
--- a/gdk-pixbuf/meson.build
+++ b/gdk-pixbuf/meson.build
-@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin
- set_variable(bin_name.underscorify(), bin)
- endforeach
-
-+if not meson.is_cross_build()
- # The 'loaders.cache' used for testing, so we don't accidentally
- # load the installed cache; we always build it by default
- loaders_cache = custom_target('loaders.cache',
-@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache',
- ],
- build_by_default: true)
- loaders_dep = declare_dependency(sources: [ loaders_cache ])
-+else
-+loaders_cache = custom_target('loaders.cache',
-+ output: 'loaders.cache',
-+ capture: true,
-+ depends: [ dynamic_loaders_dep ],
-+ command: [
-+ 'gdk-pixbuf-query-loaders',
-+ dynamic_loaders,
-+ ],
-+ build_by_default: true)
-+loaders_dep = declare_dependency(sources: [ loaders_cache ])
-+endif
+@@ -324,8 +324,16 @@ if not meson.is_cross_build()
+ build_by_default: true)
+ loaders_dep = declare_dependency(sources: [ loaders_cache ])
+ else
+- loaders_cache = []
+- loaders_dep = declare_dependency()
++ loaders_cache = custom_target('loaders.cache',
++ output: 'loaders.cache',
++ capture: true,
++ command: [
++ 'gdk-pixbuf-query-loaders',
++ dynamic_loaders,
++ ],
++ depends: dynamic_loaders_dep,
++ build_by_default: true)
++ loaders_dep = declare_dependency(sources: [ loaders_cache ])
+ endif
pkgconfig = import('pkgconfig')
- pkgconfig.generate(
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch
deleted file mode 100644
index 2a7751511..000000000
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 116bc8f7a6034ce43053876a72a132fcd4e1e472 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 20 Feb 2019 19:53:07 +0100
-Subject: [PATCH] loaders.cache: depend on loaders being fully build
-
-Otherwise, races have been observed:
-https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/310/steps/7/logs/step1b
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- gdk-pixbuf/meson.build | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
-index fc3eb33..4e7ed20 100644
---- a/gdk-pixbuf/meson.build
-+++ b/gdk-pixbuf/meson.build
-@@ -171,6 +171,7 @@ gdkpixbuf_dep = declare_dependency(link_with: gdkpixbuf,
- # Now check if we are building loaders as installed shared modules
- # We do this here because shared modules depend on libgdk-pixbuf
- dynamic_loaders = []
-+dynamic_loaders_dep = []
-
- foreach l: loaders
- name = l[0]
-@@ -189,6 +190,7 @@ foreach l: loaders
-
- # We need the path to build loaders.cache for tests
- dynamic_loaders += mod.full_path()
-+ dynamic_loaders_dep += mod
- endif
- endforeach
-
-@@ -206,6 +208,7 @@ if enable_native_windows_loaders
- install: true,
- install_dir: gdk_pixbuf_loaderdir)
- dynamic_loaders += mod.full_path()
-+ dynamic_loaders_dep += mod
- endforeach
- endif
- endif
-@@ -236,6 +239,7 @@ if not meson.is_cross_build()
- loaders_cache = custom_target('loaders.cache',
- output: 'loaders.cache',
- capture: true,
-+ depends: [ dynamic_loaders_dep ],
- command: [
- gdk_pixbuf_query_loaders,
- dynamic_loaders,
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
index 928962d23..a9c7600eb 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
@@ -1,4 +1,4 @@
-From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001
+From 2d1b65bd1272ad63b7fbd4babd9a8e8c296d15b5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 22 Feb 2019 13:22:06 +0100
Subject: [PATCH] (target only) Work-around thumbnailer and pixdata
@@ -15,6 +15,7 @@ The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057
Upstream-Status: Inappropriate [workaround]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
build-aux/gen-thumbnailer.py | 2 --
tests/meson.build | 11 +++++++++--
@@ -35,7 +36,7 @@ index 05ac821..c5b99ab 100644
if os.name == 'nt':
gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata)
diff --git a/tests/meson.build b/tests/meson.build
-index 4fa3fbc..eca5166 100644
+index 8ed7cc1..e011b77 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -1,12 +1,19 @@
@@ -91,6 +92,3 @@ index aaafec8..71bd61b 100644
],
install: true,
install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
---
-2.17.1
-
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch
new file mode 100644
index 000000000..0fe13a387
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch
@@ -0,0 +1,28 @@
+From 1a532e090c558a830de9503f56e23414e880bb95 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 5 Jun 2019 14:17:55 +0200
+Subject: [PATCH] Build thumbnailer and tests also in cross builds.
+
+Upstream-Status: Inappropriate [relies on oe-core specific hacks]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index d104cea..7acb88a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -397,10 +397,8 @@ endif
+ # i18n
+ subdir('po')
+
+-if not meson.is_cross_build()
+- subdir('tests')
+- subdir('thumbnailer')
+-endif
++subdir('tests')
++subdir('thumbnailer')
+
+ # Documentation
+ subdir('docs')
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb
index 7fef697f3..3145cc208 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb
@@ -18,8 +18,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://fatal-loader.patch \
file://0001-Work-around-thumbnailer-cross-compile-failure.patch \
file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \
- file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \
file://0004-Do-not-run-tests-when-building.patch \
+ file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \
"
SRC_URI_append_class-target = " \
@@ -29,8 +29,8 @@ SRC_URI_append_class-nativesdk = " \
file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
"
-SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e"
-SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47"
+SRC_URI[md5sum] = "f6ba2195acd18c5c9555421f30c31cc1"
+SRC_URI[sha256sum] = "f19ff836ba991031610dcc53774e8ca436160f7d981867c8c3a37acfe493ab3a"
inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
index 43abdcd85..4a9836331 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
@@ -1,4 +1,4 @@
-From 499222d95a3d06bc425672d50e8c47868667250b Mon Sep 17 00:00:00 2001
+From 4409423752885f76326d05c1266698155f47c5f9 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 30 May 2017 14:55:49 +0300
Subject: [PATCH] Don't use AC_CANONICAL_HOST
@@ -14,12 +14,12 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 38e64bd..6ed480e 100644
+index 4a84501..52dbb8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,6 @@ AC_PREREQ(2.53)
- AC_INIT([adwaita-icon-theme], [3.30.1],
+ AC_INIT([adwaita-icon-theme], [3.32.0],
[http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme])
-AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb
index 8eadbd2ee..02676f440 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb
@@ -14,8 +14,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://0001-Run-installation-commands-as-shell-jobs.patch \
"
-SRC_URI[md5sum] = "db3fd812821d72fdd9a3c7d622a95b35"
-SRC_URI[sha256sum] = "6d752a2b1bc668483956d4485c39cad1642d9358e133ff689526e43674a4e1ce"
+SRC_URI[md5sum] = "4b16278cfed860a86c8221de62eec151"
+SRC_URI[sha256sum] = "698db6e407bb987baec736c6a30216dfc0317e3ca2403c7adf3a5aa46c193286"
DEPENDS += "librsvg-native"
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb
index 40beab0c4..f46053f44 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.2.bb
@@ -21,8 +21,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-$
file://0001-meson.build-disable-tests-when-cross-compiling.patch \
"
-SRC_URI[md5sum] = "46fc8a98f6563e64947ac3d574632525"
-SRC_URI[sha256sum] = "d844d1499ecd36f3ec8a3573616186d36626ec0c9a7981939e99aa02e9c824b3"
+SRC_URI[md5sum] = "57c1c5dcf3d0a9aa73d06c2d5e6960d7"
+SRC_URI[sha256sum] = "ffdfe2368fb2e34a547898b01aac0520d52d8627fdeb1c306559bcb503ab5e9c"
SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch
new file mode 100644
index 000000000..c481b18f1
--- /dev/null
+++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch
@@ -0,0 +1,33 @@
+From 42e58c4c3e95a4a78ee8294f9b3901726bbbabe4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 11 May 2019 00:21:11 +0200
+Subject: [PATCH] Do not skip gir installation for cross compiling
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We are cool and can handle cross gobject-introspection.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ headers/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/headers/meson.build b/headers/meson.build
+index 3ce8b61..1132695 100644
+--- a/headers/meson.build
++++ b/headers/meson.build
+@@ -19,7 +19,7 @@ enums_xml = custom_target(
+ install: true,
+ install_dir: schemasdir)
+
+-if not meson.is_cross_build() and get_option('introspection')
++if get_option('introspection')
+ noinst_lib = shared_library('noinst',
+ headers,
+ install: false)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb
deleted file mode 100644
index 693c109d8..000000000
--- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "GNOME desktop-wide GSettings schemas"
-HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "glib-2.0 intltool-native"
-
-inherit gnomebase gsettings gettext gobject-introspection upstream-version-is-even
-
-SRC_URI[archive.md5sum] = "83bb19d025f126fae495ab43a2f26f40"
-SRC_URI[archive.sha256sum] = "f88ea6849ffe897c51cfeca5e45c3890010c82c58be2aee18b01349648e5502f"
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb
new file mode 100644
index 000000000..859f70466
--- /dev/null
+++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "GNOME desktop-wide GSettings schemas"
+HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even
+
+SRC_URI[archive.md5sum] = "0c2d468a482c12594757442c983aa8ea"
+SRC_URI[archive.sha256sum] = "2d59b4b3a548859dfae46314ee4666787a00d5c82db382e97df7aa9d0e310a35"
+SRC_URI += "file://0001-Do-not-skip-gir-installation-for-cross-compiling.patch"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
index e5a67d098..852dc9dfc 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch
@@ -1,4 +1,4 @@
-From 9e243474eea4330b593e0f6dd418b61b79699d8b Mon Sep 17 00:00:00 2001
+From d11b41a7ff0234f3832d6aabdf498807d1463c18 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 21 Jun 2016 15:11:39 +0300
Subject: [PATCH] Add --disable-opengl configure option
@@ -25,6 +25,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
demos/gtk-demo/glarea.c | 14 ++++++
docs/tools/Makefile.am | 9 +++-
docs/tools/widgets.c | 4 +-
+ gdk/Makefile.am | 8 ++-
gdk/gdkdisplay.c | 4 +-
gdk/gdkgl.c | 10 ++++
gdk/gdkglcontext.c | 6 +++
@@ -41,15 +42,15 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
gtk/inspector/general.c | 6 +++
tests/Makefile.am | 10 ++--
testsuite/gtk/objects-finalize.c | 2 +
- 20 files changed, 202 insertions(+), 18 deletions(-)
+ 21 files changed, 208 insertions(+), 20 deletions(-)
rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%)
create mode 100644 gdk/x11/gdkx-without-gl-context.h
diff --git a/configure.ac b/configure.ac
-index a91b29c..561d3b5 100644
+index 2c4733b..18ae66c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -351,6 +351,15 @@ AC_ARG_ENABLE(cloudproviders,
+@@ -352,6 +352,15 @@ AC_ARG_ENABLE(cloudproviders,
[AS_HELP_STRING([--enable-cloudproviders],
[enable libcloudproviders integration])],
[cloudproviders_set=yes])
@@ -65,21 +66,21 @@ index a91b29c..561d3b5 100644
AC_ARG_ENABLE(glx,
[AS_HELP_STRING([--enable-glx],
[When enabled Gdk will try to initialize GLX])])
-@@ -1381,7 +1390,7 @@ CFLAGS="$saved_cflags"
+@@ -1370,7 +1379,7 @@ CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version"
--GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES"
-+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES"
+-GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES fribidi >= fribidi_required_version"
++GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES fribidi >= fribidi_required_version"
PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES)
GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB"
-@@ -1415,7 +1424,7 @@ fi
+@@ -1404,7 +1413,7 @@ fi
PKG_CHECK_MODULES(ATK, $ATK_PACKAGES)
GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version"
--GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version"
-+GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES"
+-GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version fribidi >= fribidi_required_version"
++GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES fribidi >= fribidi_required_version"
if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; then
GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2"
fi
@@ -208,11 +209,44 @@ index 932daf1..54239d6 100644
info = new_widget_info ("glarea", widget, MEDIUM);
return info;
+diff --git a/gdk/Makefile.am b/gdk/Makefile.am
+index 689ee52..d6b4e70 100644
+--- a/gdk/Makefile.am
++++ b/gdk/Makefile.am
+@@ -274,7 +274,6 @@ x11_introspection_files = \
+ x11/gdkeventsource.c \
+ x11/gdkeventtranslator.c \
+ x11/gdkgeometry-x11.c \
+- x11/gdkglcontext-x11.c \
+ x11/gdkkeys-x11.c \
+ x11/gdkmain-x11.c \
+ x11/gdkmonitor-x11.c \
+@@ -300,7 +299,6 @@ x11_introspection_files = \
+ x11/gdkx11display.h \
+ x11/gdkx11displaymanager.h \
+ x11/gdkx11dnd.h \
+- x11/gdkx11glcontext.h \
+ x11/gdkx11keys.h \
+ x11/gdkx11monitor.h \
+ x11/gdkx11property.h \
+@@ -310,6 +308,12 @@ x11_introspection_files = \
+ x11/gdkx11visual.h \
+ x11/gdkx11window.h
+
++if HAVE_OPENGL
++x11_introspection_files += \
++ x11/gdkglcontext-x11.c \
++ x11/gdkx11glcontext.h
++endif
++
+ GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile
+ GdkX11_3_0_gir_SCANNERFLAGS = \
+ --identifier-prefix=Gdk \
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
-index 40225e9..c55e1de 100644
+index 06d4187..832711c 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
-@@ -2406,7 +2406,9 @@ gboolean
+@@ -2416,7 +2416,9 @@ gboolean
gdk_display_make_gl_context_current (GdkDisplay *display,
GdkGLContext *context)
{
@@ -346,7 +380,7 @@ index dfbed63..556f0a3 100644
/**
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
-index 6b231f0..904b86d 100644
+index 1416409..e3b5630 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -45,7 +45,9 @@
@@ -478,7 +512,7 @@ index 6289f3a..cbbac79 100644
+
-include $(top_srcdir)/git.mk
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
-index 659b9fa..b15536b 100644
+index 5b95196..9a2f2a2 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -37,7 +37,9 @@
@@ -491,7 +525,7 @@ index 659b9fa..b15536b 100644
#include "gdk-private.h"
#include <glib.h>
-@@ -3194,7 +3196,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
+@@ -3184,7 +3186,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list;
display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target;
@@ -516,7 +550,7 @@ index 272cecd..2bb34ac 100644
+void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {}
+#endif
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index c6205e4..df2334f 100644
+index f92a146..89f900a 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -36,7 +36,9 @@
@@ -529,7 +563,7 @@ index c6205e4..df2334f 100644
#include "gdkprivate-x11.h"
#include "gdk-private.h"
-@@ -5804,7 +5806,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
+@@ -5839,7 +5841,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
impl_class->show_window_menu = gdk_x11_window_show_window_menu;
@@ -633,17 +667,18 @@ index 0000000..c9e2617
+
+#endif /* __GDK_X_H__ */
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
-index 5594429..2259bb3 100644
+index e556e9d..ce912d7 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
-@@ -1434,14 +1434,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
+@@ -1441,7 +1441,6 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins.
&& cp xgen-gptbc gtkprivatetypebuiltins.c \
&& rm -f xgen-gptbc
-
gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gtk/a11y/*.h $(top_srcdir)/gtk/deprecated/*.h $(top_srcdir)/gdk/*.h Makefile
- $(AM_V_GEN) (echo '#undef GTK_COMPILATION' && echo '#include <gtk/gtkx.h>') > xgen-gtfsrc.c && \
- echo 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS' > xgen-gtf && \
+ $(AM_V_GEN) export LC_ALL=C ; \
+ (echo '#undef GTK_COMPILATION' && echo '#include <gtk/gtkx.h>') > xgen-gtfsrc.c && \
+@@ -1449,7 +1448,7 @@ gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_src
${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \
$(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
sort | uniq | \
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb
index 92c9a3ebf..d79b18bee 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb
@@ -8,8 +8,8 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar
file://0003-Add-disable-opengl-configure-option.patch \
file://link_fribidi.patch \
"
-SRC_URI[md5sum] = "32862355c08f6af3e7848c695cd4081b"
-SRC_URI[sha256sum] = "0be5fb0d302bc3de26ab58c32990d895831e2b7c7418d0ffea1206d6a3ddb02f"
+SRC_URI[md5sum] = "eeedde01856238114dcf4df3ebc942a5"
+SRC_URI[sha256sum] = "666962de9b9768fe9ca785b0e2f42c8b9db3868a12fa9b356b167238d70ac799"
S = "${WORKDIR}/gtk+-${PV}"
diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
index 9b128e1ce..3e973a16e 100644
--- a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
+++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch
@@ -1,4 +1,4 @@
-From 04af15322f677db42ecc2acc465334a04de9a871 Mon Sep 17 00:00:00 2001
+From a3f69f2ed45efbdaee47c2dde4df3d78323300e5 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 5 Sep 2016 22:25:44 +0100
Subject: [PATCH] Use native pkg-config when looking for gtk-doc.
@@ -7,10 +7,10 @@ Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
- gtk-doc.m4 | 7 ++++++-
+ buildsystems/autotools/gtk-doc.m4 | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
-diff --git a/gtk-doc.m4 b/gtk-doc.m4
+diff --git a/buildsystems/autotools/gtk-doc.m4 b/buildsystems/autotools/gtk-doc.m4
index 2d12f01..e5afc3f 100644
--- a/buildsystems/autotools/gtk-doc.m4
+++ b/buildsystems/autotools/gtk-doc.m4
diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb
index 2c4ee175a..f16847e40 100644
--- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb
+++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb
@@ -15,11 +15,11 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation",
# into its scripts. This means that target gtk-doc package is broken;
# hopefully no one minds because its scripts are not used for anything during build
# and shouldn't be used on targets.
-PACKAGECONFIG[working-scripts] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six"
+PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments"
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
-SRC_URI[archive.md5sum] = "df26a38c209b3d7358f26268fcbdb9e3"
-SRC_URI[archive.sha256sum] = "14578e002496567276d310a62c9ffd6c56ee8806ce5079ffb0b81c4111f586b1"
+SRC_URI[archive.md5sum] = "1045ba29ca0693ced2045523407aae4c"
+SRC_URI[archive.sha256sum] = "a4f6448eb838ccd30d76a33b1fd095f81aea361f03b12c7b23df181d21b7069e"
SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
file://conditionaltests.patch \
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb
index dac59f86b..58e78a5b7 100644
--- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb
@@ -7,8 +7,8 @@ inherit gnomebase upstream-version-is-even vala distro_features_check gobject-in
DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
-SRC_URI[archive.md5sum] = "5f6455ebc47e86f63b9579997137f391"
-SRC_URI[archive.sha256sum] = "238da19fdcc3ae9bb0c2d781d099fb8c6ec70c4dd3dffad80d230344ecc3f972"
+SRC_URI[archive.md5sum] = "b5c99a8f483a0defe7c7124a3220e412"
+SRC_URI[archive.sha256sum] = "413f8dfb8706760e0c649e2994bd10524ac0736601dd03ad2036293bed3bf141"
GIR_MESON_OPTION = 'with_introspection'
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch
new file mode 100644
index 000000000..954bb6088
--- /dev/null
+++ b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch
@@ -0,0 +1,35 @@
+From b99891e31eb6ce550e7e1cb2ca592095b3050a93 Mon Sep 17 00:00:00 2001
+From: Brion Vibber <brion@pobox.com>
+Date: Sun, 25 Feb 2018 18:42:36 -0800
+Subject: Auto-detect -Bsymbolic, fixes configure on macOS
+
+The -Bsymbolic linker option is ELF-specific, and was breaking
+configure on macOS unless --disable-Bsymbolic was explicitly passed.
+
+Switching the behavior from requiring -Bsymbolic to be available
+by default to just warning and continuing on without.
+
+Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/211
+
+Upstream-Status: Backport
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 15b26b2d..9f8dce29 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -216,7 +216,7 @@ AM_CONDITIONAL([ENABLE_PIXBUF_LOADER],[test "$enable_pixbuf_loader" = "yes"])
+ AC_ARG_ENABLE([Bsymbolic],
+ [AS_HELP_STRING([--disable-Bsymbolic],
+ [disable linking with -Bsymbolic])],
+- [],[enable_Bsymbolic=yes])
++ [enable_Bsymbolic=no],[enable_Bsymbolic=auto])
+
+ BSYMBOLIC_LDFLAG=
+ if test "$enable_Bsymbolic" != "no"; then
+--
+2.20.1
+
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
index e376d52ef..6a798e6a9 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
+++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
@@ -14,17 +14,15 @@ BBCLASSEXTEND = "native"
inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection
-SRC_URI += "file://gtk-option.patch"
+SRC_URI += "file://gtk-option.patch \
+ file://0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch \
+"
SRC_URI[archive.md5sum] = "4949d313b0c5d9161a5c259104af5568"
SRC_URI[archive.sha256sum] = "cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b"
CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
-# The older ld (2.22) on the host (Centos 6.5) doesn't have the
-# -Bsymbolic-functions option, we can disable it for native.
-EXTRA_OECONF_append_class-native = " --enable-Bsymbolic=auto"
-
PACKAGECONFIG ??= "gdkpixbuf"
# The gdk-pixbuf loader
PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb
index c2628ae0c..f32e9ba1b 100644
--- a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb
+++ b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb
@@ -10,12 +10,12 @@ HOMEPAGE = "http://cairographics.org"
BUGTRACKER = "http://bugs.freedesktop.org"
SECTION = "libs"
-LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+"
-LICENSE_${PN} = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1"
-LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1"
+LICENSE = "MPL-1.1 & LGPLv2.1 & GPLv3+"
+LICENSE_${PN} = "MPL-1.1 & LGPLv2.1"
+LICENSE_${PN}-dev = "MPL-1.1 & LGPLv2.1"
+LICENSE_${PN}-doc = "MPL-1.1 & LGPLv2.1"
+LICENSE_${PN}-gobject = "MPL-1.1 & LGPLv2.1"
+LICENSE_${PN}-script-interpreter = "MPL-1.1 & LGPLv2.1"
LICENSE_${PN}-perf-utils = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb
index 1e6f66ee9..200f43c21 100644
--- a/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb
+++ b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb
@@ -19,8 +19,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/"
UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)"
-SRC_URI[md5sum] = "60ef7d8160cd4bf8cb118ee9d65367ca"
-SRC_URI[sha256sum] = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d"
+SRC_URI[md5sum] = "a717e6925b61b9dda946322ecd278a42"
+SRC_URI[sha256sum] = "fccc62928c65192fff6c98847233b28eb7ce05f12d2fea3f6cc90e8b4e5fbe06"
inherit autotools pkgconfig multilib_header
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
index bac91d373..a0a0b1509 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
@@ -21,7 +21,9 @@ S = "${WORKDIR}/SDL2-${PV}"
SRC_URI[md5sum] = "f2ecfba915c54f7200f504d8b48a5dfe"
SRC_URI[sha256sum] = "255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1"
-inherit autotools lib_package binconfig pkgconfig
+inherit autotools lib_package binconfig-disabled pkgconfig
+
+BINCONFIG = "${bindir}/sdl2-config"
CVE_PRODUCT = "simple_directmedia_layer sdl"
diff --git a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb
index ffa1ab8f7..525721f0a 100644
--- a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb
+++ b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb
@@ -19,8 +19,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
-SRC_URI[md5sum] = "cfc69c2a5f526dd1858e098fb8eebfa6"
-SRC_URI[sha256sum] = "99263056c21593a26f2ece812aee6fe60142b49e6cd46cb33c8dddf18fc19391"
+SRC_URI[md5sum] = "5b5ace9de3f07cb7b8f4d19b6979adf0"
+SRC_URI[sha256sum] = "e9e053908591b121793eaa5d8aa37675b4cd3af4b12f1f377dff4767f39cee70"
UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index 61e24c6e9..0064dc643 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,7 +1,7 @@
-From 498f230c9446fc7a1b4dc77ff6b84ee1a3b53bf4 Mon Sep 17 00:00:00 2001
+From da6b9188f29942684d4262f0c6264d09bb6fe7de Mon Sep 17 00:00:00 2001
From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Wed, 24 Apr 2019 17:01:24 -0300
-Subject: [PATCH] meson.build: check for all linux host_os combinations
+Date: Wed, 12 Jun 2019 13:40:20 -0300
+Subject: [PATCH 1/3] meson.build: check for all linux host_os combinations
Organization: O.S. Systems Software LTDA.
Make sure that we are also looking for our host_os combinations like
@@ -9,6 +9,8 @@ linux-musl etc. when assuming support for DRM/KMS.
Also delete a duplicate line.
+Upstream-Status: Pending
+
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
@@ -16,7 +18,7 @@ Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
-index 53d02e31097..c41f6b4e402 100644
+index 8ab8a550f56..e11880f2902 100644
--- a/meson.build
+++ b/meson.build
@@ -34,6 +34,8 @@ cpp = meson.get_compiler('cpp')
@@ -28,16 +30,16 @@ index 53d02e31097..c41f6b4e402 100644
# Arguments for the preprocessor, put these in a separate array from the C and
# C++ (cpp in meson terminology) arguments since they need to be added to the
# default arguments for both C and C++.
-@@ -89,8 +91,6 @@ if (with_gles1 or with_gles2) and not with_opengl
- error('building OpenGL ES without OpenGL is not supported.')
- endif
+@@ -107,8 +109,6 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+ # Only build shared_glapi if at least one OpenGL API is enabled
+ with_shared_glapi = get_option('shared-glapi') and with_any_opengl
-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 'linux'].contains(host_machine.system())
-
- _drivers = get_option('dri-drivers')
- if _drivers.contains('auto')
+ dri_drivers = get_option('dri-drivers')
+ if dri_drivers.contains('auto')
if system_has_kms_drm
-@@ -792,7 +792,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));',
+@@ -836,7 +836,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));',
endif
# TODO: this is very incomplete
@@ -47,5 +49,5 @@ index 53d02e31097..c41f6b4e402 100644
endif
--
-2.21.0
+2.22.0
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch
index 8fabafcb3..81454aaa2 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch
@@ -1,23 +1,26 @@
-From 48318f1a5c9042a8e1bb4456c2584362b25c4a59 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 15 May 2019 17:21:51 +0200
-Subject: [PATCH] meson.build: make TLS GLX optional again
+From d31718999797ffc4dd177d14760ef7b8fd95ac2f Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 12 Jun 2019 14:15:57 -0300
+Subject: [PATCH 2/3] meson.build: make TLS GLX optional again
+Organization: O.S. Systems Software LTDA.
This was optional with autotools, and needs to be disabled
when using musl C library, for instance.
Upstream-Status: Pending
+
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
meson.build | 4 +++-
- meson_options.txt | 6 ++++++
- 2 files changed, 9 insertions(+), 1 deletion(-)
+ meson_options.txt | 7 +++++++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index c41f6b4..8843f3c 100644
+index e11880f2902..7a07974ba61 100644
--- a/meson.build
+++ b/meson.build
-@@ -336,7 +336,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless)
+@@ -362,7 +362,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless)
endif
endif
@@ -29,10 +32,10 @@ index c41f6b4..8843f3c 100644
if not (with_platform_x11 and with_any_opengl)
error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
diff --git a/meson_options.txt b/meson_options.txt
-index ccf7065..0f1e800 100644
+index 1f72faabee8..fcd49efea27 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -324,3 +324,9 @@ option(
+@@ -339,6 +339,13 @@ option(
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
@@ -42,3 +45,10 @@ index ccf7065..0f1e800 100644
+ value : true,
+ description : 'Enable TLS support in GLX',
+)
++
+ option(
+ 'I-love-half-baked-turnips',
+ type : 'boolean',
+--
+2.22.0
+
diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
new file mode 100644
index 000000000..0f254a1d9
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
@@ -0,0 +1,48 @@
+From 417ff3a03313aa003244990ed5c0188c421e6181 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 12 Jun 2019 14:18:31 -0300
+Subject: [PATCH 3/3] Allow enable DRI without DRI drivers
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ meson.build | 2 +-
+ meson_options.txt | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 7a07974ba61..5c7cbe38376 100644
+--- a/meson.build
++++ b/meson.build
+@@ -137,7 +137,7 @@ with_dri_r200 = dri_drivers.contains('r200')
+ with_dri_nouveau = dri_drivers.contains('nouveau')
+ with_dri_swrast = dri_drivers.contains('swrast')
+
+-with_dri = dri_drivers.length() != 0 and dri_drivers != ['']
++with_dri = get_option('dri') or (_drivers.length() != 0 and _drivers != [''])
+
+ gallium_drivers = get_option('gallium-drivers')
+ if gallium_drivers.contains('auto')
+diff --git a/meson_options.txt b/meson_options.txt
+index fcd49efea27..0529200b3bb 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -34,6 +34,12 @@ option(
+ choices : ['auto', 'true', 'false'],
+ description : 'enable support for dri3'
+ )
++option(
++ 'dri',
++ type : 'boolean',
++ value : false,
++ description : 'enable support for dri'
++)
+ option(
+ 'dri-drivers',
+ type : 'array',
+--
+2.22.0
+
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
index 6b676cdd2..b27d9eafa 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
+++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
@@ -1,4 +1,4 @@
-From c59e286fa4e818ca015dd40e4725636309970ea8 Mon Sep 17 00:00:00 2001
+From 2e0367a941445a862ab99c54ec85d1357d0f73c0 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 10 Jul 2014 14:30:52 +0200
Subject: [PATCH] Install few more test programs
@@ -8,27 +8,28 @@ Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
---
- src/egl/opengl/Makefile.am | 2 +-
- src/egl/opengles1/Makefile.am | 10 ++++------
- src/egl/openvg/Makefile.am | 2 +-
- 3 files changed, 6 insertions(+), 8 deletions(-)
+ src/egl/opengl/Makefile.am | 3 +--
+ src/egl/openvg/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am
-index fe7faa9..3e48141 100644
+index 6d184ff6..ab09d028 100644
--- a/src/egl/opengl/Makefile.am
+++ b/src/egl/opengl/Makefile.am
-@@ -50,7 +50,7 @@ endif
- endif
+@@ -57,8 +57,7 @@ endif
if HAVE_EGL
+ bin_PROGRAMS = \
+- eglinfo
-noinst_PROGRAMS = \
-+bin_PROGRAMS = \
- eglinfo \
++ eglinfo \
peglgears \
$(EGL_DRM_DEMOS) \
+ $(EGL_X11_DEMOS) \
diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am
-index b0f1212..5fd1cf8 100644
+index b0f1212f..5fd1cf83 100644
--- a/src/egl/openvg/Makefile.am
+++ b/src/egl/openvg/Makefile.am
@@ -49,7 +49,7 @@ endif
@@ -40,6 +41,3 @@ index b0f1212..5fd1cf8 100644
$(EGL_X11_DEMOS)
endif
endif
---
-2.1.4
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
index a6085754d..a6d168175 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
+++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
@@ -1,12 +1,13 @@
-From 0b6f95f9b8ece22e9856c150e4be29fd86eaf546 Mon Sep 17 00:00:00 2001
+From 894add34c2b5e6b4ccc78996bf681d7ec7bc9e36 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 10 Jul 2014 14:29:27 +0200
-Subject: [PATCH 8/9] glsl, perf: Add few missing .glsl, .vert, .frag files to
+Subject: [PATCH] glsl, perf: Add few missing .glsl, .vert, .frag files to
EXTRA_DATA
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
---
src/fpglsl/Makefile.am | 2 ++
src/glsl/Makefile.am | 10 ++++++++--
@@ -15,7 +16,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
-index 47c1039..fd43c91 100644
+index 47c1039f..fd43c919 100644
--- a/src/fpglsl/Makefile.am
+++ b/src/fpglsl/Makefile.am
@@ -39,10 +39,12 @@ noinst_PROGRAMS = \
@@ -32,7 +33,7 @@ index 47c1039..fd43c91 100644
mov-imm.glsl \
simpleif.glsl \
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
-index 4faa8db..079a29d 100644
+index 4faa8dbf..079a29d8 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -37,7 +37,7 @@ AM_LDFLAGS = \
@@ -71,13 +72,13 @@ index 4faa8db..079a29d 100644
+ skinning.vert \
toyball.shtest
diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
-index 5363c58..c5cca8d 100644
+index f0031fea..60069396 100644
--- a/src/perf/Makefile.am
+++ b/src/perf/Makefile.am
-@@ -57,3 +57,9 @@ bin_PROGRAMS = \
- endif
+@@ -59,3 +59,9 @@ endif
glslstateschange_LDADD = libperf.la ../util/libutil.la
+ glsl_compile_time_LDADD = ../util/libutil.la
+
+EXTRA_DIST = \
+ glslstateschange1.frag \
@@ -85,7 +86,7 @@ index 5363c58..c5cca8d 100644
+ glslstateschange2.frag \
+ glslstateschange2.vert
diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
-index 4a85ed4..48b08f4 100644
+index 4a85ed40..48b08f48 100644
--- a/src/vpglsl/Makefile.am
+++ b/src/vpglsl/Makefile.am
@@ -44,6 +44,7 @@ EXTRA_DIST = \
@@ -96,6 +97,3 @@ index 4a85ed4..48b08f4 100644
mov.glsl \
nestedifs.glsl \
nestedswizzle.glsl \
---
-2.0.0
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
index 1262dee23..8a98ba60d 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
+++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
@@ -1,10 +1,11 @@
-From c8c3de5417d6b6c7d7579c528c0cab718f4bfdb6 Mon Sep 17 00:00:00 2001
+From 477ab6d90a17d8e4d3935be6ce8b8e154db0e3e5 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 10 Jul 2014 14:48:12 +0200
-Subject: [PATCH 9/9] glsl, perf: Install .glsl, .vert, .frag files
+Subject: [PATCH] glsl, perf: Install .glsl, .vert, .frag files
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
---
src/fpglsl/Makefile.am | 3 ++-
src/glsl/Makefile.am | 3 ++-
@@ -13,7 +14,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
-index fd43c91..2bf51de 100644
+index fd43c919..2bf51de4 100644
--- a/src/fpglsl/Makefile.am
+++ b/src/fpglsl/Makefile.am
@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
@@ -27,7 +28,7 @@ index fd43c91..2bf51de 100644
dowhile2.glsl \
dowhile.glsl \
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
-index 079a29d..f66ec29 100644
+index 079a29d8..f66ec299 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la
@@ -41,12 +42,12 @@ index 079a29d..f66ec29 100644
CH06-brick.vert \
CH11-bumpmap.frag \
diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
-index c5cca8d..140256d 100644
+index 60069396..469bdf45 100644
--- a/src/perf/Makefile.am
+++ b/src/perf/Makefile.am
-@@ -58,7 +58,8 @@ endif
-
+@@ -60,7 +60,8 @@ endif
glslstateschange_LDADD = libperf.la ../util/libutil.la
+ glsl_compile_time_LDADD = ../util/libutil.la
-EXTRA_DIST = \
+demosdatadir=$(datadir)/$(PACKAGE)/
@@ -55,7 +56,7 @@ index c5cca8d..140256d 100644
glslstateschange1.vert \
glslstateschange2.frag \
diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
-index 48b08f4..5526867 100644
+index 48b08f48..55268675 100644
--- a/src/vpglsl/Makefile.am
+++ b/src/vpglsl/Makefile.am
@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
@@ -68,6 +69,3 @@ index 48b08f4..5526867 100644
for.glsl \
func.glsl \
func2.glsl \
---
-2.0.0
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
index bae3b18be..129a47df4 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
@@ -9,7 +9,7 @@ LICENSE = "MIT & PD"
LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
-SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \
+SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \
file://0001-mesa-demos-Add-missing-data-files.patch \
file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \
file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
@@ -19,8 +19,8 @@ SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2
file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \
file://0013-only-build-GLX-demos-if-needed.patch \
"
-SRC_URI[md5sum] = "628e75c23c17394f11a316c36f8e4164"
-SRC_URI[sha256sum] = "c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef"
+SRC_URI[md5sum] = "6b65a02622765522176d00f553086fa3"
+SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d"
inherit autotools pkgconfig distro_features_check
# depends on virtual/egl, virtual/libgl ...
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb
index d4b1c1c45..d4b1c1c45 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index cd3ddfd82..3ecfb8506 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -70,7 +70,7 @@ DRIDRIVERS_class-nativesdk = "swrast"
DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915"
DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915"
# "dri" requires "opengl"
-PACKAGECONFIG[dri] = "-Ddri-drivers=${DRIDRIVERS}, -Ddri-drivers='', xorgproto libdrm"
+PACKAGECONFIG[dri] = "-Ddri=true -Ddri-drivers=${DRIDRIVERS}, -Ddri=false -Ddri-drivers='', xorgproto libdrm"
PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence"
# Vulkan drivers need dri3 enabled
diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb
index 36faa4a99..05c315349 100644
--- a/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb
@@ -2,11 +2,12 @@ require ${BPN}.inc
SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
- file://0001-meson.build-make-TLS-GLX-optional-again.patch \
+ file://0002-meson.build-make-TLS-GLX-optional-again.patch \
+ file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
"
-SRC_URI[md5sum] = "d03bf14e42c0e54ebae5730712ccc408"
-SRC_URI[sha256sum] = "f027244e38dc309a4c12db45ef79be81ab62c797a50a88d566e4edb6159fc4d5"
+SRC_URI[md5sum] = "090cd351cf938fc1729dee983520216a"
+SRC_URI[sha256sum] = "2a6c3af3a803389183168e449c536304cf03e0f82c4c9333077933543b9d02f3"
#because we cannot rely on the fact that all apps will use pkgconfig,
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch
deleted file mode 100644
index 57eda2e20..000000000
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Upstream-Status: Submitted [mailing list]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 0e0a2a69261031d55d52b6045990e8982ea12912 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 9 Jul 2016 07:52:19 +0000
-Subject: [PATCH] tests: only run rounding tests if FE_UPWARD is present
-
-On ARM, musl does not define FE_* when the architecture does not have VFP (which
-is the right interpretation).
-
-As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't
-available.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- tests/general/roundmode-getintegerv.c | 12 ++++++++----
- tests/general/roundmode-pixelstore.c | 12 ++++++++----
- 2 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c
-index 28ecfaf55..aa99044a1 100644
---- a/tests/general/roundmode-getintegerv.c
-+++ b/tests/general/roundmode-getintegerv.c
-@@ -79,13 +79,17 @@ test(float val, int expect)
- void
- piglit_init(int argc, char **argv)
- {
-- int ret;
- bool pass = true;
-- ret = fesetround(FE_UPWARD);
-- if (ret != 0) {
-- printf("Couldn't set rounding mode\n");
-+
-+#ifdef FE_UPWARD
-+ if (fesetround(FE_UPWARD) != 0) {
-+ printf("Setting rounding mode failed\n");
- piglit_report_result(PIGLIT_SKIP);
- }
-+#else
-+ printf("Cannot set rounding mode\n");
-+ piglit_report_result(PIGLIT_SKIP);
-+#endif
-
- pass = test(2.2, 2) && pass;
- pass = test(2.8, 3) && pass;
-diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c
-index 8a029b257..57ec11c09 100644
---- a/tests/general/roundmode-pixelstore.c
-+++ b/tests/general/roundmode-pixelstore.c
-@@ -79,13 +79,17 @@ test(float val, int expect)
- void
- piglit_init(int argc, char **argv)
- {
-- int ret;
- bool pass = true;
-- ret = fesetround(FE_UPWARD);
-- if (ret != 0) {
-- printf("Couldn't set rounding mode\n");
-+
-+#ifdef FE_UPWARD
-+ if (fesetround(FE_UPWARD) != 0) {
-+ printf("Setting rounding mode failed\n");
- piglit_report_result(PIGLIT_SKIP);
- }
-+#else
-+ printf("Cannot set rounding mode\n");
-+ piglit_report_result(PIGLIT_SKIP);
-+#endif
-
- pass = test(2.2, 2) && pass;
- pass = test(2.8, 3) && pass;
---
-2.11.0
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch b/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch
deleted file mode 100644
index 73d539fef..000000000
--- a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-Upstream-Status: Submitted [mailing list]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From f0c6981322807e179e39ce67aeebd42cf7a54d36 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 21 Nov 2018 12:44:36 +0000
-Subject: [PATCH] arb_texture_view: fix security format warnings
-
-If built with -Werror=format-security then Piglit fails to build:
-
-/tests/spec/arb_texture_view/rendering-layers-image.c:150:8:
-error: format not a string literal and no format arguments [-Werror=format-security]
- (desc)); \
- ^~~~~~
-
-In this case test->uniform_type is being turned into a string using snprintf()
-and then passed to piglit_report_subtest_result() which takes a format string,
-but GCC can't verify the format.
-
-As _subtest_report() takes a format string, we can just remove the snprintf()
-and let it construct the label.
-
-Also as X is used once and doesn't make the code clearer, just inline it.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- tests/spec/arb_texture_view/rendering-layers-image.c | 19 ++++++-------------
- 1 file changed, 6 insertions(+), 13 deletions(-)
-
-diff --git a/tests/spec/arb_texture_view/rendering-layers-image.c b/tests/spec/arb_texture_view/rendering-layers-image.c
-index 415b01657..86148075b 100644
---- a/tests/spec/arb_texture_view/rendering-layers-image.c
-+++ b/tests/spec/arb_texture_view/rendering-layers-image.c
-@@ -142,26 +142,19 @@ test_render_layers(const struct test_info *test)
- return pass;
- }
-
--#define X(f, desc) \
-- do { \
-- const bool subtest_pass = (f); \
-- piglit_report_subtest_result(subtest_pass \
-- ? PIGLIT_PASS : PIGLIT_FAIL, \
-- (desc)); \
-- pass = pass && subtest_pass; \
-- } while (0)
--
- enum piglit_result
- piglit_display(void)
- {
- bool pass = true;
- for (int test_idx = 0; test_idx < ARRAY_SIZE(tests); test_idx++) {
- const struct test_info *test = &tests[test_idx];
-- char test_name[128];
-- snprintf(test_name, sizeof(test_name), "layers rendering of %s", test->uniform_type);
-- X(test_render_layers(test), test_name);
-+
-+ const bool subtest_pass = test_render_layers(test);
-+
-+ piglit_report_subtest_result(subtest_pass ? PIGLIT_PASS : PIGLIT_FAIL,
-+ "layers rendering of %s", test->uniform_type);
-+ pass = pass && subtest_pass;
- }
--#undef X
- pass = piglit_check_gl_error(GL_NO_ERROR) && pass;
- return pass ? PIGLIT_PASS : PIGLIT_FAIL;
- }
---
-2.11.0
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index b6542a191..4350823f6 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -2,16 +2,13 @@ SUMMARY = "OpenGL driver testing framework"
LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0"
-SRC_URI = "git://anongit.freedesktop.org/piglit \
+SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit;protocol=https \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
- file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \
file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
- file://format-fix.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-# From 2018-10-26
-SRCREV = "b9066c7717af1d169a616c9e61706b99ff8515b5"
+SRCREV = "4294b15e3b84a96f24d1286b73d5832eea267bbf"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb
index 2b72d6750..6994d79e8 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb
@@ -20,3 +20,5 @@ SRC_URI[sha256sum] = "0e8ab7fd737ccdfe87e1f02b55f221f0bd4503a1c5f28be4ed6a54586b
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+CVE_PRODUCT = "libxfont libxfont2"
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb
index 5c2328845..a6b2cc0ee 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.26.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb
@@ -14,8 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "e2e980629bfeb9f40a7d44488b18ba12"
-SRC_URI[sha256sum] = "393718c7460cd06c4e8cb819d943ca54812ea476f32714c4d8975c77031a038e"
+SRC_URI[md5sum] = "316753e35d3906d042c74230612eab9f"
+SRC_URI[sha256sum] = "690daec8fea63526c07620c90e6f3f10aae34e94b6db6e30906173480721901f"
SECTION = "x11/libs"
DEPENDS = "intltool-native util-macros libxslt-native"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index ad7babf7a..8b6ad96db 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -7,6 +7,7 @@ LICENSE = "\
& Firmware-agere \
& Firmware-amdgpu \
& Firmware-amd-ucode \
+ & Firmware-amlogic_vdec \
& Firmware-atheros_firmware \
& Firmware-atmel \
& Firmware-broadcom_bcm43xx \
@@ -62,68 +63,68 @@ LICENSE = "\
& WHENCE \
"
-LIC_FILES_CHKSUM = "\
- file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
- file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
- file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
- file://LICENSE.amdgpu;md5=ab515ef6495ab5c5a3b08ab2db62df11 \
- file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \
- file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
- file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
- file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
- file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \
- file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \
- file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
- file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
- file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
- file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \
- file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
- file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \
- file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
- file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
- file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
- file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
- file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
- file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
- file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
- file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
- file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
- file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \
- file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
- file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \
- file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \
- file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
- file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
- file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \
- file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
- file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
- file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
- file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
- file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
- file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
- file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
- file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \
- file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
- file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \
- file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
- file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
- file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
- file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
- file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
- file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
- file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
- file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \
- file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
- file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
- file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
- file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
- file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \
- file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
- file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
- file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
- file://WHENCE;md5=ef36d3383becd18f36ce32d84109386f \
-"
+LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
+ file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
+ file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
+ file://LICENSE.amdgpu;md5=ab515ef6495ab5c5a3b08ab2db62df11 \
+ file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \
+ file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \
+ file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
+ file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
+ file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
+ file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \
+ file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \
+ file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
+ file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
+ file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
+ file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \
+ file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
+ file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \
+ file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
+ file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
+ file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
+ file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
+ file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
+ file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
+ file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
+ file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
+ file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
+ file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \
+ file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
+ file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \
+ file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \
+ file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
+ file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
+ file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \
+ file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
+ file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
+ file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
+ file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
+ file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
+ file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
+ file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
+ file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \
+ file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
+ file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \
+ file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
+ file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
+ file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
+ file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
+ file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
+ file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
+ file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
+ file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \
+ file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
+ file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
+ file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
+ file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
+ file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \
+ file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
+ file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
+ file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
+ file://WHENCE;md5=b6e44adf71bc37e5f26ebfe5a08b5490 \
+ "
# These are not common licenses, set NO_GENERIC_LICENSE for them
# so that the license files will be copied from fetched source
@@ -132,6 +133,7 @@ NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst"
NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere"
NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu"
NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode"
+NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec"
NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware"
NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel"
NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx"
@@ -188,7 +190,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
-SRCREV = "7bc246451318b3536d9bfd3c4e46d541a9831b33"
+SRCREV = "711d3297bac870af42088a467459a0634c1970ca"
PE = "1"
PV = "0.0+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-dummy.bb b/poky/meta/recipes-kernel/linux/linux-dummy.bb
index e1c7f7676..62cf6f5ea 100644
--- a/poky/meta/recipes-kernel/linux/linux-dummy.bb
+++ b/poky/meta/recipes-kernel/linux/linux-dummy.bb
@@ -39,6 +39,10 @@ do_compile () {
:
}
+do_compile_kernelmodules() {
+ :
+}
+
do_shared_workdir () {
:
}
@@ -58,3 +62,4 @@ do_deploy() {
addtask bundle_initramfs after do_install before do_deploy
addtask deploy after do_install
addtask shared_workdir after do_compile before do_install
+addtask compile_kernelmodules
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index ae8c34300..8c83620d3 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-LINUX_VERSION ?= "5.0-rc+"
+LINUX_VERSION ?= "5.2-rc+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
@@ -41,7 +41,7 @@ DEPENDS += "openssl-native util-linux-native"
COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)"
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
index 834b8fc03..a4facfeb6 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f"
-SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
+SRCREV_machine ?= "4dbcaca4c9ff89e866d2b5d01df005f317c618a4"
+SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.19.34"
+LINUX_VERSION ?= "4.19.44"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
@@ -33,7 +33,7 @@ LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
@@ -41,3 +41,4 @@ KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
index 54f86dac9..8bd9d7446 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "494384666b623a23e19cbbc54574d08e31496a03"
-SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
+SRCREV_machine ?= "9c1e84c9b81b6bf1df55f26f2e0517266c37f7eb"
+SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.0.7"
+LINUX_VERSION ?= "5.0.19"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
@@ -33,7 +33,7 @@ LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
@@ -41,3 +41,4 @@ KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
index dea7f2bf5..e668854fa 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "4.19.34"
+LINUX_VERSION ?= "4.19.44"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine_qemuarm ?= "6fbb768bd43d85b2cfd905e431101e214c580634"
-SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
-SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
+SRCREV_machine_qemuarm ?= "a3cd9d732b27e78f94634924b7232b6280dae002"
+SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
+SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1"
PV = "${LINUX_VERSION}+git${SRCPV}"
@@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
# Functionality flags
KERNEL_FEATURES = ""
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
index 720192152..226a90c7f 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.0.7"
+LINUX_VERSION ?= "5.0.19"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine_qemuarm ?= "f07da0a13d6f503b72594776b5e8a9795da6d6a0"
-SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
-SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
+SRCREV_machine_qemuarm ?= "fabee455f397ba8054f35a3ad5f2250bbad93bef"
+SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69"
PV = "${LINUX_VERSION}+git${SRCPV}"
@@ -29,4 +29,4 @@ COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
# Functionality flags
KERNEL_FEATURES = ""
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
index de4ae9287..014d6894e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
@@ -11,22 +11,22 @@ KBRANCH_qemux86 ?= "v4.19/standard/base"
KBRANCH_qemux86-64 ?= "v4.19/standard/base"
KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "b266576aa10e76afeded8e13ffce93c4638b8ddb"
-SRCREV_machine_qemuarm64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
-SRCREV_machine_qemumips ?= "f6ef1a5233db0a1f569d7d6638fa803ebe5c867b"
-SRCREV_machine_qemuppc ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
-SRCREV_machine_qemux86 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
-SRCREV_machine_qemux86-64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
-SRCREV_machine_qemumips64 ?= "f5b26e4d7a0eee36298d970590c50c26a800b84d"
-SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
-SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
+SRCREV_machine_qemuarm ?= "c12bc1a098be009c44582e75af630ff573155473"
+SRCREV_machine_qemuarm64 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
+SRCREV_machine_qemumips ?= "18ba7160ac7a094bf9659649c537303201eb022e"
+SRCREV_machine_qemuppc ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
+SRCREV_machine_qemux86 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
+SRCREV_machine_qemux86-64 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
+SRCREV_machine_qemumips64 ?= "d9c77fe2a6038848fbadd660882b78e590c3252e"
+SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
+SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "4.19.34"
+LINUX_VERSION ?= "4.19.44"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
@@ -36,7 +36,7 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
@@ -47,3 +47,4 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
index ae8f643e9..7456141c5 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
@@ -7,19 +7,21 @@ KBRANCH_qemuarm ?= "v5.0/standard/arm-versatile-926ejs"
KBRANCH_qemuarm64 ?= "v5.0/standard/qemuarm64"
KBRANCH_qemumips ?= "v5.0/standard/mti-malta32"
KBRANCH_qemuppc ?= "v5.0/standard/qemuppc"
+KBRANCH_qemuriscv64 ?= "v5.0/standard/base"
KBRANCH_qemux86 ?= "v5.0/standard/base"
KBRANCH_qemux86-64 ?= "v5.0/standard/base"
KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "99f3821bdc8718af3ef6e96d594b593d644ab2e4"
-SRCREV_machine_qemuarm64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
-SRCREV_machine_qemumips ?= "1128cfe6c7915535c4066b75342c952640e65d72"
-SRCREV_machine_qemuppc ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
-SRCREV_machine_qemux86 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
-SRCREV_machine_qemux86-64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
-SRCREV_machine_qemumips64 ?= "55e385d52db438df1ff7ad3845c9076b2bb221eb"
-SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
-SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
+SRCREV_machine_qemuarm ?= "9161b2fa2f1cec0ba02976c389c788445858e0de"
+SRCREV_machine_qemuarm64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_machine_qemumips ?= "7de9b8f0db98e51a666477c8e2b64f1964b45410"
+SRCREV_machine_qemuppc ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_machine_qemuriscv64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_machine_qemux86 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_machine_qemux86-64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_machine_qemumips64 ?= "5a8b27bcc0b16077ab8edfcd3fb25c80dc2c652e"
+SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
+SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69"
# remap qemuarm to qemuarma15 for the 5.0 kernel
# KMACHINE_qemuarm ?= "qemuarma15"
@@ -28,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.0.7"
+LINUX_VERSION ?= "5.0.19"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
@@ -38,10 +40,9 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
-COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
@@ -50,3 +51,4 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb
index 70a684326..6e2d65549 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb
@@ -11,14 +11,13 @@ inherit module
COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'
-#https://lttng.org/files/lttng-modules/lttng-modules-2.10.7.tar.bz2
SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
"
-SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1"
-SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145"
+SRC_URI[md5sum] = "07c0b1ea4c1dd9d3edba8dc980fd93dd"
+SRC_URI[sha256sum] = "e0d031005eef337c62de530a3b5b3e8fb1c732846eefcb23b8978edd2091f6e4"
export INSTALL_MOD_DIR="kernel/lttng-modules"
@@ -34,3 +33,13 @@ python do_package_prepend() {
bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
}
+BBCLASSEXTEND = "devupstream:target"
+LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3"
+DEFAULT_PREFERENCE_class-devupstream = "-1"
+SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.10 \
+ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
+ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
+ "
+SRCREV_class-devupstream = "624aca5d7507fbd11ea4a1a474c3aa1031bd9a31"
+PV_class-devupstream = "2.10.10+git${SRCPV}"
+S_class-devupstream = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch
deleted file mode 100644
index df18dc842..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7244eac44be929fabd6ed1333f96929ef8da564f Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Tue, 19 Mar 2019 17:56:49 +0000
-Subject: [PATCH] fix: tests: link libpause_consumer on liblttng-ctl
-
-This preload test library uses symbols from liblttng-ctl which are
-resolved when preloaded by GLIBC but not by MUSL.
-
-Upstream-Status: Accepted [f667fbd7f8b9512f9943edb2597c226fcc424ee9]
-Backported to 2.11 and 2.10.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
----
- tests/regression/tools/notification/Makefile.am | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/tests/regression/tools/notification/Makefile.am b/tests/regression/tools/notification/Makefile.am
-index 41adc69..a352bb8 100644
---- a/tests/regression/tools/notification/Makefile.am
-+++ b/tests/regression/tools/notification/Makefile.am
-@@ -20,7 +20,10 @@ FORCE_SHARED_LIB_OPTIONS = -module -shared -avoid-version \
- -rpath $(abs_builddir)
-
- libpause_consumer_la_SOURCES = consumer_testpoints.c
--libpause_consumer_la_LIBADD = $(top_builddir)/src/common/libcommon.la $(DL_LIBS)
-+libpause_consumer_la_LIBADD = \
-+ $(top_builddir)/src/common/libcommon.la \
-+ $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la \
-+ $(DL_LIBS)
- libpause_consumer_la_LDFLAGS = $(FORCE_SHARED_LIB_OPTIONS)
- noinst_LTLIBRARIES = libpause_consumer.la
-
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch
index 6c9f7e462..6c9f7e462 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0004-Skip-when-testapp-is-not-present.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Skip-when-testapp-is-not-present.patch
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch
new file mode 100644
index 000000000..784a07940
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-check-for-lttng-modules-presence-before-testing.patch
@@ -0,0 +1,24 @@
+From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001
+From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+Date: Wed, 22 May 2019 16:44:54 -0400
+Subject: [PATCH] Fix: check for lttng modules presence before testing
+
+Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html]
+
+Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+---
+ tests/regression/tools/notification/test_notification_multi_app | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app
+index 29b0f62..a6baf65 100755
+--- a/tests/regression/tools/notification/test_notification_multi_app
++++ b/tests/regression/tools/notification/test_notification_multi_app
+@@ -484,6 +484,7 @@ else
+ fi
+
+ if [ "$(id -u)" == "0" ]; then
++ validate_lttng_modules_present
+ TESTS+=(
+ test_multi_app_kernel
+ test_on_register_evaluation_kernel
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch
deleted file mode 100644
index 5bb88d21e..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From e7db27668a9d7fd279d45bc43f3a2d5847374e7b Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Tue, 12 Mar 2019 12:04:58 -0400
-Subject: [PATCH lttng-tools 1/2] Fix: test: skip test_getcpu_override on
- single thread system
-
-There is no value in performing this test on single thread system
-since the only valid value for the cpu field is 0.
-
-This test currently fails on single thread system (i.e yocto runquemu)
-on the test_getcpu_override_fail test case.
-
-Upstream-Status: Accepted [f87d0ca370c17b597762f5ee218f0e821ed2452d]
-Backported to 2.11 and 2.10
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
----
- .../ust/getcpu-override/test_getcpu_override | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/tests/regression/ust/getcpu-override/test_getcpu_override b/tests/regression/ust/getcpu-override/test_getcpu_override
-index 4ca385aeb..ee3e31953 100755
---- a/tests/regression/ust/getcpu-override/test_getcpu_override
-+++ b/tests/regression/ust/getcpu-override/test_getcpu_override
-@@ -157,13 +157,19 @@ plan_tests $NUM_TESTS
-
- print_test_banner "$TEST_DESC"
-
--if [ -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then
-- foundobj=1
--else
-- foundobj=0
-+if [ ! -x "$CURDIR/.libs/lttng-ust-getcpu-override-test.so" ]; then
-+ skip 0 "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0
-+fi
-+
-+if [ "$num_cpus" -eq "1" ]; then
-+ # Skip the test since we cannot perform it as designed since N mod 1
-+ # is always equals to zero. There is no point testing this on a system
-+ # with a single thread. LTTng-UST limits the get_cpu function to return
-+ # value inside the [0, NUM_CPU - 1] range for a valid event (present in
-+ # trace).
-+ skip 0 "Test system only have a single thread. Skipping all tests." $NUM_TESTS && exit 0
- fi
-
--skip $foundobj "No shared object generated. Skipping all tests." $NUM_TESTS && exit 0
-
- TESTS=(
- test_getcpu_override_fail
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch
deleted file mode 100644
index 822b26a36..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 83d165442d1c3658b6bafa28ddade8ffee7092ad Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Wed, 6 Mar 2019 16:46:49 -0500
-Subject: [PATCH lttng-tools 2/2] Fix: test: unit: the tree origin can be a
- symlink itself
-
-Problem:
-
-The base tree is defined as "/tmp/.....XXXXXX".
-On systems where "/tmp/" is itself a symlink utils_expand_path will
-expand the tree origin itself.
-
-For example on a base core-image-minimal Yocto build /tmp is a symlink
-to "/var/tmp", which is a symlink to "/var/volatile".
-
-utils_expand_path will return something like this for the symlink test:
-"/var/volative/.....XXXXXX/...." which is the valid result.
-
-Solution:
-
-Simply use realpath on the tree_origin and use this path to perform the
-test validation.
-
-This work was performed in the effort to support yocto fully and be able
-to run the test suite to detect problem as early as possible.
-
-
-Upstream-Status: Accepted [f66e964a2e0c75f5e1a55fbcc963b1c5e2b4519d]
-Backported to 2.11 and 2.10
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
----
- tests/unit/test_utils_expand_path.c | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
-diff --git a/tests/unit/test_utils_expand_path.c b/tests/unit/test_utils_expand_path.c
-index d5cab002e..d047c207d 100644
---- a/tests/unit/test_utils_expand_path.c
-+++ b/tests/unit/test_utils_expand_path.c
-@@ -281,8 +281,8 @@ error:
- static void test_utils_expand_path(void)
- {
- char *result;
-- char name[100], tmppath[PATH_MAX];
-- int i;
-+ char name[100], tmppath[PATH_MAX], real_tree_origin[PATH_MAX];
-+ int i, treelen;
-
- /* Test valid cases */
- for (i = 0; i < num_valid_tests; i++) {
-@@ -295,14 +295,24 @@ static void test_utils_expand_path(void)
- free(result);
- }
-
-+ /*
-+ * Get the realpath for the tree_origin since it can itself be a
-+ * symlink.
-+ */
-+ result = realpath(tree_origin, real_tree_origin);
-+ if (!result) {
-+ fail("realpath failed.");
-+ return;
-+ }
-+
- /* Test symlink tree cases */
-- int treelen = strlen(tree_origin) + 1;
-+ treelen = strlen(real_tree_origin) + 1;
- for (i = 0; i < num_symlink_tests; i++) {
- sprintf(name, "symlink tree test case: [tmppath/]%s",
- symlink_tests_inputs[i].input);
-
- snprintf(tmppath, PATH_MAX, "%s/%s",
-- tree_origin, symlink_tests_inputs[i].input);
-+ real_tree_origin, symlink_tests_inputs[i].input);
- result = utils_expand_path(tmppath);
- ok(result != NULL && strcmp(result + treelen,
- symlink_tests_inputs[i].expected_result) == 0, name);
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch
deleted file mode 100644
index 16df3e610..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From 9bc81a446d0a3ea9a884739eee48d3f14db3283c Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Wed, 28 Mar 2018 15:21:26 -0400
-Subject: [PATCH lttng-tools] Tests: use modprobe to test for the presence of
- lttng-modules
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport [28702730192ae1ded06105c54c5dc]
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
----
- tests/regression/tools/regen-metadata/test_kernel | 8 ++------
- tests/regression/tools/regen-statedump/test_kernel | 7 +------
- tests/regression/tools/snapshots/test_kernel | 9 +++------
- tests/regression/tools/snapshots/test_kernel_streaming | 8 ++------
- tests/regression/tools/streaming/test_kernel | 8 ++------
- tests/utils/utils.sh | 10 ++++++++++
- 6 files changed, 20 insertions(+), 30 deletions(-)
-
-diff --git a/tests/regression/tools/regen-metadata/test_kernel b/tests/regression/tools/regen-metadata/test_kernel
-index fd139aeef..1849b9cd0 100755
---- a/tests/regression/tools/regen-metadata/test_kernel
-+++ b/tests/regression/tools/regen-metadata/test_kernel
-@@ -28,12 +28,6 @@ NUM_TESTS=18
-
- source $TESTDIR/utils/utils.sh
-
--# LTTng kernel modules check
--out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
--if [ -z "$out" ]; then
-- BAIL_OUT "LTTng modules not detected."
--fi
--
- function lttng_create_session_uri
- {
- # Create session with default path
-@@ -91,6 +85,8 @@ fi
-
- skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
- {
-+ validate_lttng_modules_present
-+
- start_lttng_relayd "-o $TRACE_PATH"
- start_lttng_sessiond
- modprobe lttng-test
-diff --git a/tests/regression/tools/regen-statedump/test_kernel b/tests/regression/tools/regen-statedump/test_kernel
-index 85afe76a1..50054eb07 100755
---- a/tests/regression/tools/regen-statedump/test_kernel
-+++ b/tests/regression/tools/regen-statedump/test_kernel
-@@ -29,12 +29,6 @@ NUM_TESTS=11
-
- source $TESTDIR/utils/utils.sh
-
--# LTTng kernel modules check
--out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
--if [ -z "$out" ]; then
-- BAIL_OUT "LTTng modules not detected."
--fi
--
- function test_kernel_local ()
- {
- diag "Test kernel local with statedump regeneration"
-@@ -64,6 +58,7 @@ fi
-
- skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
- {
-+ validate_lttng_modules_present
- start_lttng_sessiond
- modprobe lttng-test
-
-diff --git a/tests/regression/tools/snapshots/test_kernel b/tests/regression/tools/snapshots/test_kernel
-index 886c4557a..ff563100b 100755
---- a/tests/regression/tools/snapshots/test_kernel
-+++ b/tests/regression/tools/snapshots/test_kernel
-@@ -29,12 +29,6 @@ NUM_TESTS=2060
-
- source $TESTDIR/utils/utils.sh
-
--# LTTng kernel modules check
--out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
--if [ -z "$out" ]; then
-- BAIL_OUT "LTTng modules not detected."
--fi
--
- function test_kernel_local_snapshot ()
- {
- diag "Test local kernel snapshots"
-@@ -241,6 +235,9 @@ fi
-
- skip $isroot "Root access is needed. Skipping all kernel snapshot tests." $NUM_TESTS ||
- {
-+
-+ validate_lttng_modules_present
-+
- start_lttng_sessiond
-
- #tests=( test_kernel_1000_local_snapshots )
-diff --git a/tests/regression/tools/snapshots/test_kernel_streaming b/tests/regression/tools/snapshots/test_kernel_streaming
-index 7b96ef270..1d97519aa 100755
---- a/tests/regression/tools/snapshots/test_kernel_streaming
-+++ b/tests/regression/tools/snapshots/test_kernel_streaming
-@@ -29,12 +29,6 @@ NUM_TESTS=61
-
- source $TESTDIR/utils/utils.sh
-
--# LTTng kernel modules check
--out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
--if [ -z "$out" ]; then
-- BAIL_OUT "LTTng modules not detected."
--fi
--
- function snapshot_add_output ()
- {
- local sess_name=$1
-@@ -169,6 +163,8 @@ fi
-
- skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
- {
-+ validate_lttng_modules_present
-+
- start_lttng_relayd "-o $TRACE_PATH"
- start_lttng_sessiond
-
-diff --git a/tests/regression/tools/streaming/test_kernel b/tests/regression/tools/streaming/test_kernel
-index d54bcedf5..6bb23d9f5 100755
---- a/tests/regression/tools/streaming/test_kernel
-+++ b/tests/regression/tools/streaming/test_kernel
-@@ -28,12 +28,6 @@ NUM_TESTS=10
-
- source $TESTDIR/utils/utils.sh
-
--# LTTng kernel modules check
--out=`ls /lib/modules/$(uname -r)/extra | grep lttng`
--if [ -z "$out" ]; then
-- BAIL_OUT "LTTng modules not detected."
--fi
--
- function lttng_create_session_uri
- {
- # Create session with default path
-@@ -80,6 +74,8 @@ fi
-
- skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
- {
-+ validate_lttng_modules_present
-+
- start_lttng_relayd "-o $TRACE_PATH"
- start_lttng_sessiond
-
-diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh
-index af63824ce..26e59e383 100644
---- a/tests/utils/utils.sh
-+++ b/tests/utils/utils.sh
-@@ -125,6 +125,16 @@ function conf_proc_count()
- echo
- }
-
-+# Check if base lttng-modules are present.
-+# Bail out on failure
-+function validate_lttng_modules_present ()
-+{
-+ modprobe -n lttng-tracer 2>/dev/null
-+ if [ $? -ne 0 ]; then
-+ BAIL_OUT "LTTng modules not detected."
-+ fi
-+}
-+
- function enable_kernel_lttng_event
- {
- local withtap="$1"
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
deleted file mode 100644
index 30aa66b2c..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 92f93238f1df005aadc98e105c0dd0e04a5955a7 Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Mon, 25 Mar 2019 14:24:51 -0400
-Subject: [2/2] tests: check for lttng-modules presence
-
-Upstream-Status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae]
-Backported to 2.11 and 2.10
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
----
- tests/regression/tools/notification/test_notification_kernel | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/regression/tools/notification/test_notification_kernel b/tests/regression/tools/notification/test_notification_kernel
-index 6d7f256ae..e7368df26 100755
---- a/tests/regression/tools/notification/test_notification_kernel
-+++ b/tests/regression/tools/notification/test_notification_kernel
-@@ -108,6 +108,7 @@ function kernel_test
- }
-
- if [ "$(id -u)" == "0" ]; then
-+ validate_lttng_modules_present
- kernel_test
- else
- # Kernel tests are skipped.
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
deleted file mode 100644
index a3362ea24..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
+++ /dev/null
@@ -1,347 +0,0 @@
-From 10e8001ad876d8cb3b5a17c7492e713bbc047975 Mon Sep 17 00:00:00 2001
-From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-Date: Thu, 28 Mar 2019 18:31:29 -0400
-Subject: [PATCH] Fix: getgrnam is not MT-Safe, use getgrnam_r
-
-Running the test suite under a Yocto musl build resulted in musl
-coredump due to double freeing.
-
-We get the following backtraces:
-
-0 a_crash () at ./arch/x86_64/atomic_arch.h:108
-1 unmap_chunk (self=<optimized out>) at src/malloc/malloc.c:515
-2 free (p=<optimized out>) at src/malloc/malloc.c:526
-3 0x00007f46d9dc3849 in __getgrent_a (f=f@entry=0x7f46d9d1f7e0, gr=gr@entry=0x7f46d9e24460 <gr>, line=line@entry=0x7f46d9e26058 <line>, size=size@entry=0x7f46d92db550, mem=mem@entry=0x7f46d9e26050 <mem>, nmem=nmem@entry=0x7f46d92db558, res=0x7f46d92db548) at src/passwd/getgrent_a.c:45
-4 0x00007f46d9dc2e6b in __getgr_a (name=0x487242 "tracing", gid=gid@entry=0, gr=gr@entry=0x7f46d9e24460 <gr>, buf=buf@entry=0x7f46d9e26058 <line>, size=size@entry=0x7f46d92db550, mem=mem@entry=0x7f46d9e26050 <mem>, nmem=0x7f46d92db558, res=0x7f46d92db548) at src/passwd/getgr_a.c:30
-5 0x00007f46d9dc3733 in getgrnam (name=<optimized out>) at src/passwd/getgrent.c:37
-6 0x0000000000460b29 in utils_get_group_id (name=<optimized out>) at ../../../lttng-tools-2.10.6/src/common/utils.c:1241
-7 0x000000000044ee69 in thread_manage_health (data=<optimized out>) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/main.c:4115
-8 0x00007f46d9de1541 in start (p=<optimized out>) at src/thread/pthread_create.c:195
-9 0x00007f46d9dee661 in __clone () at src/thread/x86_64/clone.s:22
-
-From another run:
-
-0 a_crash () at ./arch/x86_64/atomic_arch.h:108
-1 unmap_chunk (self=<optimized out>) at src/malloc/malloc.c:515
-2 free (p=<optimized out>) at src/malloc/malloc.c:526
-3 0x00007f5abc210849 in __getgrent_a (f=f@entry=0x7f5abc2733e0, gr=gr@entry=0x7f5abc271460 <gr>, line=line@entry=0x7f5abc273058 <line>, size=size@entry=0x7f5abaef5510, mem=mem@entry=0x7f5abc273050 <mem>, nmem=nmem@entry=0x7f5abaef5518, res=0x7f5abaef5508) at src/passwd/getgrent_a.c:45
-4 0x00007f5abc20fe6b in __getgr_a (name=0x487242 "tracing", gid=gid@entry=0, gr=gr@entry=0x7f5abc271460 <gr>, buf=buf@entry=0x7f5abc273058 <line>, size=size@entry=0x7f5abaef5510, mem=mem@entry=0x7f5abc273050 <mem>, nmem=0x7f5abaef5518, res=0x7f5abaef5508) at src/passwd/getgr_a.c:30
-5 0x00007f5abc210733 in getgrnam (name=<optimized out>) at src/passwd/getgrent.c:37
-6 0x0000000000460b29 in utils_get_group_id (name=<optimized out>) at ../../../lttng-tools-2.10.6/src/common/utils.c:1241
-7 0x000000000042dee4 in notification_channel_socket_create () at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:238
-8 init_thread_state (state=0x7f5abaef5560, handle=0x7f5abbf9be40) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:375
-9 thread_notification (data=0x7f5abbf9be40) at ../../../../lttng-tools-2.10.6/src/bin/lttng-sessiond/notification-thread.c:495
-10 0x00007f5abc22e541 in start (p=<optimized out>) at src/thread/pthread_create.c:195
-11 0x00007f5abc23b661 in __clone () at src/thread/x86_64/clone.s:22
-
-The problem was easily reproducible (~6 crash on ~300 runs). A prototype fix
-using mutex around the getgrnam yielded no crash in over 1000 runs. This
-patch yielded the same results as the prototype fix.
-
-Unfortunately we cannot rely on a mutex in liblttng-ctl since we cannot
-enforce the locking for the application using the lib.
-
-Use getgrnam_r instead.
-
-The previous implementation of utils_get_group_id returned the gid of
-the root group (0) on error/not found. lttng_check_tracing_group needs
-to know if an error/not found occured, returning the root group is not
-enough. We now return the gid via the passed parameter. The caller is
-responsible for either defaulting to the root group or propagating the
-error.
-
-We also do not want to warn when used in liblttng-ctl context. We might
-want to move the warning elsewhere in the future. For now, pass a bool
-if we need to warn or not.
-
-Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
-
-Upstream-Status: Submitted [https://patchwork.lttng.org/patch/2314703]
----
- src/bin/lttng-consumerd/health-consumerd.c | 10 ++-
- src/bin/lttng-relayd/health-relayd.c | 20 ++++--
- src/bin/lttng-sessiond/main.c | 24 +++++--
- src/bin/lttng-sessiond/notification-thread.c | 10 ++-
- src/common/utils.c | 75 +++++++++++++++++---
- src/common/utils.h | 4 +-
- src/lib/lttng-ctl/lttng-ctl.c | 8 +--
- 7 files changed, 122 insertions(+), 29 deletions(-)
-
-diff --git a/src/bin/lttng-consumerd/health-consumerd.c b/src/bin/lttng-consumerd/health-consumerd.c
-index 1e2f31e4..6045401a 100644
---- a/src/bin/lttng-consumerd/health-consumerd.c
-+++ b/src/bin/lttng-consumerd/health-consumerd.c
-@@ -184,8 +184,14 @@ void *thread_manage_health(void *data)
- is_root = !getuid();
- if (is_root) {
- /* lttng health client socket path permissions */
-- ret = chown(health_unix_sock_path, 0,
-- utils_get_group_id(tracing_group_name));
-+ gid_t gid;
-+
-+ ret = utils_get_group_id(tracing_group_name, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group. */
-+ }
-+
-+ ret = chown(health_unix_sock_path, 0, gid);
- if (ret < 0) {
- ERR("Unable to set group on %s", health_unix_sock_path);
- PERROR("chown");
-diff --git a/src/bin/lttng-relayd/health-relayd.c b/src/bin/lttng-relayd/health-relayd.c
-index ba996621..962e88c4 100644
---- a/src/bin/lttng-relayd/health-relayd.c
-+++ b/src/bin/lttng-relayd/health-relayd.c
-@@ -105,8 +105,14 @@ static int create_lttng_rundir_with_perm(const char *rundir)
- int is_root = !getuid();
-
- if (is_root) {
-- ret = chown(rundir, 0,
-- utils_get_group_id(tracing_group_name));
-+ gid_t gid;
-+
-+ ret = utils_get_group_id(tracing_group_name, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group.*/
-+ }
-+
-+ ret = chown(rundir, 0, gid);
- if (ret < 0) {
- ERR("Unable to set group on %s", rundir);
- PERROR("chown");
-@@ -256,8 +262,14 @@ void *thread_manage_health(void *data)
- is_root = !getuid();
- if (is_root) {
- /* lttng health client socket path permissions */
-- ret = chown(health_unix_sock_path, 0,
-- utils_get_group_id(tracing_group_name));
-+ gid_t gid;
-+
-+ ret = utils_get_group_id(tracing_group_name, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group */
-+ }
-+
-+ ret = chown(health_unix_sock_path, 0, gid);
- if (ret < 0) {
- ERR("Unable to set group on %s", health_unix_sock_path);
- PERROR("chown");
-diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c
-index fa6fa483..49307064 100644
---- a/src/bin/lttng-sessiond/main.c
-+++ b/src/bin/lttng-sessiond/main.c
-@@ -4112,8 +4112,14 @@ static void *thread_manage_health(void *data)
-
- if (is_root) {
- /* lttng health client socket path permissions */
-- ret = chown(config.health_unix_sock_path.value, 0,
-- utils_get_group_id(config.tracing_group_name.value));
-+ gid_t gid;
-+
-+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group */
-+ }
-+
-+ ret = chown(config.health_unix_sock_path.value, 0, &gid);
- if (ret < 0) {
- ERR("Unable to set group on %s", config.health_unix_sock_path.value);
- PERROR("chown");
-@@ -5238,7 +5244,10 @@ static int set_permissions(char *rundir)
- int ret;
- gid_t gid;
-
-- gid = utils_get_group_id(config.tracing_group_name.value);
-+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group */
-+ }
-
- /* Set lttng run dir */
- ret = chown(rundir, 0, gid);
-@@ -5349,7 +5358,14 @@ static int set_consumer_sockets(struct consumer_data *consumer_data)
- goto error;
- }
- if (is_root) {
-- ret = chown(path, 0, utils_get_group_id(config.tracing_group_name.value));
-+ gid_t gid;
-+
-+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group */
-+ }
-+
-+ ret = chown(path, 0, gid);
- if (ret < 0) {
- ERR("Unable to set group on %s", path);
- PERROR("chown");
-diff --git a/src/bin/lttng-sessiond/notification-thread.c b/src/bin/lttng-sessiond/notification-thread.c
-index 92ac597f..18a264d9 100644
---- a/src/bin/lttng-sessiond/notification-thread.c
-+++ b/src/bin/lttng-sessiond/notification-thread.c
-@@ -235,8 +235,14 @@ int notification_channel_socket_create(void)
- }
-
- if (getuid() == 0) {
-- ret = chown(sock_path, 0,
-- utils_get_group_id(config.tracing_group_name.value));
-+ gid_t gid;
-+
-+ ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
-+ if (ret) {
-+ gid = 0; /* Default to root group. */
-+ }
-+
-+ ret = chown(sock_path, 0, gid);
- if (ret) {
- ERR("Failed to set the notification channel socket's group");
- ret = -1;
-diff --git a/src/common/utils.c b/src/common/utils.c
-index c0bb031e..778bc00f 100644
---- a/src/common/utils.c
-+++ b/src/common/utils.c
-@@ -1231,24 +1231,77 @@ size_t utils_get_current_time_str(const char *format, char *dst, size_t len)
- }
-
- /*
-- * Return the group ID matching name, else 0 if it cannot be found.
-+ * Return 0 on success and set *gid to the group_ID matching the passed name.
-+ * Else -1 if it cannot be found or an error occurred.
- */
- LTTNG_HIDDEN
--gid_t utils_get_group_id(const char *name)
-+int utils_get_group_id(const char *name, bool warn, gid_t *gid)
- {
-- struct group *grp;
-+ static volatile int warn_once;
-
-- grp = getgrnam(name);
-- if (!grp) {
-- static volatile int warn_once;
-+ int ret;
-+ long sys_len;
-+ size_t len;
-+ struct group grp;
-+ struct group *result;
-+ char *buffer = NULL;
-
-- if (!warn_once) {
-- WARN("No tracing group detected");
-- warn_once = 1;
-+ /* Get the system limit if it exists */
-+ sys_len = sysconf(_SC_GETGR_R_SIZE_MAX);
-+ if (sys_len == -1) {
-+ len = 1024;
-+ } else {
-+ len = (size_t) sys_len;
-+ }
-+
-+ buffer = malloc(len);
-+ if (!buffer) {
-+ PERROR("getgrnam_r malloc");
-+ ret = -1;
-+ goto error;
-+ }
-+
-+ while ((ret = getgrnam_r(name, &grp, buffer, len, &result)) == ERANGE)
-+ {
-+ /* Buffer is not big enough, increase its size. */
-+ size_t new_len = 2 * len;
-+ char *new_buffer = NULL;
-+ if (new_len < len) {
-+ ERR("getgrnam_r buffer size overflow");
-+ ret = -1;
-+ goto error;
-+ }
-+ len = new_len;
-+ new_buffer = realloc(buffer, len);
-+ if (!new_buffer) {
-+ PERROR("getgrnam_r realloc");
-+ ret = -1;
-+ goto error;
- }
-- return 0;
-+ buffer = new_buffer;
-+ }
-+ if (ret != 0) {
-+ PERROR("getgrnam_r");
-+ ret = -1;
-+ goto error;
-+ }
-+
-+ /* Group not found. */
-+ if (!result) {
-+ ret = -1;
-+ goto error;
-+ }
-+
-+ *gid = result->gr_gid;
-+ ret = 0;
-+
-+error:
-+ free(buffer);
-+ if (ret && warn && !warn_once) {
-+ WARN("No tracing group detected");
-+ warn_once = 1;
- }
-- return grp->gr_gid;
-+ return ret;
- }
-
- /*
-diff --git a/src/common/utils.h b/src/common/utils.h
-index 18f19ef1..9c72431d 100644
---- a/src/common/utils.h
-+++ b/src/common/utils.h
-@@ -22,6 +22,8 @@
- #include <unistd.h>
- #include <stdint.h>
- #include <getopt.h>
-+#include <stdbool.h>
-+#include <sys/types.h>
-
- #define KIBI_LOG2 10
- #define MEBI_LOG2 20
-@@ -52,7 +54,7 @@ int utils_get_count_order_u64(uint64_t x);
- char *utils_get_home_dir(void);
- char *utils_get_user_home_dir(uid_t uid);
- size_t utils_get_current_time_str(const char *format, char *dst, size_t len);
--gid_t utils_get_group_id(const char *name);
-+int utils_get_group_id(const char *name, bool warn, gid_t *gid);
- char *utils_generate_optstring(const struct option *long_options,
- size_t opt_count);
- int utils_create_lock_file(const char *filepath);
-diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c
-index 2d84aad9..561b0bcf 100644
---- a/src/lib/lttng-ctl/lttng-ctl.c
-+++ b/src/lib/lttng-ctl/lttng-ctl.c
-@@ -208,15 +208,13 @@ end:
- LTTNG_HIDDEN
- int lttng_check_tracing_group(void)
- {
-- struct group *grp_tracing; /* no free(). See getgrnam(3) */
-- gid_t *grp_list;
-+ gid_t *grp_list, tracing_gid;
- int grp_list_size, grp_id, i;
- int ret = -1;
- const char *grp_name = tracing_group;
-
- /* Get GID of group 'tracing' */
-- grp_tracing = getgrnam(grp_name);
-- if (!grp_tracing) {
-+ if (utils_get_group_id(grp_name, false, &tracing_gid)) {
- /* If grp_tracing is NULL, the group does not exist. */
- goto end;
- }
-@@ -241,7 +239,7 @@ int lttng_check_tracing_group(void)
- }
-
- for (i = 0; i < grp_list_size; i++) {
-- if (grp_list[i] == grp_tracing->gr_gid) {
-+ if (grp_list[i] == tracing_gid) {
- ret = 1;
- break;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
index dbb18820a..eaa2e7b29 100755
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
@@ -3,4 +3,4 @@
# test plan to raise ERRORs; this is just noise.
makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD"
make -k -t all >/dev/null 2>&1
-exec make -k -s $makeargs check 2>/dev/null
+exec make -k -s $makeargs check 2>/dev/null | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g'
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
index a3fabb20e..469ad111c 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \
DEPENDS = "liburcu popt libxml2 util-linux"
RDEPENDS_${PN} = "libgcc"
-RDEPENDS_${PN}-ptest += "make perl bash gawk ${PN} babeltrace procps perl-module-overloading coreutils util-linux kmod"
+RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
# babelstats.pl wants getopt-long
@@ -32,17 +32,12 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
file://x32.patch \
file://run-ptest \
file://lttng-sessiond.service \
- file://0001-Fix-tests-link-libpause_consumer-on-liblttng-ctl.patch \
- file://0002-Fix-test-skip-test_getcpu_override-on-single-thread-.patch \
- file://0003-Fix-test-unit-the-tree-origin-can-be-a-symlink-itsel.patch \
- file://0004-Skip-when-testapp-is-not-present.patch\
- file://0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch \
- file://0006-Tests-check-for-lttng-modules-presence.patch \
- file://0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch \
+ file://0001-Skip-when-testapp-is-not-present.patch \
+ file://0002-Fix-check-for-lttng-modules-presence-before-testing.patch \
"
-SRC_URI[md5sum] = "e88c521b5da6bb48a8187af633336ecc"
-SRC_URI[sha256sum] = "f05df52bbebf8ce88d1b29e9e98cfc957d2ed738a345118018237ebdb581537c"
+SRC_URI[md5sum] = "e7804d10e4cade381e241601f6047373"
+SRC_URI[sha256sum] = "ed71ebe00c5d985c74f30e97b614e909573cbd9276c85e05d9557a0b817a1312"
inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch
deleted file mode 100644
index 5c4bd3672..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 5de7c318804a7b1edce8562d4891b4c74aac0677 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 20 Mar 2019 11:07:35 -0400
-Subject: [PATCH] compat: work around broken _SC_NPROCESSORS_CONF on MUSL libc
-
-On MUSL libc the _SC_NPROCESSORS_CONF sysconf will report the number of
-CPUs allocated to the task based on the affinity mask instead of the
-total number of CPUs configured on the system.
-
-Upstream-Status: Accepted [1] [5de7c318804a7b1edce8562d4891b4c74aac0677]
-[1] https://lists.lttng.org/pipermail/lttng-dev/2019-March/028616.html
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- libringbuffer/smp.c | 66 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 66 insertions(+)
-
-diff --git a/libringbuffer/smp.c b/libringbuffer/smp.c
-index 9e7114be..656a75da 100644
---- a/libringbuffer/smp.c
-+++ b/libringbuffer/smp.c
-@@ -2,6 +2,7 @@
- * libringbuffer/smp.c
- *
- * Copyright (C) 2011-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-+ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
-@@ -26,6 +27,7 @@
-
- int __num_possible_cpus;
-
-+#if (defined(__GLIBC__) || defined( __UCLIBC__))
- void _get_num_possible_cpus(void)
- {
- int result;
-@@ -43,3 +45,67 @@ void _get_num_possible_cpus(void)
- return;
- __num_possible_cpus = result;
- }
-+
-+#else
-+
-+/*
-+ * The MUSL libc implementation of the _SC_NPROCESSORS_CONF sysconf does not
-+ * return the number of configured CPUs in the system but relies on the cpu
-+ * affinity mask of the current task.
-+ *
-+ * So instead we use a strategy similar to GLIBC's, counting the cpu
-+ * directories in "/sys/devices/system/cpu" and fallback on the value from
-+ * sysconf if it fails.
-+ */
-+
-+#include <dirent.h>
-+#include <limits.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <sys/types.h>
-+
-+#define __max(a,b) ((a)>(b)?(a):(b))
-+
-+void _get_num_possible_cpus(void)
-+{
-+ int result, count = 0;
-+ DIR *cpudir;
-+ struct dirent *entry;
-+
-+ cpudir = opendir("/sys/devices/system/cpu");
-+ if (cpudir == NULL)
-+ goto end;
-+
-+ /*
-+ * Count the number of directories named "cpu" followed by and
-+ * integer. This is the same strategy as glibc uses.
-+ */
-+ while ((entry = readdir(cpudir))) {
-+ if (entry->d_type == DT_DIR &&
-+ strncmp(entry->d_name, "cpu", 3) == 0) {
-+
-+ char *endptr;
-+ unsigned long cpu_num;
-+
-+ cpu_num = strtoul(entry->d_name + 3, &endptr, 10);
-+ if ((cpu_num < ULONG_MAX) && (endptr != entry->d_name + 3)
-+ && (*endptr == '\0')) {
-+ count++;
-+ }
-+ }
-+ }
-+
-+end:
-+ /*
-+ * Get the sysconf value as a fallback. Keep the highest number.
-+ */
-+ result = __max(sysconf(_SC_NPROCESSORS_CONF), count);
-+
-+ /*
-+ * If both methods failed, don't store the value.
-+ */
-+ if (result < 1)
-+ return;
-+ __num_possible_cpus = result;
-+}
-+#endif
---
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb
index d54610412..a8eebb223 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.3.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb
@@ -27,11 +27,10 @@ PE = "2"
SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
file://lttng-ust-doc-examples-disable.patch \
- file://0001-compat-work-around-broken-_SC_NPROCESSORS_CONF-on-MU.patch \
"
-SRC_URI[md5sum] = "ffcfa8c1ba9a52f002d240e936e9afa2"
-SRC_URI[sha256sum] = "9e8420f90d5f963f7aa32bc6d44adc1e491136f687c69ffb7a3075d33b40852b"
+SRC_URI[md5sum] = "19916ff0dec23c90f985586a8cbd1fd2"
+SRC_URI[sha256sum] = "75d5b4bb205c444a343e1297e14cd3a2503fc645a26710531cbd319c72c1a967"
CVE_PRODUCT = "ust"
diff --git a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index 97c58c523..460e05a44 100644
--- a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -12,7 +12,7 @@ S = "${WORKDIR}"
do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot"
do_compile[depends] += "virtual/kernel:do_compile_kernelmodules"
-DEPENDS += "bc-native"
+DEPENDS += "bc-native bison-native"
EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index 54de72266..c5348b320 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,7 +1,7 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "90ff34ac0506f0d5440393a4c78565f6aaf9b726"
-PV = "4.0"
+SRCREV = "984d6d1696ed06626b07cb65ab55d6ae0ece1131"
+PV = "4.1"
SRC_URI = "git://sourceware.org/git/systemtap.git \
file://configure-allow-to-disable-libvirt.patch \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb
index 7b7de5849..9076d9460 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb
+++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2019.06.03.bb
@@ -5,8 +5,8 @@ LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[md5sum] = "b5eb2d0cc23f5e495a59405e34ce437f"
-SRC_URI[sha256sum] = "3a4e6f7006599bc5764f86e1e86422710da13ad80e0242147b61c6855ebc915f"
+SRC_URI[md5sum] = "4b5ba3f089db7fdb7b9daae6a7c1f2cb"
+SRC_URI[sha256sum] = "cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf"
inherit bin_package allarch
@@ -22,8 +22,9 @@ do_install() {
# Install static regulatory DB in /lib/firmware for kernel to load.
# This requires Linux kernel >= v4.15.
-# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe.
-PACKAGES =+ "${PN}-static"
+# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass
+# (in meta-networking) in kernel's recipe.
+PACKAGES = "${PN}-static ${PN}"
RCONFLICTS_${PN} = "${PN}-static"
FILES_${PN}-static = " \
@@ -32,7 +33,8 @@ FILES_${PN}-static = " \
"
# Native users might want to use the source of regulatory DB.
-# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass.
+# This is for example used by Linux kernel <= v4.14 and
+# kernel_wireless_regdb.bbclass in meta-networking.
do_install_append_class-native() {
install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt
}
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb
index 76cc9627e..2c63ee752 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
"
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0eec0d657a07927795809c8f87fb76ca"
-SRC_URI[sha256sum] = "3cdc3a93a6427a26d8efab4ada2152e64dd89140d981f6ffa003e85be707aedf"
+SRC_URI[md5sum] = "e6d429dbdcfaa0f034d907fa6dc3735e"
+SRC_URI[sha256sum] = "488373aef5396682f3a411a6d064ae0ad196b9c96269d0bb912fbdeec94b994b"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb
index 2d9cc06f5..b94fc5cee 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb
@@ -21,8 +21,8 @@ LIC_FILES_CHKSUM = "\
"
SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2"
-SRC_URI[md5sum] = "d0f87211d1560f2c07c8eae4297bc4f6"
-SRC_URI[sha256sum] = "7f77df171685ccec918268477623a39db4d9f32d5dc5e76874ef2467a2405994"
+SRC_URI[md5sum] = "e0caffbd849c51ed81751378f56cb563"
+SRC_URI[sha256sum] = "161772303da521abbbf1d91f63b470c4791392d5728f2192a42d71292078f907"
DEPENDS += "alsa-lib"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb
index fef79d9c9..fef79d9c9 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb
index 96d54e593..03b5c8de3 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb
@@ -21,8 +21,8 @@ PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook
# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
-SRC_URI[md5sum] = "54d6f9b483144823d0fc0c26e8cea028"
-SRC_URI[sha256sum] = "fd9bf528922b3829a91913b89a1858c58a0b24271a7b5f529923aa9ea12fa4cf"
+SRC_URI[md5sum] = "5ed21c3e296c06046cc986e732f625f6"
+SRC_URI[sha256sum] = "5ddf2cbddb4bd1a4a2a6492a09c25898b08c3ad64893c3655be14194cf0a213a"
# On build machines with python-docutils (not python3-docutils !!) installed
# rst2man (not rst2man.py) is detected and compile fails with
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
index 994a792de..147388d9b 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
@@ -63,6 +63,7 @@ PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
+PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
diff --git a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch b/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch
deleted file mode 100644
index db742dea2..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8a156d1725ecd03f2e8cdc8874e081dda2d3b43d Mon Sep 17 00:00:00 2001
-From: Aurelien Jarno <aurelien@aurel32.net>
-Date: Sun, 15 Apr 2018 00:49:55 +0200
-Subject: [PATCH] gstconfig.h.in: initial RISC-V support
-
-RISC-V supports unaligned accesses, but these might run extremely slowly
-depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS
-to 0 on this architecture.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=795271
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Accepted [1.15.1 - https://bugzilla.gnome.org/show_bug.cgi?id=795271]
----
- gst/gstconfig.h.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in
-index 6351c04da..33dfed1f6 100644
---- a/gst/gstconfig.h.in
-+++ b/gst/gstconfig.h.in
-@@ -104,7 +104,7 @@
- * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6
- * https://software.intel.com/en-us/node/583402
- */
--#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__)
-+#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv)
- # define GST_HAVE_UNALIGNED_ACCESS 0
- #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__)
- # define GST_HAVE_UNALIGNED_ACCESS 1
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
index 75ac9b75c..f2a3afbbf 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb
@@ -6,11 +6,11 @@ DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-
SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \
file://0001-Make-player-examples-installable.patch \
- file://gst-player.desktop"
+ file://gst-player.desktop \
+ "
-SRCREV = "2b3fc175c252cd5a537e4b2864b572a8372473d6"
-PV = "0.0.1+git${SRCPV}"
-UPSTREAM_CHECK_COMMITS = "1"
+SRCREV = "d953c127c1146b50d5676618299933950685dcd7"
+PV = "1.16.0"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb
index a4b3b465c..1f4370619 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb
@@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \
file://0001-connect-has-a-different-signature-on-musl.patch \
"
-SRC_URI[md5sum] = "1f4fc5308695adfdc11d13046aa4888c"
-SRC_URI[sha256sum] = "18dccca94bdc0bab3cddb07817bd280df7ab4abbec9a83b92620367a22d955c7"
+SRC_URI[md5sum] = "c5c57f3325a2e62aae4a8ec4931f7711"
+SRC_URI[sha256sum] = "9331ae48a173a048243539730cc7a88607777762dea4aebbc3ab55981e68d6c9"
DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
RRECOMMENDS_${PN} = "git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
index 1d99ad125..11571aefa 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch
@@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac
index 22ede88..ef3c050 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -305,6 +305,12 @@ else
+@@ -355,6 +355,12 @@ else
emblibav_configure_args="$emblibav_configure_args --enable-gpl"
fi
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
index b80d07394..f182715bd 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch
@@ -22,8 +22,8 @@ diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure
index 4a5e477..727818e 100755
--- a/gst-libs/ext/libav/configure
+++ b/gst-libs/ext/libav/configure
-@@ -4295,6 +4295,7 @@ elif enabled arm; then
- elif check_arm_arch 6Z; then echo armv6z
+@@ -4745,6 +4745,7 @@ elif enabled arm; then
+ elif check_arm_arch 6KZ; then echo armv6zk
elif check_arm_arch 6ZK; then echo armv6zk
elif check_arm_arch 6T2; then echo armv6t2
+ elif check_arm_arch EXT_IDIV; then echo armv7ve
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
index 7a0b44888..90d042b31 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch
@@ -17,7 +17,7 @@ Index: gst-libav-1.10.1/gst-libs/ext/libav/configure
===================================================================
--- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure
+++ gst-libav-1.10.1/gst-libs/ext/libav/configure
-@@ -5269,12 +5269,9 @@ elif enabled mips; then
+@@ -5650,12 +5650,9 @@ elif enabled mips; then
# Enable minimum ISA based on selected options
if enabled mips64; then
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
index 36abf8607..4b8535654 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
@@ -11,7 +11,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
--- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c
+++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c
-@@ -2020,7 +2020,11 @@ decode_intra_mb:
+@@ -2057,7 +2057,11 @@ decode_intra_mb:
// In deblocking, the quantizer is 0
h->cur_pic.qscale_table[mb_xy] = 0;
// All coeffs are present
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
index 5c9c372f0..d94c3215d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
@@ -19,8 +19,8 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz
file://0001-configure-check-for-armv7ve-variant.patch \
file://0001-fix-host-contamination.patch \
"
-SRC_URI[md5sum] = "58342db11dbb201a66a62577dcf7bab5"
-SRC_URI[sha256sum] = "dfd78591901df7853eab7e56a86c34a1b03635da0d3d56b89aa577f1897865da"
+SRC_URI[md5sum] = "e3a201a45985ddc1327cd496046ca818"
+SRC_URI[sha256sum] = "dfac119043a9cfdcacd7acde77f674ab172cf2537b5812be52f49e9cddc53d9a"
S = "${WORKDIR}/gst-libav-${PV}"
@@ -28,6 +28,11 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz"
inherit autotools pkgconfig upstream-version-is-even gtk-doc
+# Disable documentation for now as it is failing with gtk-doc 1.30:
+# gst-libav-plugins-docs.sgml:38: element include: XInclude error:
+# could not load xml/tree_index.sgml, and no fallback was found
+GTKDOC_ENABLED = "False"
+
# CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time,
# compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
# libav copy included in the gst-libav package.
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb
index 39ca1e385..d94bad36f 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb
@@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
SRC_URI = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
-SRC_URI[md5sum] = "81e67ea03be607b7c548ce911598d754"
-SRC_URI[sha256sum] = "969870e75c1f75c96f8783530e2c2932fc3afbfd976eb0c466f51dae268ea3d4"
+SRC_URI[md5sum] = "c6f8554513980682099a2a9832250b01"
+SRC_URI[sha256sum] = "fef77cddc02784608451c46b9def880b63230a246decf8900f2da2ed54a8af4a"
S = "${WORKDIR}/gst-omx-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
deleted file mode 100644
index 05b991a8f..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 7d8e8b8bcce34d01fc7ad7285b4eb17ad8949399 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Wed, 11 Apr 2018 11:06:39 +0800
-Subject: [PATCH] Makefile.am: don't hardcode libtool name when running
- introspection tools
-
-Upstream-Status: Pending [review on oe-core list]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- gst-libs/gst/insertbin/Makefile.am | 2 +-
- gst-libs/gst/mpegts/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am
-index 1f8ea30..4b98ef6 100644
---- a/gst-libs/gst/insertbin/Makefile.am
-+++ b/gst-libs/gst/insertbin/Makefile.am
-@@ -45,7 +45,7 @@ GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GS
- --library=libgstinsertbin-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am
-index f264e33..9934a4d 100644
---- a/gst-libs/gst/mpegts/Makefile.am
-+++ b/gst-libs/gst/mpegts/Makefile.am
-@@ -82,7 +82,7 @@ GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
- --library=libgstmpegts-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-video-@GST_API_VERSION@ \
- --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \
---
-2.7.4
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
index 357fd7800..32261279a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch
@@ -16,7 +16,7 @@ diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index b93255f..49f145a 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
-@@ -93,7 +93,7 @@
+@@ -97,7 +97,7 @@
#include <gst/gst.h>
#include <gst/glib-compat-private.h>
#include <sys/ioctl.h>
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
index ad8632989..25861b6b9 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
@@ -22,7 +22,7 @@ Index: gst-plugins-bad-1.12.3/configure.ac
===================================================================
--- gst-plugins-bad-1.12.3.orig/configure.ac
+++ gst-plugins-bad-1.12.3/configure.ac
-@@ -2139,6 +2139,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom
+@@ -1202,6 +1202,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom
])
dnl *** Curl ***
@@ -38,7 +38,7 @@ Index: gst-plugins-bad-1.12.3/configure.ac
translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
-@@ -2161,12 +2170,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin]
+@@ -1224,12 +1233,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin]
])
AC_SUBST(CURL_CFLAGS)
AC_SUBST(CURL_LIBS)
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
index 20c9ffcd8..2d5389d95 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch
@@ -27,7 +27,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
===================================================================
--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp
+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
-@@ -476,7 +476,7 @@ gst_decklink_mode_get_structure (GstDeck
+@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck
"pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
"interlace-mode", G_TYPE_STRING,
mode->interlaced ? "interleaved" : "progressive",
@@ -36,7 +36,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
if (input && mode->interlaced) {
if (mode->tff)
-@@ -489,16 +489,16 @@ gst_decklink_mode_get_structure (GstDeck
+@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck
case bmdFormat8BitYUV: /* '2vuy' */
gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
"colorimetry", G_TYPE_STRING, mode->colorimetry,
@@ -61,7 +61,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp
===================================================================
--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp
+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp
-@@ -322,7 +322,7 @@ gst_decklink_audio_src_set_caps (GstBase
+@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase
g_mutex_unlock (&self->input->lock);
if (videosrc) {
@@ -74,7 +74,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp
===================================================================
--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp
+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp
-@@ -163,7 +163,7 @@ reset_framerate (GstCapsFeatures * featu
+@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu
gpointer user_data)
{
gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
index 5ce57714e..73681f100 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch
@@ -14,7 +14,7 @@ diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparser
index fd16ee0..ddb890c 100644
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
-@@ -1729,7 +1729,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
+@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size,
GstVC1SeqLayer * seqlayer)
{
guint32 tmp;
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb
index 23d093d47..f676b1f6d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb
@@ -7,10 +7,9 @@ SRC_URI = " \
file://avoid-including-sys-poll.h-directly.patch \
file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
- file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
"
-SRC_URI[md5sum] = "5d20a91d027708abcf924f6c1279dd25"
-SRC_URI[sha256sum] = "910b4e0e2e897e8b6d06767af1779d70057c309f67292f485ff988d087aa0de5"
+SRC_URI[md5sum] = "e9e562d86c1527c44d904500dd35e326"
+SRC_URI[sha256sum] = "22139de35626ada6090bdfa3423b27b7fc15a0198331d25c95e6b12cb1072b05"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
@@ -69,6 +68,7 @@ PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdrea
PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg"
PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump"
PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc"
+PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,usrsctp"
PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2"
PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
@@ -84,10 +84,10 @@ PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice"
PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing"
# these plugins have no corresponding library in OE-core or meta-openembedded:
-# openni2 winks direct3d directsound winscreencap acm apple_media iqa
-# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa
+# openni2 winks direct3d directsound winscreencap apple_media iqa
+# android_media avc bs2b chromaprint dts fdkaac gme gsm kate ladspa
# lv2 mpeg2enc mplex musepack nvenc ofa opensles soundtouch
-# spandsp spc teletextdec vdpau wasapi x265 zbar
+# spandsp teletextdec vdpau wasapi wpe x265 zbar
EXTRA_OECONF += " \
--enable-decklink \
@@ -96,15 +96,12 @@ EXTRA_OECONF += " \
--enable-ipcpipeline \
--enable-netsim \
--enable-shm \
- --enable-vcd \
- --disable-acm \
--disable-android_media \
--disable-aom \
--disable-apple_media \
--disable-avc \
--disable-bs2b \
--disable-chromaprint \
- --disable-daala \
--disable-direct3d \
--disable-directsound \
--disable-dts \
@@ -125,7 +122,6 @@ EXTRA_OECONF += " \
--disable-opensles \
--disable-soundtouch \
--disable-spandsp \
- --disable-spc \
--disable-srt \
--disable-teletextdec \
--disable-vdpau \
@@ -133,6 +129,7 @@ EXTRA_OECONF += " \
--disable-wildmidi \
--disable-winks \
--disable-winscreencap \
+ --disable-wpe \
--disable-x265 \
--disable-zbar \
${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
deleted file mode 100644
index bcada34c4..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 7022b87353a37b78bae7cf0106a4e47913bb5c97 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 5 Apr 2018 10:15:08 +0800
-Subject: [PATCH] Makefile.am: don't hardcode libtool name when running
- introspection tools
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- gst-libs/gst/allocators/Makefile.am | 2 +-
- gst-libs/gst/app/Makefile.am | 2 +-
- gst-libs/gst/audio/Makefile.am | 2 +-
- gst-libs/gst/gl/Makefile.am | 2 +-
- gst-libs/gst/pbutils/Makefile.am | 2 +-
- gst-libs/gst/riff/Makefile.am | 2 +-
- gst-libs/gst/rtp/Makefile.am | 2 +-
- gst-libs/gst/rtsp/Makefile.am | 2 +-
- gst-libs/gst/sdp/Makefile.am | 2 +-
- gst-libs/gst/tag/Makefile.am | 2 +-
- gst-libs/gst/video/Makefile.am | 2 +-
- 11 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
-index 1957d28..1ecc950 100644
---- a/gst-libs/gst/allocators/Makefile.am
-+++ b/gst-libs/gst/allocators/Makefile.am
-@@ -42,7 +42,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstallocators-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg-export gstreamer-allocators-@GST_API_VERSION@ \
- --output $@ \
-diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
-index 52f6ad3..5bfd606 100644
---- a/gst-libs/gst/app/Makefile.am
-+++ b/gst-libs/gst/app/Makefile.am
-@@ -56,7 +56,7 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
- --library=libgstapp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-app-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
-index 2922245..7fb65f2 100644
---- a/gst-libs/gst/audio/Makefile.am
-+++ b/gst-libs/gst/audio/Makefile.am
-@@ -184,7 +184,7 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
- --include=GstTag-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-audio-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
-index 4e77e8c..3276d7f 100644
---- a/gst-libs/gst/gl/Makefile.am
-+++ b/gst-libs/gst/gl/Makefile.am
-@@ -193,7 +193,7 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
- --include=GstVideo-@GST_API_VERSION@ \
-- --libtool="${LIBTOOL}" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg gstreamer-video-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
-index ae51993..35a6e44 100644
---- a/gst-libs/gst/pbutils/Makefile.am
-+++ b/gst-libs/gst/pbutils/Makefile.am
-@@ -103,7 +103,7 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
- --include=GstTag-@GST_API_VERSION@ \
- --include=GstVideo-@GST_API_VERSION@ \
- --include=GstAudio-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-tag-@GST_API_VERSION@ \
- --pkg gstreamer-video-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
-index fb53f06..e66ef4f 100644
---- a/gst-libs/gst/riff/Makefile.am
-+++ b/gst-libs/gst/riff/Makefile.am
-@@ -49,7 +49,7 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
- # --include=GstAudio-@GST_API_VERSION@ \
- # --include=GstTag-@GST_API_VERSION@ \
- # --include=Gst-@GST_API_VERSION@ \
--# --libtool="$(top_builddir)/libtool" \
-+# --libtool="$(LIBTOOL)" \
- # --pkg gstreamer-@GST_API_VERSION@ \
- # --pkg gstreamer-tag-@GST_API_VERSION@ \
- # --pkg gstreamer-audio-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
-index a6f971d..77ebeeb 100644
---- a/gst-libs/gst/rtp/Makefile.am
-+++ b/gst-libs/gst/rtp/Makefile.am
-@@ -69,7 +69,7 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
- --library=libgstrtp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-rtp-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
-index ceb07f4..db9d0fd 100644
---- a/gst-libs/gst/rtsp/Makefile.am
-+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -76,7 +76,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- --include=Gio-2.0 \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstSdp-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gio-2.0 \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-sdp-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
-index e197e9b..6e05cc7 100644
---- a/gst-libs/gst/sdp/Makefile.am
-+++ b/gst-libs/gst/sdp/Makefile.am
-@@ -34,7 +34,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- --library=libgstsdp-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg-export gstreamer-sdp-@GST_API_VERSION@ \
- --output $@ \
-diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
-index 0247c33..c86515b 100644
---- a/gst-libs/gst/tag/Makefile.am
-+++ b/gst-libs/gst/tag/Makefile.am
-@@ -66,7 +66,7 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
- --library=libgsttag-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-tag-@GST_API_VERSION@ \
-diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
-index 9fc1ccf..0f8455f 100644
---- a/gst-libs/gst/video/Makefile.am
-+++ b/gst-libs/gst/video/Makefile.am
-@@ -124,7 +124,7 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
- --library=libgstvideo-@GST_API_VERSION@.la \
- --include=Gst-@GST_API_VERSION@ \
- --include=GstBase-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg-export gstreamer-video-@GST_API_VERSION@ \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
index 2e1190ba0..08cbfb7c2 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
@@ -34,7 +34,7 @@ index 1ecc950..d6417ac 100644
+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--library=libgstallocators-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
- --libtool="$(LIBTOOL)" \
+ --libtool="${LIBTOOL}" \
@@ -63,7 +63,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
@@ -63,7 +63,7 @@ diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
index 7fb65f2..5379f79 100644
--- a/gst-libs/gst/audio/Makefile.am
+++ b/gst-libs/gst/audio/Makefile.am
-@@ -174,12 +174,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
+@@ -176,12 +176,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
--c-include "gst/audio/audio.h" \
@@ -80,7 +80,7 @@ index 7fb65f2..5379f79 100644
--library-path="$(top_builddir)/gst-libs/gst/tag/" \
--include=Gst-@GST_API_VERSION@ \
--include=GstBase-@GST_API_VERSION@ \
-@@ -208,8 +208,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+@@ -210,8 +210,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
--includedir=$(srcdir) \
--includedir=$(builddir) \
--includedir="$(top_builddir)/gst-libs/gst/tag/" \
@@ -95,7 +95,7 @@ diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index 3276d7f..0cdfe26 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
-@@ -186,9 +186,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@
+@@ -209,9 +209,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@
$(GST_PLUGINS_BASE_CFLAGS) \
$(GL_CFLAGS) \
--add-include-path="$(top_builddir)/gst-libs/gst/video/" \
@@ -107,7 +107,7 @@ index 3276d7f..0cdfe26 100644
--library=libgstgl-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--include=GstBase-@GST_API_VERSION@ \
-@@ -218,8 +218,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+@@ -241,8 +241,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
--includedir=$(srcdir) \
--includedir=$(builddir) \
--includedir="$(top_builddir)/gst-libs/gst/video/" \
@@ -117,7 +117,7 @@ index 3276d7f..0cdfe26 100644
+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
- CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
+ CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
index 35a6e44..49d6894 100644
--- a/gst-libs/gst/pbutils/Makefile.am
@@ -182,7 +182,7 @@ diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
index 77ebeeb..9aee788 100644
--- a/gst-libs/gst/rtp/Makefile.am
+++ b/gst-libs/gst/rtp/Makefile.am
-@@ -64,8 +64,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
+@@ -66,8 +66,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
--c-include "gst/rtp/rtp.h" \
-I$(top_builddir)/gst-libs \
-I$(top_srcdir)/gst-libs \
@@ -193,7 +193,7 @@ index 77ebeeb..9aee788 100644
--library=libgstrtp-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--include=GstBase-@GST_API_VERSION@ \
-@@ -92,8 +92,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+@@ -94,8 +94,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
--includedir=$(builddir) \
@@ -208,24 +208,17 @@ diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
index db9d0fd..79027cb 100644
--- a/gst-libs/gst/rtsp/Makefile.am
+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -71,7 +71,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
+@@ -71,8 +71,8 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
-I$(top_builddir)/gst-libs \
-I$(top_srcdir)/gst-libs \
--add-include-path=$(builddir)/../sdp \
- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
+- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
--library=libgstrtsp-@GST_API_VERSION@.la \
--include=Gio-2.0 \
--include=Gst-@GST_API_VERSION@ \
-@@ -101,7 +101,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
- --includedir=$(srcdir) \
- --includedir=$(builddir) \
- --includedir=$(builddir)/../sdp \
-- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
-+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
- $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
-
- CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
index 6e05cc7..c7cf514 100644
--- a/gst-libs/gst/sdp/Makefile.am
@@ -238,7 +231,7 @@ index 6e05cc7..c7cf514 100644
+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--library=libgstsdp-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
- --libtool="$(LIBTOOL)" \
+ --libtool="${LIBTOOL}" \
@@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
@@ -278,7 +271,7 @@ diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 0f8455f..8c9955c 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
-@@ -119,8 +119,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
+@@ -124,8 +124,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
--c-include "gst/video/video.h" \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
@@ -289,7 +282,7 @@ index 0f8455f..8c9955c 100644
--library=libgstvideo-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--include=GstBase-@GST_API_VERSION@ \
-@@ -147,8 +147,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
+@@ -152,8 +152,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
--includedir=$(builddir) \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
index aaeb611fe..97a0d68cf 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
@@ -15,10 +15,10 @@ diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
index 79027cb..2987e23 100644
--- a/gst-libs/gst/rtsp/Makefile.am
+++ b/gst-libs/gst/rtsp/Makefile.am
-@@ -79,7 +79,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
- --libtool="$(LIBTOOL)" \
+@@ -82,7 +82,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
--pkg gio-2.0 \
--pkg gstreamer-@GST_API_VERSION@ \
+ --pkg gstreamer-base-@GST_API_VERSION@ \
- --pkg gstreamer-sdp-@GST_API_VERSION@ \
--pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
--add-init-section="$(INTROSPECTION_INIT)" \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
new file mode 100644
index 000000000..6e53d2e8b
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
@@ -0,0 +1,32 @@
+From bec38a0c2e2958927c42b2f9ae939969b7c4a326 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <crg7475@mailbox.org>
+Date: Tue, 21 May 2019 14:01:11 +0200
+Subject: [PATCH] viv-fb: Make sure config.h is included
+
+This prevents build errors due to missing GST_API_* symbols
+
+Upstream-Status: Pending
+
+Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
+---
+ gst-libs/gst/gl/gl-prelude.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h
+index 05e1f6229..96ce5e685 100644
+--- a/gst-libs/gst/gl/gl-prelude.h
++++ b/gst-libs/gst/gl/gl-prelude.h
+@@ -22,6 +22,10 @@
+ #ifndef __GST_GL_PRELUDE_H__
+ #define __GST_GL_PRELUDE_H__
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #include <gst/gst.h>
+
+ #ifdef BUILDING_GST_GL
+--
+2.17.1
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
index c81fb0f6a..e8094f459 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
@@ -18,7 +18,7 @@ diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
index a4b2540..0ccaacd 100644
--- a/ext/gl/gstopengl.c
+++ b/ext/gl/gstopengl.c
-@@ -118,7 +118,7 @@ plugin_init (GstPlugin * plugin)
+@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin)
#endif
if (!gst_element_register (plugin, "glimagesink",
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch
deleted file mode 100644
index 45ba50750..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From a1b59ca6b1781442f37ffc1b697635db126b3a22 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Thu, 19 Jul 2018 10:30:54 +0200
-Subject: [PATCH] gl: Add switch for explicitely enabling/disabling GBM support
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833]
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- m4/gst-gl.m4 | 30 ++++++++++++++++++++++++++++--
- 1 file changed, 28 insertions(+), 2 deletions(-)
-
-diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4
-index 1e9724094..aca5295cc 100644
---- a/m4/gst-gl.m4
-+++ b/m4/gst-gl.m4
-@@ -117,6 +117,15 @@ AC_ARG_ENABLE([dispmanx],
- *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;;
- esac],[NEED_DISPMANX=auto])
-
-+AC_ARG_ENABLE([gbm],
-+ [ --enable-gbm Enable Mesa3D GBM support (requires EGL) @<:@default=auto@:>@],
-+ [case "${enableval}" in
-+ yes) NEED_GBM=yes ;;
-+ no) NEED_GBM=no ;;
-+ auto) NEED_GBM=auto ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;;
-+ esac],[NEED_GBM=auto])
-+
- AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb)
- save_CPPFLAGS="$CPPFLAGS"
- save_LIBS="$LIBS"
-@@ -172,15 +181,32 @@ case $host in
- AC_CHECK_LIB([EGL], [fbGetDisplay], [HAVE_VIV_FB_EGL=yes])
- fi
-
-- if test "x$HAVE_EGL" = "xyes"; then
-+ if test "x$NEED_GBM" != "xno"; then
-+ if test "x$HAVE_EGL" = "xyes"; then
- PKG_CHECK_MODULES(DRM, libdrm >= 2.4.55, HAVE_DRM=yes, HAVE_DRM=no)
- AC_SUBST(DRM_CFLAGS)
- AC_SUBST(DRM_LIBS)
-+ if test "x$NEED_GBM" = "xyes"; then
-+ if test "x$HAVE_DRM" = "xno"; then
-+ AC_MSG_ERROR([GBM support requested but libdrm is not available])
-+ fi
-+ if test "x$HAVE_GUDEV" = "xno"; then
-+ AC_MSG_ERROR([GBM support requested but gudev is not available])
-+ fi
-+ fi
- if test "x$HAVE_DRM" = "xyes" -a "x$HAVE_GUDEV" = "xyes"; then
- PKG_CHECK_MODULES(GBM, gbm, HAVE_GBM_EGL=yes, HAVE_GBM_EGL=no)
-+ if test "x$HAVE_GBM_EGL" = "xno" -a "x$NEED_GBM" = "xyes"; then
-+ AC_MSG_ERROR([GBM support requested but gbm library is not available])
-+ fi
- AC_SUBST(GBM_CFLAGS)
- AC_SUBST(GBM_LIBS)
-- fi
-+ fi
-+ elif test "x$NEED_GBM" = "xyes"; then
-+ AC_MSG_ERROR([GBM support requested but EGL is not available])
-+ else
-+ AC_MSG_NOTICE([GBM support requested but EGL is not available; not enabling GBM support])
-+ fi
- fi
-
- dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch
deleted file mode 100644
index 65d191a39..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 092aadfc1df69c46d920b0cd39f98d363d6988b3 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Thu, 19 Jul 2018 11:16:05 +0200
-Subject: [PATCH] gl: Add switches for explicitely enabling/disabling PNG and
- JPEG support
-
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833]
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- m4/gst-gl.m4 | 66 ++++++++++++++++++++++++++++++++++++----------------
- 1 file changed, 46 insertions(+), 20 deletions(-)
-
-diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4
-index 20b2233de..f8809981c 100644
---- a/m4/gst-gl.m4
-+++ b/m4/gst-gl.m4
-@@ -126,6 +126,24 @@ AC_ARG_ENABLE([gbm],
- *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;;
- esac],[NEED_GBM=auto])
-
-+AC_ARG_ENABLE([png],
-+ [ --enable-png Enable libpng support @<:@default=auto@:>@],
-+ [case "${enableval}" in
-+ yes) NEED_PNG=yes ;;
-+ no) NEED_PNG=no ;;
-+ auto) NEED_PNG=auto ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-png]) ;;
-+ esac],[NEED_PNG=auto])
-+
-+AC_ARG_ENABLE([jpeg],
-+ [ --enable-jpeg Enable libjpeg support @<:@default=auto@:>@],
-+ [case "${enableval}" in
-+ yes) NEED_JPEG=yes ;;
-+ no) NEED_JPEG=no ;;
-+ auto) NEED_JPEG=auto ;;
-+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-jpeg]) ;;
-+ esac],[NEED_JPEG=auto])
-+
- AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb)
- save_CPPFLAGS="$CPPFLAGS"
- save_LIBS="$LIBS"
-@@ -1043,9 +1061,13 @@ dnl Needed by plugins that use g_module_*() API
- PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
-
- dnl libpng is optional
--PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
--if test "x$HAVE_PNG" = "xyes"; then
-- AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
-+if test "x$NEED_PNG" != "xno"; then
-+ PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
-+ if test "x$HAVE_PNG" = "xyes"; then
-+ AC_DEFINE(HAVE_PNG, [1] , [Use libpng])
-+ elif test "x$NEED_PNG" = "xyes"; then
-+ AC_MSG_ERROR([libpng support requested but libpng is not available])
-+ fi
- fi
- AC_SUBST(HAVE_PNG)
- AC_SUBST(LIBPNG_LIBS)
-@@ -1053,25 +1075,29 @@ AC_SUBST(LIBPNG_CFLAGS)
-
- dnl libjpeg is optional
- AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library])
--OLD_LIBS="$LIBS"
--if test x$with_jpeg_mmx != x; then
-- LIBS="$LIBS -L$with_jpeg_mmx"
--fi
--AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
--JPEG_LIBS="$LIBS -ljpeg-mmx"
--LIBS="$OLD_LIBS"
--if test x$HAVE_JPEG != xyes; then
-- JPEG_LIBS="-ljpeg"
-- AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
--fi
-+if test "x$NEED_JPEG" != "xno"; then
-+ OLD_LIBS="$LIBS"
-+ if test x$with_jpeg_mmx != x; then
-+ LIBS="$LIBS -L$with_jpeg_mmx"
-+ fi
-+ AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
-+ JPEG_LIBS="$LIBS -ljpeg-mmx"
-+ LIBS="$OLD_LIBS"
-+ if test x$HAVE_JPEG != xyes; then
-+ JPEG_LIBS="-ljpeg"
-+ AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
-+ fi
-
--if test x$HAVE_JPEG = xyes; then
-- AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
--else
-- JPEG_LIBS=
-+ if test x$HAVE_JPEG = xyes; then
-+ AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg])
-+ elif test "x$NEED_JPEG" = "xyes"; then
-+ AC_MSG_ERROR([libjpeg support requested but libjpeg is not available])
-+ else
-+ JPEG_LIBS=
-+ fi
-+ AC_SUBST(JPEG_LIBS)
-+ AC_SUBST(HAVE_JPEG)
- fi
--AC_SUBST(JPEG_LIBS)
--AC_SUBST(HAVE_JPEG)
- ])
-
- dnl --------------------------------------------------------------------------
---
-2.17.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch
index d5a7f6bdc..34f7c2284 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch
@@ -31,7 +31,7 @@ diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4
index 1e97240..ab7774c 100644
--- a/m4/gst-gl.m4
+++ b/m4/gst-gl.m4
-@@ -231,7 +231,7 @@ case $host in
+@@ -275,7 +275,7 @@ case $host in
HAVE_EGL=yes
HAVE_GLES2=yes
HAVE_EGL_RPI=yes
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb
index f3e6daf56..1d6f15e9c 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb
@@ -1,8 +1,7 @@
require gstreamer1.0-plugins.inc
LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \
- file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
SRC_URI = " \
@@ -11,18 +10,16 @@ SRC_URI = " \
file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \
file://make-gio_unix_2_0-dependency-configurable.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
- file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \
file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \
file://0003-riff-add-missing-include-directories-when-calling-in.patch \
file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \
+ file://0005-viv-fb-Make-sure-config.h-is-included.patch \
file://0009-glimagesink-Downrank-to-marginal.patch \
file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \
- file://0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch \
- file://0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch \
file://link-with-libvchostif.patch \
"
-SRC_URI[md5sum] = "4dbe20c1bf44191c2b8833234df5cb2a"
-SRC_URI[sha256sum] = "ca6139490e48863e7706d870ff4e8ac9f417b56f3b9e4b3ce490c13b09a77461"
+SRC_URI[md5sum] = "41dde92930710c75cdb49169c5cc6dfc"
+SRC_URI[sha256sum] = "4093aa7b51e28fb24dfd603893fead8d1b7782f088b05ed0f22a21ef176fb5ae"
S = "${WORKDIR}/gst-plugins-base-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch
deleted file mode 100644
index a2cbb70fe..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From c782a30482908a4b4dd9cd4abff9f9bc4016698f Mon Sep 17 00:00:00 2001
-From: Song Bing <b06498@freescale.com>
-Date: Tue, 5 Aug 2014 14:40:46 +0800
-Subject: [PATCH] gstrtpmp4gpay: set dafault value for MPEG4 without codec
- data in caps.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=734263
-
-Upstream-Status: Submitted
-
-Signed-off-by: Song Bing <b06498@freescale.com>
----
- gst/rtp/gstrtpmp4gpay.c | 19 ++++++++++++++++++-
- 1 file changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/gst/rtp/gstrtpmp4gpay.c b/gst/rtp/gstrtpmp4gpay.c
-index 7913d9a..1749d39 100644
---- a/gst/rtp/gstrtpmp4gpay.c
-+++ b/gst/rtp/gstrtpmp4gpay.c
-@@ -391,6 +391,7 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
- const GValue *codec_data;
- const gchar *media_type = NULL;
- gboolean res;
-+ const gchar *name;
-
- rtpmp4gpay = GST_RTP_MP4G_PAY (payload);
-
-@@ -401,7 +402,6 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
- GST_LOG_OBJECT (rtpmp4gpay, "got codec_data");
- if (G_VALUE_TYPE (codec_data) == GST_TYPE_BUFFER) {
- GstBuffer *buffer;
-- const gchar *name;
-
- buffer = gst_value_get_buffer (codec_data);
- GST_LOG_OBJECT (rtpmp4gpay, "configuring codec_data");
-@@ -427,6 +427,23 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
-
- rtpmp4gpay->config = gst_buffer_copy (buffer);
- }
-+ } else {
-+ name = gst_structure_get_name (structure);
-+
-+ if (!strcmp (name, "video/mpeg")) {
-+ rtpmp4gpay->profile = g_strdup ("1");
-+
-+ /* fixed rate */
-+ rtpmp4gpay->rate = 90000;
-+ /* video stream type */
-+ rtpmp4gpay->streamtype = "4";
-+ /* no params for video */
-+ rtpmp4gpay->params = NULL;
-+ /* mode */
-+ rtpmp4gpay->mode = "generic";
-+
-+ media_type = "video";
-+ }
- }
- if (media_type == NULL)
- goto config_failed;
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch
new file mode 100644
index 000000000..caa080c8e
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch
@@ -0,0 +1,37 @@
+From aadfa5f20f53601785e417fe3fcbe6d574880988 Mon Sep 17 00:00:00 2001
+From: Philippe Normand <philn@igalia.com>
+Date: Tue, 23 Apr 2019 10:10:01 +0100
+Subject: [PATCH] scaletempo: Advertise interleaved layout in caps templates
+
+Scaletempo doesn't support non-interleaved layout. Not explicitely stating this
+would trigger critical warnings and a caps negotiation failure when scaletempo
+is used as playbin audio-filter.
+
+Patch suggested by George Kiagiadakis <george.kiagiadakis@collabora.com>.
+
+Fixes #591
+Upstream-Status: Backport [merged, on track for 1.16.1.]
+---
+ gst/audiofx/gstscaletempo.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gst/audiofx/gstscaletempo.c b/gst/audiofx/gstscaletempo.c
+index 3a719719a..83ee8fe24 100644
+--- a/gst/audiofx/gstscaletempo.c
++++ b/gst/audiofx/gstscaletempo.c
+@@ -93,9 +93,9 @@ enum
+
+ #define SUPPORTED_CAPS \
+ GST_STATIC_CAPS ( \
+- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F32)) "; " \
+- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F64)) "; " \
+- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (S16)) \
++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F32)) ", layout=(string)interleaved; " \
++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F64)) ", layout=(string)interleaved; " \
++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (S16)) ", layout=(string)interleaved" \
+ )
+
+ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+--
+2.20.1
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch
deleted file mode 100644
index c7f3630ec..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 4bfe2c8570a4a7080ec662504882969054d8a072 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 3 Feb 2016 18:12:38 -0800
-Subject: [PATCH] avoid including <sys/poll.h> directly
-
-musl libc generates warnings if <sys/poll.h> is included directly.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- ext/raw1394/gstdv1394src.c | 2 +-
- ext/raw1394/gsthdv1394src.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c
-index dbc7607..3c42b41 100644
---- a/ext/raw1394/gstdv1394src.c
-+++ b/ext/raw1394/gstdv1394src.c
-@@ -37,7 +37,7 @@
- #include "config.h"
- #endif
- #include <unistd.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/socket.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/ext/raw1394/gsthdv1394src.c b/ext/raw1394/gsthdv1394src.c
-index 0b07a37..9785a15 100644
---- a/ext/raw1394/gsthdv1394src.c
-+++ b/ext/raw1394/gsthdv1394src.c
-@@ -36,7 +36,7 @@
- #include "config.h"
- #endif
- #include <unistd.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/socket.h>
- #include <errno.h>
- #include <fcntl.h>
---
-1.9.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch
deleted file mode 100644
index bc7ac0b6a..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2169f2205c0205a220d826d7573e5a863bd36e0a Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 9 Feb 2016 14:00:00 -0800
-Subject: [PATCH] ensure valid sentinal for gst_structure_get()
-
-gst_structure_get() is declared with G_GNUC_NULL_TERMINATED, ie
-__attribute__((__sentinel__)), which means gcc will generate a
-warning if the last parameter passed to the function is not NULL
-(where a valid NULL in this context is defined as zero with any
-pointer type).
-
-The C code callers to gst_structure_get() within gst-plugins-good
-use the C NULL definition (ie ((void*)0)), which is a valid sentinel.
-
-However gstid3v2mux.cc uses the C++ NULL definition (ie 0L), which
-is not a valid sentinel without an explicit cast to a pointer type.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- ext/taglib/gstid3v2mux.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ext/taglib/gstid3v2mux.cc b/ext/taglib/gstid3v2mux.cc
-index 8651e77..a87234f 100644
---- a/ext/taglib/gstid3v2mux.cc
-+++ b/ext/taglib/gstid3v2mux.cc
-@@ -465,7 +465,7 @@ add_image_tag (ID3v2::Tag * id3v2tag, const GstTagList * list,
-
- if (info_struct) {
- if (gst_structure_get (info_struct, "image-type",
-- GST_TYPE_TAG_IMAGE_TYPE, &image_type, NULL)) {
-+ GST_TYPE_TAG_IMAGE_TYPE, &image_type, (void *) NULL)) {
- if (image_type > 0 && image_type <= 18) {
- image_type += 2;
- } else {
---
-1.9.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb
index 830660579..ad831ed25 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb
@@ -2,14 +2,12 @@ require gstreamer1.0-plugins.inc
SRC_URI = " \
http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
- file://0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch \
- file://avoid-including-sys-poll.h-directly.patch \
- file://ensure-valid-sentinel-for-gst_structure_get.patch \
+ file://0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
"
-SRC_URI[md5sum] = "6e3b247097366cf2639f22abfece7113"
-SRC_URI[sha256sum] = "5f8b553260cb0aac56890053d8511db1528d53cae10f0287cfce2cb2acc70979"
+SRC_URI[md5sum] = "d1a7b442994d9522418de4af4330e034"
+SRC_URI[sha256sum] = "654adef33380d604112f702c2927574cfc285e31307b79e584113858838bb0fd"
S = "${WORKDIR}/gst-plugins-good-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb
index 168e64d84..11a0e790e 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb
@@ -10,8 +10,8 @@ SRC_URI = " \
http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
"
-SRC_URI[md5sum] = "90768a0074db071175ce980064d9a1ac"
-SRC_URI[sha256sum] = "ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f0f6d23"
+SRC_URI[md5sum] = "1ec343c58d4b17d682f7befa8453c11c"
+SRC_URI[sha256sum] = "e30964c5f031c32289e0b25e176c3c95a5737f2052dfc81d0f7427ef0233a4c2"
S = "${WORKDIR}/gst-plugins-ugly-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb
index 048aaf441..0f3aac190 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb
@@ -6,8 +6,8 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[md5sum] = "d4c0e3915f547feef49208ee08981e5a"
-SRC_URI[sha256sum] = "d0fdb24f93b6d889f309d2f526b8ea9577e0084ff0a62b4623ef1aed52e85a1b"
+SRC_URI[md5sum] = "877b2ed2aaffdb62e63f38ea9469b70f"
+SRC_URI[sha256sum] = "55dc7aaed1855565f9b9ef842d93e93bfc5cb2b376faef6af5b463e1774e2d38"
DEPENDS = "gstreamer1.0 python3-pygobject"
RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject"
@@ -22,16 +22,10 @@ UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspe
inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection distro_features_check
+EXTRA_OECONF += "--with-libpython-dir=${libdir}"
+
do_install_append() {
- # gstpythonplugin hardcodes the location of the libpython from the build
- # workspace and then fails at runtime. We can override it using
- # --with-libpython-dir=${libdir}, but it still fails because it looks for a
- # symlinked library ending in .so instead of the actually library with
- # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path
- # we want, it will break again if the library version ever changes. We need
- # to think about the best way of handling this and possibly consult
- # upstream.
- #
+
# Note that this particular find line is taken from the Debian packaging for
# gst-python1.0.
find "${D}" \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch
deleted file mode 100644
index 89d6384ad..000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 4a12569e5ae5be63cd92a9b178860026a99746b1 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 27 Oct 2015 16:55:45 +0200
-Subject: [PATCH] Don't hardcode libtool name when using introspection
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gst/rtsp-server/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst/rtsp-server/Makefile.am b/gst/rtsp-server/Makefile.am
-index 4fcd366..c67f5ab 100644
---- a/gst/rtsp-server/Makefile.am
-+++ b/gst/rtsp-server/Makefile.am
-@@ -87,7 +87,7 @@ GstRtspServer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtspserver-@
- --include=Gst-@GST_API_VERSION@ \
- --include=GstRtsp-@GST_API_VERSION@ \
- --include=GstNet-@GST_API_VERSION@ \
-- --libtool="$(top_builddir)/libtool" \
-+ --libtool="$(LIBTOOL)" \
- --pkg gstreamer-@GST_API_VERSION@ \
- --pkg gstreamer-rtsp-@GST_API_VERSION@ \
- --pkg gstreamer-net-@GST_API_VERSION@ \
---
-2.1.4
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb
index 7efc1b353..042938b88 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb
@@ -9,13 +9,12 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
PNREAL = "gst-rtsp-server"
SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
- file://0001-Don-t-hardcode-libtool-name-when-using-introspection.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
file://gtk-doc-tweaks.patch \
"
-SRC_URI[md5sum] = "ab0fb5c829266a500e14b46b7bdf06bf"
-SRC_URI[sha256sum] = "3d0ece2afdcd601c175ece24e32a30bc19247b454f4eafd3deeec2533c6884f1"
+SRC_URI[md5sum] = "adc4460239ec2eccf58ad9752ce53bfd"
+SRC_URI[sha256sum] = "198e9eec1a3e32dc810d3fbf3a714850a22c6288d4a5c8e802c5ff984af03f19"
S = "${WORKDIR}/${PNREAL}-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch
index c861f3bed..7945a923c 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch
@@ -24,7 +24,7 @@ diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c
index 9a82454..4d94f2b 100644
--- a/gst/vaapi/gstvaapi.c
+++ b/gst/vaapi/gstvaapi.c
-@@ -210,7 +210,6 @@ plugin_init (GstPlugin * plugin)
+@@ -195,7 +195,6 @@ plugin_init (GstPlugin * plugin)
{
GstVaapiDisplay *display;
GArray *decoders;
@@ -32,7 +32,7 @@ index 9a82454..4d94f2b 100644
plugin_add_dependencies (plugin);
-@@ -235,10 +234,7 @@ plugin_init (GstPlugin * plugin)
+@@ -220,10 +219,7 @@ plugin_init (GstPlugin * plugin)
gst_element_register (plugin, "vaapidecodebin",
GST_RANK_PRIMARY + 2, GST_TYPE_VAAPI_DECODE_BIN);
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb
index 389643410..e5dfb6124 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb
@@ -13,8 +13,8 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.x
file://0001-vaapsink-downgrade-to-marginal.patch \
"
-SRC_URI[md5sum] = "2fae3442f5f23e7354a0c592bc7b9065"
-SRC_URI[sha256sum] = "ce18dbfe961c6a8d31270231686075586bf7a7df62b778c8e7f5ec148251d0a3"
+SRC_URI[md5sum] = "8c3f9ee3e47cbdb75a94f7183460b721"
+SRC_URI[sha256sum] = "4e7fce626ee0590dca74b5a8341d25bac76307945131a970b414fc5895f5171f"
S = "${WORKDIR}/${REALPN}-${PV}"
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
@@ -40,7 +40,7 @@ PACKAGECONFIG ??= "drm \
PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,udev libdrm"
PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols"
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender"
FILES_${PN} += "${libdir}/gstreamer-*/*.so"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb
index 98c9a28e3..da2d14cd9 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb
@@ -25,11 +25,10 @@ SRC_URI = " \
file://gtk-doc-tweaks.patch \
file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
file://add-a-target-to-compile-tests.patch \
- file://0002-gstconfig.h.in-initial-RISC-V-support.patch \
file://run-ptest \
"
-SRC_URI[md5sum] = "f67fbbc42bd85a0701df119f52fb52bd"
-SRC_URI[sha256sum] = "f94f6696c5f05a3b3a9183e39c5f5c0b779f75a04c0efa497e7920afa985ffc7"
+SRC_URI[md5sum] = "862b7e4263d946bc2ef31b3c582e5587"
+SRC_URI[sha256sum] = "0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
"
@@ -55,6 +54,7 @@ PACKAGES += "${PN}-bash-completion"
FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
RDEPENDS_${PN}-ptest += "make"
diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb
index 34c7dc4f7..f22930a0e 100644
--- a/poky/meta/recipes-multimedia/x264/x264_git.bb
+++ b/poky/meta/recipes-multimedia/x264/x264_git.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "0a84d986e7020f8344f00752e3600b9769cc1e85"
+SRCREV = "72db437770fd1ce3961f624dd57a8e75ff65ae0b"
PV = "r2917+git${SRCPV}"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch
new file mode 100644
index 000000000..bd4ac1e35
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch
@@ -0,0 +1,24 @@
+From 2d9687840b97186b80053dd262209e39455ac876 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 8 May 2019 15:31:23 +0200
+Subject: [PATCH] gstreamer: add a missing format string
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ .../platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+index e1e497ee..483fd65c 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+@@ -738,7 +738,7 @@ static GstStateChangeReturn webKitWebSrcChangeState(GstElement* element, GstStat
+ WebKitWebSrc* src = WEBKIT_WEB_SRC(element);
+
+ #if GST_CHECK_VERSION(1, 14, 0)
+- GST_DEBUG_OBJECT(src, gst_state_change_get_name(transition));
++ GST_DEBUG_OBJECT(src, "%s", gst_state_change_get_name(transition));
+ #endif
+ switch (transition) {
+ case GST_STATE_CHANGE_READY_TO_NULL:
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb
index 96ac5ac18..056334fff 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb
@@ -23,10 +23,11 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://include_array.patch \
file://narrowing.patch \
file://snprintf.patch \
+ file://0001-gstreamer-add-a-missing-format-string.patch \
"
-SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de"
-SRC_URI[sha256sum] = "2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407"
+SRC_URI[md5sum] = "83012998e1b9f71abb37d8baf6f9c7e6"
+SRC_URI[sha256sum] = "019cb1f0d05bf6148b72c7a85734bcd006388a1c14132843ef9a1b2cb7b4321c"
inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc
@@ -71,10 +72,6 @@ EXTRA_OECMAKE = " \
-DPYTHON_EXECUTABLE=`which python` \
"
-# GL/GLES header clash: both define the same thing, differently, on 32 bit x86
-EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF "
-EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF "
-
# Javascript JIT is not supported on ARC
EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF "
# By default 25-bit "medium" calls are used on ARC
diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb
index 224479707..bcf1c9c77 100644
--- a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb
@@ -3,17 +3,14 @@ HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
-SRC_URI[archive.md5sum] = "1ad754b90bcb14244b73ca4d0c14d274"
-SRC_URI[archive.sha256sum] = "e2e1571004ea7b105c969473ce455a95be4038fb2541471714aeb33a26da8a9a"
+SRC_URI[archive.md5sum] = "6a4b27bace3b9352721ed462b95f6291"
+SRC_URI[archive.sha256sum] = "0b51e6d339fa2bcca3a3e3159ccea574c67b107f1ac8b00047fa60e34ce7a45c"
DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase distro_features_check upstream-version-is-even
-# The at-spi2-core requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
PACKAGES =+ "${PN}-gnome ${PN}-gtk2"
FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules"
diff --git a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch
deleted file mode 100644
index fbdf7d0e2..000000000
--- a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 44a812ea51223d82f21a098a2d45fcc5c329ce7a Mon Sep 17 00:00:00 2001
-From: Tobias Stoeckmann <tobias@stoeckmann.org>
-Date: Tue, 12 Mar 2019 11:46:24 +0100
-Subject: [PATCH] Fix meson.build for meson 0.50.0.
-
-Since meson 0.50.0 it is not possible anymore to specify an
-absolute directory for subdir. To keep current functionality,
-use install_dir instead.
-
-atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
----
- atspi/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/atspi/meson.build b/atspi/meson.build
-index b7a9357..2a6915d 100644
---- a/atspi/meson.build
-+++ b/atspi/meson.build
-@@ -57,7 +57,7 @@ atspi_headers = [
-
- atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi')
-
--install_headers(atspi_headers, subdir: atspi_includedir)
-+install_headers(atspi_headers, install_dir: atspi_includedir)
-
- atspi_enums = gnome.mkenums('atspi-enum-types',
- sources: [ 'atspi-constants.h', 'atspi-types.h' ],
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb
index cfe0ddeef..11052a8ec 100644
--- a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb
@@ -5,12 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- file://meson-0.50-fix.patch \
- "
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5"
-SRC_URI[sha256sum] = "0175f5393d19da51f4c11462cba4ba6ef3fa042abf1611a70bdfed586b7bfb2b"
+SRC_URI[md5sum] = "998fd9d858f8fa22c4c8c15567bf6254"
+SRC_URI[sha256sum] = "3c2aa937ebfaca2c86569bce9b16a34fbe20d69ef0c58846313b1c42f53b0d53"
X11DEPENDS = "virtual/libx11 libxi libxtst"
@@ -20,11 +18,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '',
inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection
EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
- -Ddbus_daemon=${bindir}/dbus-daemon"
+ -Ddbus_daemon=${bindir}/dbus-daemon \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \
+"
-GTKDOC_MESON_OPTION = "enable_docs"
+GTKDOC_MESON_OPTION = "docs"
-GIR_MESON_OPTION = 'enable-introspection'
+GIR_MESON_OPTION = 'introspection'
GIR_MESON_ENABLE_FLAG = 'yes'
GIR_MESON_DISABLE_FLAG = 'no'
diff --git a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch b/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch
deleted file mode 100644
index 047e81fb6..000000000
--- a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Upstream-Status: Submitted
-
-From 0330251715fee908f2f162565d4fa1df5030d0c0 Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Thu, 14 Jun 2018 17:21:49 +0000
-Subject: [PATCH] Switch from filename to basename
-
-When atk-enum-types.h is installed in to a system, the user likely has
-no access to the location where the headers were built, especially if
-the software was built in a sysroot environment. If the headers were
-built for a mulitlib environment, the build pathing may be different.
-Subsequently, if two mulitlib variants of atk are installed together the
-headers conflict for no other reason then they were built in two
-different locations. Switching from filename to basename, still should
-provide sufficient information on the providence of the enums, while not
-conflicting for really no good reason.
-
-Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
----
- atk/atk-enum-types.h.template | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/atk/atk-enum-types.h.template b/atk/atk-enum-types.h.template
-index 7b4cec4..8321c24 100644
---- a/atk/atk-enum-types.h.template
-+++ b/atk/atk-enum-types.h.template
-@@ -14,7 +14,7 @@ G_BEGIN_DECLS
-
- /*** BEGIN file-production ***/
-
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
-
- /*** BEGIN value-header ***/
---
-2.14.1.459.g238e487
-
diff --git a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch
index 1d814ccdb..d1b08bc04 100644
--- a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch
+++ b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch
@@ -1,4 +1,4 @@
-From c3eb5b2e74c38bb8374bc027f84e42d7e94f62f8 Mon Sep 17 00:00:00 2001
+From 44d46baa5e1519c6c3df7e4d34fb333e247b5bc8 Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
Date: Fri, 6 Apr 2018 12:04:00 +0800
Subject: [PATCH] meson.build: enable introspection for cross-compile
@@ -9,16 +9,17 @@ if it should be disabled or not.
Upstream-Status: Pending
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
---
atk/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/atk/meson.build b/atk/meson.build
-index 616a3e6..941ded8 100644
+index 0ad67e5..1d2a49c 100644
--- a/atk/meson.build
+++ b/atk/meson.build
@@ -137,7 +137,7 @@ libatk_dep = declare_dependency(link_with: libatk,
- dependencies: gobject_dep,
+ dependencies: glib_dep,
sources: atk_enum_h)
-if not meson.is_cross_build() and get_option('introspection')
diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.32.0.bb
index 4e22b3f81..67223729e 100644
--- a/poky/meta/recipes-support/atk/atk_2.30.0.bb
+++ b/poky/meta/recipes-support/atk/atk_2.32.0.bb
@@ -14,12 +14,9 @@ DEPENDS = "gettext-native glib-2.0"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
-SRC_URI_append = " \
- file://0001-meson.build-enable-introspection-for-cross-compile.patch \
- file://0001-Switch-from-filename-to-basename.patch \
- "
-SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454"
-SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b"
+SRC_URI += " file://0001-meson.build-enable-introspection-for-cross-compile.patch"
+SRC_URI[archive.md5sum] = "c10b0b2af3c199e42caa6275b845c49d"
+SRC_URI[archive.sha256sum] = "cb41feda7fe4ef0daa024471438ea0219592baf7c291347e5a858bb64e4091cc"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb
index 85064343e..cd2c4cbba 100644
--- a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb
+++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb
@@ -9,8 +9,8 @@ SECTION = "console/utils"
SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "201b6ae62f7d5fb5b1b25e34427db919"
-SRC_URI[sha256sum] = "c01f5570f5698a0dda8dc9cfb2a83744daa1ec54758373a6e349bd903375f54d"
+SRC_URI[md5sum] = "60139333b25c4d54ad40323b701be130"
+SRC_URI[sha256sum] = "d48fe378e731062f479c5f8802ffa9d3c40a275a19e6e0f6f6cc4b90fa12b2f5"
UPSTREAM_CHECK_REGEX = "bash-completion-(?P<pver>(?!2008).+)\.tar"
UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases"
@@ -23,11 +23,6 @@ do_install_append() {
install -d ${D}${sysconfdir}/bash_completion.d/
echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion
- # Delete files already provided by util-linux
- local i
- for i in mount umount; do
- rm ${D}${datadir}/${BPN}/completions/$i
- done
}
RDEPENDS_${PN} = "bash"
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
index 4c0425302..efd9eaa71 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
@@ -82,6 +82,8 @@ do_install_append_class-native () {
SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates
}
-RDEPENDS_${PN} += "openssl"
+RDEPENDS_${PN}_class-target = "openssl-bin"
+RDEPENDS_${PN}_class-native = "openssl-native"
+RDEPENDS_${PN}_class-nativesdk = "nativesdk-openssl-bin"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/curl/curl_7.64.1.bb b/poky/meta/recipes-support/curl/curl_7.65.1.bb
index 47c28beff..e7bfe6cc0 100644
--- a/poky/meta/recipes-support/curl/curl_7.64.1.bb
+++ b/poky/meta/recipes-support/curl/curl_7.65.1.bb
@@ -9,8 +9,8 @@ SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
file://0001-replace-krb5-config-with-pkg-config.patch \
"
-SRC_URI[md5sum] = "790c101927845208a9d7e8c429ddd1b2"
-SRC_URI[sha256sum] = "4cc7c738b35250d0680f29e93e0820c4cb40035f43514ea3ec8d60322d41a45d"
+SRC_URI[md5sum] = "03ca3fa53ac4d791be66e30ba75b56ea"
+SRC_URI[sha256sum] = "cbd36df60c49e461011b4f3064cff1184bdc9969a55e9608bf5cadec4686e3f7"
CVE_PRODUCT = "curl libcurl"
inherit autotools pkgconfig binconfig multilib_header
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb
index 06a257333..cb7c6c5c6 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb
@@ -20,8 +20,8 @@ SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-
file://relocate.patch"
-SRC_URI[md5sum] = "3ab87e377aa0af2f463649515bf66508"
-SRC_URI[sha256sum] = "cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454"
+SRC_URI[md5sum] = "d90e186df1c06845880ea58a318f070b"
+SRC_URI[sha256sum] = "6cbe8d454bf5dc204621eed3016d721b66298fa95363395bb8eeceb1d2fd14cb"
EXTRA_OECONF = "--disable-ldap \
--disable-ccid-driver \
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb
index e05dc2b57..6c6c520e8 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb
@@ -21,8 +21,8 @@ SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar
file://arm_eabi.patch \
"
-SRC_URI[md5sum] = "c4ac669c500df939d4fbfea722367929"
-SRC_URI[sha256sum] = "5b3409ad5aaf239808730d1ee12fdcd148c0be00262c7edf157af655a8a188e2"
+SRC_URI[md5sum] = "9dcf0aa45d1a42e1b3ca5d39ec7c61a8"
+SRC_URI[sha256sum] = "aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83"
inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
@@ -44,6 +44,7 @@ EXTRA_OECONF = " \
--enable-local-libopts \
--enable-openssl-compatibility \
--with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
+ --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \
"
LDFLAGS_append_libc-musl = " -largp"
diff --git a/poky/meta/recipes-support/icu/icu.inc b/poky/meta/recipes-support/icu/icu.inc
index e20085fbf..6d9728903 100644
--- a/poky/meta/recipes-support/icu/icu.inc
+++ b/poky/meta/recipes-support/icu/icu.inc
@@ -35,13 +35,6 @@ TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
ASNEEDED = ""
-# strtod_l() is not supported by musl; also xlocale.h is missing
-# It is not possible to disable its use via configure switches or env vars
-# so monkey patching is needed.
-do_configure_prepend_libc-musl () {
- sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' ${S}/configure.ac
-}
-
do_compile_prepend_class-target () {
# Make sure certain build host references do not end up being compiled
# in the image. This only affects libicutu and icu-dbg
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng b/poky/meta/recipes-support/libcap-ng/libcap-ng
new file mode 120000
index 000000000..fb7744d29
--- /dev/null
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng
@@ -0,0 +1 @@
+libcap-ng-python \ No newline at end of file
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch
index d60a0a39b..d60a0a39b 100644
--- a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb
new file mode 100644
index 000000000..e49b445f5
--- /dev/null
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb
@@ -0,0 +1,27 @@
+require libcap-ng.inc
+
+SUMMARY .= " - python"
+
+inherit lib_package autotools python3native
+
+DEPENDS += "libcap-ng python3 swig-native"
+
+S = "${WORKDIR}/libcap-ng-${PV}"
+
+EXTRA_OECONF += "--with-python --with-python3"
+EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'"
+
+do_install_append() {
+ rm -rf ${D}${bindir}
+ rm -rf ${D}${libdir}/.debug
+ rm -f ${D}${libdir}/lib*
+ rm -rf ${D}${libdir}/pkgconfig
+ rm -rf ${D}${datadir}
+ rm -rf ${D}${includedir}
+}
+
+# PACKAGES = "${PN}"
+
+FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}"
+FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so"
+
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc
new file mode 100644
index 000000000..739b91fd2
--- /dev/null
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc
@@ -0,0 +1,17 @@
+SUMMARY = "An alternate posix capabilities library"
+DESCRIPTION = "The libcap-ng library is intended to make programming \
+with POSIX capabilities much easier than the traditional libcap library."
+HOMEPAGE = "http://freecode.com/projects/libcap-ng"
+SECTION = "base"
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
+
+SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
+ file://python.patch \
+"
+
+SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9"
+SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328"
+
+BBCLASSEXTEND = "native nativesdk" \ No newline at end of file
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb
index aff6259db..6e6de4549 100644
--- a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb
@@ -1,30 +1,10 @@
-SUMMARY = "An alternate posix capabilities library"
-DESCRIPTION = "The libcap-ng library is intended to make programming \
-with POSIX capabilities much easier than the traditional libcap library."
-HOMEPAGE = "http://freecode.com/projects/libcap-ng"
-SECTION = "base"
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
+require libcap-ng.inc
-SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
- file://python.patch"
+inherit lib_package autotools
-inherit lib_package autotools python3native
+EXTRA_OECONF += "--without-python --without-python3"
-SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9"
-SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328"
-
-DEPENDS += "swig-native python3"
-
-EXTRA_OECONF += "--with-python --with-python3"
-EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'"
-
-PACKAGES += "${PN}-python"
-
-FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
-
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
do_install_append() {
# Moving libcap-ng to base_libdir
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb
index 12cf5192f..abd6f386b 100644
--- a/poky/meta/recipes-support/libevdev/libevdev_1.6.0.bb
+++ b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \
SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
-SRC_URI[md5sum] = "154b24f01425c4c82fdc3e11f2c13af6"
-SRC_URI[sha256sum] = "f5005c865987d980cc1279b9ec6131b06a89fd9892f649f2a68262b8786ef814"
+SRC_URI[md5sum] = "fabe87d8d7d7f7cdb4a26e5dc99fc517"
+SRC_URI[sha256sum] = "11dbe1f2b1d03a51f3e9a196757a75c3a999042ce34cf1fdc00a2363e5a2e369"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch b/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch
deleted file mode 100644
index 36d08204f..000000000
--- a/poky/meta/recipes-support/libevent/libevent/0001-test-fix-32bit-linux-regress.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 69a3813c513c84e02212250c3d5b8a02ecefa698 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Mon, 15 Jan 2018 08:00:33 +0000
-Subject: [PATCH] test: fix 32bit linux regress
-
-This patch comes from https://github.com/libevent/libevent.git,
-the commit is 63c4bf78d6af3c6ff46d2e8e4b53dd9f577a9ca9
-
-Upstream-Status: Backport
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- configure.ac | 1 +
- test/regress_util.c | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 7528d37..e64cb1f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -663,6 +663,7 @@ AC_CHECK_SIZEOF(short)
- AC_CHECK_SIZEOF(size_t)
- AC_CHECK_SIZEOF(void *)
- AC_CHECK_SIZEOF(off_t)
-+AC_CHECK_SIZEOF(time_t)
-
- AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, sa_family_t, struct addrinfo, struct sockaddr_storage], , ,
- [#define _GNU_SOURCE
-diff --git a/test/regress_util.c b/test/regress_util.c
-index ef6a148..0c7eafb 100644
---- a/test/regress_util.c
-+++ b/test/regress_util.c
-@@ -1412,10 +1412,12 @@ static struct date_rfc1123_case {
- { 1289433600, "Thu, 11 Nov 2010 00:00:00 GMT"},
- { 1323648000, "Mon, 12 Dec 2011 00:00:00 GMT"},
- #ifndef _WIN32
-+#if EVENT__SIZEOF_TIME_T > 4
- /** In win32 case we have max "23:59:59 January 18, 2038, UTC" for time32 */
- { 4294967296, "Sun, 07 Feb 2106 06:28:16 GMT"} /* 2^32 */,
- /** In win32 case we have max "23:59:59, December 31, 3000, UTC" for time64 */
- {253402300799, "Fri, 31 Dec 9999 23:59:59 GMT"} /* long long future no one can imagine */,
-+#endif /* time_t != 32bit */
- { 1456704000, "Mon, 29 Feb 2016 00:00:00 GMT"} /* leap year */,
- #endif
- { 1435708800, "Wed, 01 Jul 2015 00:00:00 GMT"} /* leap second */,
---
-2.13.3
-
diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.8.bb b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb
index 0f91e05a6..81ceb1cd9 100644
--- a/poky/meta/recipes-support/libevent/libevent_2.1.8.bb
+++ b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb
@@ -9,12 +9,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=17f20574c0b154d12236d5fbe964f549"
SRC_URI = " \
https://github.com/libevent/libevent/releases/download/release-${PV}-stable/${BP}-stable.tar.gz \
file://Makefile-missing-test-dir.patch \
- file://0001-test-fix-32bit-linux-regress.patch \
file://run-ptest \
"
-SRC_URI[md5sum] = "f3eeaed018542963b7d2416ef1135ecc"
-SRC_URI[sha256sum] = "965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2"
+SRC_URI[md5sum] = "999caf86f52943af2363bc8077f00167"
+SRC_URI[sha256sum] = "e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0"
UPSTREAM_CHECK_URI = "http://libevent.org/"
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch
new file mode 100644
index 000000000..589c4d3c4
--- /dev/null
+++ b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch
@@ -0,0 +1,827 @@
+From 8ac73103bf12ce4f776940cb17f3ced15a362f23 Mon Sep 17 00:00:00 2001
+From: Stef O'Rear <sorear2@gmail.com>
+Date: Sun, 11 Mar 2018 05:55:15 -0700
+Subject: [PATCH] New RISC-V port (#281)
+
+* Add RISC-V support
+
+This patch adds support for the RISC-V architecture (https://riscv.org).
+
+This patch has been tested using QEMU user-mode emulation and GCC 7.2.0
+in the following configurations:
+
+* -march=rv32imac -mabi=ilp32
+* -march=rv32g -mabi=ilp32d
+* -march=rv64imac -mabi=lp64
+* -march=rv64g -mabi=lp64d
+
+The ABI currently can be found at
+https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md .
+
+* Add RISC-V to README
+
+* RISC-V: fix configure.host
+
+Upstream-Status: Backport [https://github.com/libffi/libffi/commit/3840d49aaa831d649b1597518a2903dfed0d57f3]
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ Makefile.am | 4 +
+ configure.ac | 5 +
+ src/riscv/ffi.c | 445 ++++++++++++++++++++++++++++++++++++++++++
+ src/riscv/ffitarget.h | 68 +++++++
+ src/riscv/sysv.S | 214 ++++++++++++++++++++
+ 5 files changed, 736 insertions(+)
+ create mode 100644 src/riscv/ffi.c
+ create mode 100644 src/riscv/ffitarget.h
+ create mode 100644 src/riscv/sysv.S
+
+diff --git a/Makefile.am b/Makefile.am
+index 0e40451..3837650 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -32,6 +32,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj \
+ src/powerpc/asm.h src/powerpc/aix.S src/powerpc/darwin.S \
+ src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+ src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
++ src/riscv/ffi.c src/riscv/ffitarget.h src/riscv/sysv.S \
+ src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+ src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h src/sh64/ffi.c \
+ src/sh64/sysv.S src/sh64/ffitarget.h src/sparc/v8.S \
+@@ -122,6 +123,9 @@ endif
+ if MIPS
+ nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+ endif
++if RISCV
++nodist_libffi_la_SOURCES += src/riscv/ffi.c src/riscv/sysv.S
++endif
+ if BFIN
+ nodist_libffi_la_SOURCES += src/bfin/ffi.c src/bfin/sysv.S
+ endif
+diff --git a/configure.ac b/configure.ac
+index ce30853..33375aa 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -226,6 +226,10 @@ case "$host" in
+ TARGET=MIPS; TARGETDIR=mips
+ ;;
+
++ riscv*-*-*)
++ TARGET=RISCV; TARGETDIR=riscv
++ ;;
++
+ nios2*-linux*)
+ TARGET=NIOS2; TARGETDIR=nios2
+ ;;
+@@ -298,6 +302,7 @@ if test $TARGETDIR = unknown; then
+ fi
+
+ AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
++AM_CONDITIONAL(RISCV, test x$TARGET = xRISCV)
+ AM_CONDITIONAL(BFIN, test x$TARGET = xBFIN)
+ AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
+ AM_CONDITIONAL(X86, test x$TARGET = xX86)
+diff --git a/src/riscv/ffi.c b/src/riscv/ffi.c
+new file mode 100644
+index 0000000..b744fdd
+--- /dev/null
++++ b/src/riscv/ffi.c
+@@ -0,0 +1,445 @@
++/* -----------------------------------------------------------------------
++ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu>
++ 2015 Andrew Waterman <waterman@cs.berkeley.edu>
++ 2018 Stef O'Rear <sorear2@gmail.com>
++ Based on MIPS N32/64 port
++
++ RISC-V Foreign Function Interface
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ ``Software''), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++ ----------------------------------------------------------------------- */
++
++#include <ffi.h>
++#include <ffi_common.h>
++
++#include <stdlib.h>
++#include <stdint.h>
++
++#if __riscv_float_abi_double
++#define ABI_FLEN 64
++#define ABI_FLOAT double
++#elif __riscv_float_abi_single
++#define ABI_FLEN 32
++#define ABI_FLOAT float
++#endif
++
++#define NARGREG 8
++#define STKALIGN 16
++#define MAXCOPYARG (2 * sizeof(double))
++
++typedef struct call_context
++{
++#if ABI_FLEN
++ ABI_FLOAT fa[8];
++#endif
++ size_t a[8];
++ /* used by the assembly code to in-place construct its own stack frame */
++ char frame[16];
++} call_context;
++
++typedef struct call_builder
++{
++ call_context *aregs;
++ int used_integer;
++ int used_float;
++ size_t *used_stack;
++} call_builder;
++
++/* integer (not pointer) less than ABI XLEN */
++/* FFI_TYPE_INT does not appear to be used */
++#if __SIZEOF_POINTER__ == 8
++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64)
++#else
++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32)
++#endif
++
++#if ABI_FLEN
++typedef struct {
++ char as_elements, type1, offset2, type2;
++} float_struct_info;
++
++#if ABI_FLEN >= 64
++#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE)
++#else
++#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT)
++#endif
++
++static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) {
++ int i;
++ if (out == out_end) return out;
++ if (in->type != FFI_TYPE_STRUCT) {
++ *(out++) = in;
++ } else {
++ for (i = 0; in->elements[i]; i++)
++ out = flatten_struct(in->elements[i], out, out_end);
++ }
++ return out;
++}
++
++/* Structs with at most two fields after flattening, one of which is of
++ floating point type, are passed in multiple registers if sufficient
++ registers are available. */
++static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) {
++ float_struct_info ret = {0, 0, 0, 0};
++ ffi_type *fields[3];
++ int num_floats, num_ints;
++ int num_fields = flatten_struct(top, fields, fields + 3) - fields;
++
++ if (num_fields == 1) {
++ if (IS_FLOAT(fields[0]->type)) {
++ ret.as_elements = 1;
++ ret.type1 = fields[0]->type;
++ }
++ } else if (num_fields == 2) {
++ num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type);
++ num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type);
++ if (num_floats == 0 || num_floats + num_ints != 2)
++ return ret;
++ if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG)
++ return ret;
++ if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type))
++ return ret;
++
++ ret.type1 = fields[0]->type;
++ ret.type2 = fields[1]->type;
++ ret.offset2 = ALIGN(fields[0]->size, fields[1]->alignment);
++ ret.as_elements = 1;
++ }
++
++ return ret;
++}
++#endif
++
++/* allocates a single register, float register, or XLEN-sized stack slot to a datum */
++static void marshal_atom(call_builder *cb, int type, void *data) {
++ size_t value = 0;
++ switch (type) {
++ case FFI_TYPE_UINT8: value = *(uint8_t *)data; break;
++ case FFI_TYPE_SINT8: value = *(int8_t *)data; break;
++ case FFI_TYPE_UINT16: value = *(uint16_t *)data; break;
++ case FFI_TYPE_SINT16: value = *(int16_t *)data; break;
++ /* 32-bit quantities are always sign-extended in the ABI */
++ case FFI_TYPE_UINT32: value = *(int32_t *)data; break;
++ case FFI_TYPE_SINT32: value = *(int32_t *)data; break;
++#if __SIZEOF_POINTER__ == 8
++ case FFI_TYPE_UINT64: value = *(uint64_t *)data; break;
++ case FFI_TYPE_SINT64: value = *(int64_t *)data; break;
++#endif
++ case FFI_TYPE_POINTER: value = *(size_t *)data; break;
++
++ /* float values may be recoded in an implementation-defined way
++ by hardware conforming to 2.1 or earlier, so use asm to
++ reinterpret floats as doubles */
++#if ABI_FLEN >= 32
++ case FFI_TYPE_FLOAT:
++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data));
++ return;
++#endif
++#if ABI_FLEN >= 64
++ case FFI_TYPE_DOUBLE:
++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data));
++ return;
++#endif
++ default: FFI_ASSERT(0); break;
++ }
++
++ if (cb->used_integer == NARGREG) {
++ *cb->used_stack++ = value;
++ } else {
++ cb->aregs->a[cb->used_integer++] = value;
++ }
++}
++
++static void unmarshal_atom(call_builder *cb, int type, void *data) {
++ size_t value;
++ switch (type) {
++#if ABI_FLEN >= 32
++ case FFI_TYPE_FLOAT:
++ asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++]));
++ return;
++#endif
++#if ABI_FLEN >= 64
++ case FFI_TYPE_DOUBLE:
++ asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++]));
++ return;
++#endif
++ }
++
++ if (cb->used_integer == NARGREG) {
++ value = *cb->used_stack++;
++ } else {
++ value = cb->aregs->a[cb->used_integer++];
++ }
++
++ switch (type) {
++ case FFI_TYPE_UINT8: *(uint8_t *)data = value; break;
++ case FFI_TYPE_SINT8: *(uint8_t *)data = value; break;
++ case FFI_TYPE_UINT16: *(uint16_t *)data = value; break;
++ case FFI_TYPE_SINT16: *(uint16_t *)data = value; break;
++ case FFI_TYPE_UINT32: *(uint32_t *)data = value; break;
++ case FFI_TYPE_SINT32: *(uint32_t *)data = value; break;
++#if __SIZEOF_POINTER__ == 8
++ case FFI_TYPE_UINT64: *(uint64_t *)data = value; break;
++ case FFI_TYPE_SINT64: *(uint64_t *)data = value; break;
++#endif
++ case FFI_TYPE_POINTER: *(size_t *)data = value; break;
++ default: FFI_ASSERT(0); break;
++ }
++}
++
++/* adds an argument to a call, or a not by reference return value */
++static void marshal(call_builder *cb, ffi_type *type, int var, void *data) {
++ size_t realign[2];
++
++#if ABI_FLEN
++ if (!var && type->type == FFI_TYPE_STRUCT) {
++ float_struct_info fsi = struct_passed_as_elements(cb, type);
++ if (fsi.as_elements) {
++ marshal_atom(cb, fsi.type1, data);
++ if (fsi.offset2)
++ marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2);
++ return;
++ }
++ }
++
++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) {
++ marshal_atom(cb, type->type, data);
++ return;
++ }
++#endif
++
++ if (type->size > 2 * __SIZEOF_POINTER__) {
++ /* pass by reference */
++ marshal_atom(cb, FFI_TYPE_POINTER, &data);
++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) {
++ marshal_atom(cb, type->type, data);
++ } else {
++ /* overlong integers, soft-float floats, and structs without special
++ float handling are treated identically from this point on */
++
++ /* variadics are aligned even in registers */
++ if (type->alignment > __SIZEOF_POINTER__) {
++ if (var)
++ cb->used_integer = ALIGN(cb->used_integer, 2);
++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__);
++ }
++
++ memcpy(realign, data, type->size);
++ if (type->size > 0)
++ marshal_atom(cb, FFI_TYPE_POINTER, realign);
++ if (type->size > __SIZEOF_POINTER__)
++ marshal_atom(cb, FFI_TYPE_POINTER, realign + 1);
++ }
++}
++
++/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */
++static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) {
++ size_t realign[2];
++ void *pointer;
++
++#if ABI_FLEN
++ if (!var && type->type == FFI_TYPE_STRUCT) {
++ float_struct_info fsi = struct_passed_as_elements(cb, type);
++ if (fsi.as_elements) {
++ unmarshal_atom(cb, fsi.type1, data);
++ if (fsi.offset2)
++ unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2);
++ return data;
++ }
++ }
++
++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) {
++ unmarshal_atom(cb, type->type, data);
++ return data;
++ }
++#endif
++
++ if (type->size > 2 * __SIZEOF_POINTER__) {
++ /* pass by reference */
++ unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer);
++ return pointer;
++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) {
++ unmarshal_atom(cb, type->type, data);
++ return data;
++ } else {
++ /* overlong integers, soft-float floats, and structs without special
++ float handling are treated identically from this point on */
++
++ /* variadics are aligned even in registers */
++ if (type->alignment > __SIZEOF_POINTER__) {
++ if (var)
++ cb->used_integer = ALIGN(cb->used_integer, 2);
++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__);
++ }
++
++ if (type->size > 0)
++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign);
++ if (type->size > __SIZEOF_POINTER__)
++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1);
++ memcpy(data, realign, type->size);
++ return data;
++ }
++}
++
++static int passed_by_ref(call_builder *cb, ffi_type *type, int var) {
++#if ABI_FLEN
++ if (!var && type->type == FFI_TYPE_STRUCT) {
++ float_struct_info fsi = struct_passed_as_elements(cb, type);
++ if (fsi.as_elements) return 0;
++ }
++#endif
++
++ return type->size > 2 * __SIZEOF_POINTER__;
++}
++
++/* Perform machine dependent cif processing */
++ffi_status ffi_prep_cif_machdep(ffi_cif *cif) {
++ cif->riscv_nfixedargs = cif->nargs;
++ return FFI_OK;
++}
++
++/* Perform machine dependent cif processing when we have a variadic function */
++
++ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) {
++ cif->riscv_nfixedargs = nfixedargs;
++ return FFI_OK;
++}
++
++/* Low level routine for calling functions */
++extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN;
++
++void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
++{
++ /* this is a conservative estimate, assuming a complex return value and
++ that all remaining arguments are long long / __int128 */
++ size_t arg_bytes = cif->nargs <= 3 ? 0 :
++ ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN);
++ size_t rval_bytes = 0;
++ if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__)
++ rval_bytes = ALIGN(cif->rtype->size, STKALIGN);
++ size_t alloc_size = arg_bytes + rval_bytes + sizeof(call_context);
++
++ /* the assembly code will deallocate all stack data at lower addresses
++ than the argument region, so we need to allocate the frame and the
++ return value after the arguments in a single allocation */
++ size_t alloc_base;
++ /* Argument region must be 16-byte aligned */
++ if (_Alignof(max_align_t) >= STKALIGN) {
++ /* since sizeof long double is normally 16, the compiler will
++ guarantee alloca alignment to at least that much */
++ alloc_base = (size_t)alloca(alloc_size);
++ } else {
++ alloc_base = ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN);
++ }
++
++ if (rval_bytes)
++ rvalue = (void*)(alloc_base + arg_bytes);
++
++ call_builder cb;
++ cb.used_float = cb.used_integer = 0;
++ cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes);
++ cb.used_stack = (void*)alloc_base;
++
++ int return_by_ref = passed_by_ref(&cb, cif->rtype, 0);
++ if (return_by_ref)
++ marshal(&cb, &ffi_type_pointer, 0, &rvalue);
++
++ int i;
++ for (i = 0; i < cif->nargs; i++)
++ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]);
++
++ ffi_call_asm((void*)alloc_base, cb.aregs, fn);
++
++ cb.used_float = cb.used_integer = 0;
++ if (!return_by_ref && rvalue)
++ unmarshal(&cb, cif->rtype, 0, rvalue);
++}
++
++extern void ffi_closure_asm(void) FFI_HIDDEN;
++
++ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc)
++{
++ uint32_t *tramp = (uint32_t *) &closure->tramp[0];
++ uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm;
++
++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI)
++ return FFI_BAD_ABI;
++
++ /* we will call ffi_closure_inner with codeloc, not closure, but as long
++ as the memory is readable it should work */
++
++ tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */
++#if __SIZEOF_POINTER__ == 8
++ tramp[1] = 0x01033383; /* ld t2, 16(t1) */
++#else
++ tramp[1] = 0x01032383; /* lw t2, 16(t1) */
++#endif
++ tramp[2] = 0x00038067; /* jr t2 */
++ tramp[3] = 0x00000013; /* nop */
++ tramp[4] = fn;
++ tramp[5] = fn >> 32;
++
++ closure->cif = cif;
++ closure->fun = fun;
++ closure->user_data = user_data;
++
++ __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE);
++
++ return FFI_OK;
++}
++
++/* Called by the assembly code with aregs pointing to saved argument registers
++ and stack pointing to the stacked arguments. Return values passed in
++ registers will be reloaded from aregs. */
++void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) {
++ ffi_cif *cif = closure->cif;
++ void **avalue = alloca(cif->nargs * sizeof(void*));
++ /* storage for arguments which will be copied by unmarshal(). We could
++ theoretically avoid the copies in many cases and use at most 128 bytes
++ of memory, but allocating disjoint storage for each argument is
++ simpler. */
++ char *astorage = alloca(cif->nargs * MAXCOPYARG);
++ void *rvalue;
++ call_builder cb;
++ int return_by_ref;
++ int i;
++
++ cb.aregs = aregs;
++ cb.used_integer = cb.used_float = 0;
++ cb.used_stack = stack;
++
++ return_by_ref = passed_by_ref(&cb, cif->rtype, 0);
++ if (return_by_ref)
++ unmarshal(&cb, &ffi_type_pointer, 0, &rvalue);
++ else
++ rvalue = alloca(cif->rtype->size);
++
++ for (i = 0; i < cif->nargs; i++)
++ avalue[i] = unmarshal(&cb, cif->arg_types[i],
++ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG);
++
++ (closure->fun)(cif, rvalue, avalue, closure->user_data);
++
++ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) {
++ cb.used_integer = cb.used_float = 0;
++ marshal(&cb, cif->rtype, 0, rvalue);
++ }
++}
+diff --git a/src/riscv/ffitarget.h b/src/riscv/ffitarget.h
+new file mode 100644
+index 0000000..fcaa899
+--- /dev/null
++++ b/src/riscv/ffitarget.h
+@@ -0,0 +1,68 @@
++/* -----------------------------------------------------------------*-C-*-
++ ffitarget.h - 2014 Michael Knyszek
++
++ Target configuration macros for RISC-V.
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ ``Software''), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++
++ ----------------------------------------------------------------------- */
++
++#ifndef LIBFFI_TARGET_H
++#define LIBFFI_TARGET_H
++
++#ifndef LIBFFI_H
++#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
++#endif
++
++#ifndef __riscv
++#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler."
++#endif
++
++#ifndef LIBFFI_ASM
++
++typedef unsigned long ffi_arg;
++typedef signed long ffi_sarg;
++
++/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a
++ distributed Berkeley patch from 2014, and can be removed at SONAME bump */
++typedef enum ffi_abi {
++ FFI_FIRST_ABI = 0,
++ FFI_SYSV,
++ FFI_UNUSED_1,
++ FFI_UNUSED_2,
++ FFI_UNUSED_3,
++ FFI_LAST_ABI,
++
++ FFI_DEFAULT_ABI = FFI_SYSV
++} ffi_abi;
++
++#endif /* LIBFFI_ASM */
++
++/* ---- Definitions for closures ----------------------------------------- */
++
++#define FFI_CLOSURES 1
++#define FFI_TRAMPOLINE_SIZE 24
++#define FFI_NATIVE_RAW_API 0
++#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused;
++#define FFI_TARGET_SPECIFIC_VARIADIC
++
++#endif
++
+diff --git a/src/riscv/sysv.S b/src/riscv/sysv.S
+new file mode 100644
+index 0000000..2d09865
+--- /dev/null
++++ b/src/riscv/sysv.S
+@@ -0,0 +1,214 @@
++/* -----------------------------------------------------------------------
++ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu>
++ 2015 Andrew Waterman <waterman@cs.berkeley.edu>
++ 2018 Stef O'Rear <sorear2@gmail.com>
++
++ RISC-V Foreign Function Interface
++
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ ``Software''), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++ ----------------------------------------------------------------------- */
++
++#define LIBFFI_ASM
++#include <fficonfig.h>
++#include <ffi.h>
++
++/* Define aliases so that we can handle all ABIs uniformly */
++
++#if __SIZEOF_POINTER__ == 8
++#define PTRS 8
++#define LARG ld
++#define SARG sd
++#else
++#define PTRS 4
++#define LARG lw
++#define SARG sw
++#endif
++
++#if __riscv_float_abi_double
++#define FLTS 8
++#define FLARG fld
++#define FSARG fsd
++#elif __riscv_float_abi_single
++#define FLTS 4
++#define FLARG flw
++#define FSARG fsw
++#else
++#define FLTS 0
++#endif
++
++#define fp s0
++
++ .text
++ .globl ffi_call_asm
++ .type ffi_call_asm, @function
++ .hidden ffi_call_asm
++/*
++ struct call_context {
++ floatreg fa[8];
++ intreg a[8];
++ intreg pad[rv32 ? 2 : 0];
++ intreg save_fp, save_ra;
++ }
++ void ffi_call_asm(size_t *stackargs, struct call_context *regargs,
++ void (*fn)(void));
++*/
++
++#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16)
++
++ffi_call_asm:
++ .cfi_startproc
++
++ /*
++ We are NOT going to set up an ordinary stack frame. In order to pass
++ the stacked args to the called function, we adjust our stack pointer to
++ a0, which is in the _caller's_ alloca area. We establish our own stack
++ frame at the end of the call_context.
++
++ Anything below the arguments will be freed at this point, although we
++ preserve the call_context so that it can be read back in the caller.
++ */
++
++ .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1
++ SARG fp, FRAME_LEN - 2*PTRS(a1)
++ .cfi_offset 8, -2*PTRS
++ SARG ra, FRAME_LEN - 1*PTRS(a1)
++ .cfi_offset 1, -1*PTRS
++
++ addi fp, a1, FRAME_LEN
++ mv sp, a0
++ .cfi_def_cfa 8, 0 # our frame is fully set up
++
++ # Load arguments
++ mv t1, a2
++
++#if FLTS
++ FLARG fa0, -FRAME_LEN+0*FLTS(fp)
++ FLARG fa1, -FRAME_LEN+1*FLTS(fp)
++ FLARG fa2, -FRAME_LEN+2*FLTS(fp)
++ FLARG fa3, -FRAME_LEN+3*FLTS(fp)
++ FLARG fa4, -FRAME_LEN+4*FLTS(fp)
++ FLARG fa5, -FRAME_LEN+5*FLTS(fp)
++ FLARG fa6, -FRAME_LEN+6*FLTS(fp)
++ FLARG fa7, -FRAME_LEN+7*FLTS(fp)
++#endif
++
++ LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp)
++ LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp)
++ LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp)
++ LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp)
++ LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp)
++ LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp)
++ LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp)
++ LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp)
++
++ /* Call */
++ jalr t1
++
++ /* Save return values - only a0/a1 (fa0/fa1) are used */
++#if FLTS
++ FSARG fa0, -FRAME_LEN+0*FLTS(fp)
++ FSARG fa1, -FRAME_LEN+1*FLTS(fp)
++#endif
++
++ SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp)
++ SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp)
++
++ /* Restore and return */
++ addi sp, fp, -FRAME_LEN
++ .cfi_def_cfa 2, FRAME_LEN
++ LARG ra, -1*PTRS(fp)
++ .cfi_restore 1
++ LARG fp, -2*PTRS(fp)
++ .cfi_restore 8
++ ret
++ .cfi_endproc
++ .size ffi_call_asm, .-ffi_call_asm
++
++
++/*
++ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1.
++ void ffi_closure_inner(size_t *stackargs, struct call_context *regargs,
++ ffi_closure *closure);
++*/
++
++ .globl ffi_closure_asm
++ .hidden ffi_closure_asm
++ .type ffi_closure_asm, @function
++ffi_closure_asm:
++ .cfi_startproc
++
++ addi sp, sp, -FRAME_LEN
++ .cfi_def_cfa_offset FRAME_LEN
++
++ /* make a frame */
++ SARG fp, FRAME_LEN - 2*PTRS(sp)
++ .cfi_offset 8, -2*PTRS
++ SARG ra, FRAME_LEN - 1*PTRS(sp)
++ .cfi_offset 1, -1*PTRS
++ addi fp, sp, FRAME_LEN
++
++ /* save arguments */
++#if FLTS
++ FSARG fa0, 0*FLTS(sp)
++ FSARG fa1, 1*FLTS(sp)
++ FSARG fa2, 2*FLTS(sp)
++ FSARG fa3, 3*FLTS(sp)
++ FSARG fa4, 4*FLTS(sp)
++ FSARG fa5, 5*FLTS(sp)
++ FSARG fa6, 6*FLTS(sp)
++ FSARG fa7, 7*FLTS(sp)
++#endif
++
++ SARG a0, 8*FLTS+0*PTRS(sp)
++ SARG a1, 8*FLTS+1*PTRS(sp)
++ SARG a2, 8*FLTS+2*PTRS(sp)
++ SARG a3, 8*FLTS+3*PTRS(sp)
++ SARG a4, 8*FLTS+4*PTRS(sp)
++ SARG a5, 8*FLTS+5*PTRS(sp)
++ SARG a6, 8*FLTS+6*PTRS(sp)
++ SARG a7, 8*FLTS+7*PTRS(sp)
++
++ /* enter C */
++ addi a0, sp, FRAME_LEN
++ mv a1, sp
++ mv a2, t1
++
++ call ffi_closure_inner
++
++ /* return values */
++#if FLTS
++ FLARG fa0, 0*FLTS(sp)
++ FLARG fa1, 1*FLTS(sp)
++#endif
++
++ LARG a0, 8*FLTS+0*PTRS(sp)
++ LARG a1, 8*FLTS+1*PTRS(sp)
++
++ /* restore and return */
++ LARG ra, FRAME_LEN-1*PTRS(sp)
++ .cfi_restore 1
++ LARG fp, FRAME_LEN-2*PTRS(sp)
++ .cfi_restore 8
++ addi sp, sp, FRAME_LEN
++ .cfi_def_cfa_offset 0
++ ret
++ .cfi_endproc
++ .size ffi_closure_asm, .-ffi_closure_asm
diff --git a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb
index a0b1fcd16..792a1143b 100644
--- a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb
+++ b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb
@@ -12,10 +12,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b"
SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \
file://not-win32.patch \
- file://0001-mips-Use-compiler-internal-define-for-linux.patch \
+ file://0001-mips-Use-compiler-internal-define-for-linux.patch \
file://0001-mips-fix-MIPS-softfloat-build-issue.patch \
file://0001-libffi-Support-musl-x32-build.patch \
- "
+ file://0001-New-RISC-V-port-281.patch \
+ "
SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43"
SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37"
diff --git a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch b/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch
deleted file mode 100644
index b50f50e70..000000000
--- a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 918cd8764a845a9d25918a444fbaa5070d2be609 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 21 Aug 2015 16:38:05 +0300
-Subject: [PATCH] Remove cmake check for Perl
-
-We set "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY" in cmake bbclass to
-make sure cmake does not find host programs. In this case we actually
-are fine with host perl: remove the check.
-
-Upstream-Status: Inappropriate [workaround]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- CMakeLists.txt | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-Index: libical-2.0.0/CMakeLists.txt
-===================================================================
---- libical-2.0.0.orig/CMakeLists.txt
-+++ libical-2.0.0/CMakeLists.txt
-@@ -116,8 +116,7 @@ if(SHARED_ONLY)
- set(LIBRARY_TYPE SHARED)
- endif()
-
--# must have Perl to create the derived stuff
--find_package(Perl REQUIRED)
-+set(PERL_EXECUTABLE perl)
-
- # Ensure finding 64bit libs when using 64-bit compilers
- if(CMAKE_CL_64)
diff --git a/poky/meta/recipes-support/libical/libical_2.0.0.bb b/poky/meta/recipes-support/libical/libical_2.0.0.bb
index daa47abcb..7dffdcfb0 100644
--- a/poky/meta/recipes-support/libical/libical_2.0.0.bb
+++ b/poky/meta/recipes-support/libical/libical_2.0.0.bb
@@ -1,13 +1,12 @@
SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library"
HOMEPAGE = "https://github.com/libical/libical"
BUGTRACKER = "https://github.com/libical/libical/issues"
-LICENSE = "LGPLv2.1 | MPL-1"
+LICENSE = "LGPLv2.1 | MPL-1.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=d4fc58309d8ed46587ac63bb449d82f8 \
file://LICENSE;md5=d1a0891cd3e582b3e2ec8fe63badbbb6"
SECTION = "libs"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
- file://Remove-cmake-check-for-Perl.patch \
file://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \
"
DEPENDS = "icu"
@@ -18,6 +17,9 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
inherit cmake pkgconfig
+# No need to use perl-native, the host perl is sufficient.
+EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
+
do_install_append_class-target () {
# Remove build host references
sed -i \
diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb
index 3a0aa5302..50b26753b 100644
--- a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb
+++ b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb
@@ -8,14 +8,14 @@ SUMMARY = "Perl Compatible Regular Expressions version 2"
HOMEPAGE = "http://www.pcre.org"
SECTION = "devel"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=cf66d307bf03bae65d413eb7a8e603a0"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b1588d3bb4cb0e1f5a597d908f8c5b37"
SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \
file://pcre-cross.patch \
"
-SRC_URI[md5sum] = "8a096287153fb994970df3570e90fcb5"
-SRC_URI[sha256sum] = "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e"
+SRC_URI[md5sum] = "80b355f2dce909a2e2424f5c79eddb44"
+SRC_URI[sha256sum] = "35514dff0ccdf02b55bd2e9fa586a1b9d01f62332c3356e379eabb75f789d8aa"
CVE_PRODUCT = "pcre2"
diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb
index 08314efb9..b97af08b2 100644
--- a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb
+++ b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb
@@ -72,3 +72,5 @@ do_install_ptest() {
# locale so the test fails if fr_FR is UTF-8 locale.
sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest
}
+
+RDEPENDS_${PN}-ptest += "make"
diff --git a/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch
new file mode 100644
index 000000000..2331a766a
--- /dev/null
+++ b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch
@@ -0,0 +1,28 @@
+From 8691105e1808ec9b031b6c25f70204a0908ae9c1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sat, 1 Jun 2019 13:09:41 +0200
+Subject: [PATCH] gtk-doc: do not include tree_index.sgml
+
+gtk-doc 1.30 no longer generates the file if the object tree is empty
+
+Upstream-Status: Submitted [https://github.com/rockdaboot/libpsl/pull/137]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ docs/libpsl/libpsl-docs.sgml | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/docs/libpsl/libpsl-docs.sgml b/docs/libpsl/libpsl-docs.sgml
+index 1eca9a2..1c38dbc 100644
+--- a/docs/libpsl/libpsl-docs.sgml
++++ b/docs/libpsl/libpsl-docs.sgml
+@@ -22,10 +22,6 @@
+ </para>
+ <xi:include href="xml/libpsl.xml"/>
+ </chapter>
+- <chapter id="object-tree">
+- <title>Object Hierarchy</title>
+- <xi:include href="xml/tree_index.sgml"/>
+- </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
index f545ba076..fc2417fc2 100644
--- a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
+++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
@@ -4,7 +4,9 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \
file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18"
-SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz \
+ file://0001-gtk-doc-do-not-include-tree_index.sgml.patch \
+ "
SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2"
SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12"
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb
index f0043f80b..c4715a041 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb
@@ -12,8 +12,8 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \
"
-SRC_URI[md5sum] = "5f04c09a06f6dbe4c4d3f003992145ce"
-SRC_URI[sha256sum] = "4a2cb6c1174540af13661636035992c2b179dfcb39f4d3fa7bee3c7e355c43ff"
+SRC_URI[md5sum] = "66c2ae89d6031b01337d78a2c57c75d5"
+SRC_URI[sha256sum] = "bd2ea602eba642509672812f3c99b77cbec2f3de02ba1cc8cb7206bf7de0ae2a"
S = "${WORKDIR}/libsoup-${PV}"
diff --git a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch b/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch
deleted file mode 100644
index b026782bd..000000000
--- a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From fdfad81006c2c964781b616f0a75578507be809c Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 21 Mar 2018 17:38:41 -0400
-Subject: [PATCH] Add support for the RISC-V architecture
-
-Tested in QEMU 2.12.0-rc0, requires --disable-compiler-tls to go
-through the benchmarks reliably.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Upstream-Status: Backport
----
- configure.ac | 1 +
- include/Makefile.am | 2 ++
- include/urcu/arch/riscv.h | 49 ++++++++++++++++++++++++++++++++++++++++++++
- include/urcu/uatomic/riscv.h | 44 +++++++++++++++++++++++++++++++++++++++
- 4 files changed, 96 insertions(+)
- create mode 100644 include/urcu/arch/riscv.h
- create mode 100644 include/urcu/uatomic/riscv.h
-
-diff --git a/configure.ac b/configure.ac
-index d0b4a9ac..9145081a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -151,6 +151,7 @@ AS_CASE([$host_cpu],
- [tile*], [ARCHTYPE="tile"],
- [hppa*], [ARCHTYPE="hppa"],
- [m68k], [ARCHTYPE="m68k"],
-+ [riscv*], [ARCHTYPE="riscv"],
- [ARCHTYPE="unknown"]
- )
-
-diff --git a/include/Makefile.am b/include/Makefile.am
-index dcdf304b..36667b43 100644
---- a/include/Makefile.am
-+++ b/include/Makefile.am
-@@ -27,6 +27,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \
- urcu/arch/mips.h \
- urcu/arch/nios2.h \
- urcu/arch/ppc.h \
-+ urcu/arch/riscv.h \
- urcu/arch/s390.h \
- urcu/arch/sparc64.h \
- urcu/arch/tile.h \
-@@ -43,6 +44,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \
- urcu/uatomic/mips.h \
- urcu/uatomic/nios2.h \
- urcu/uatomic/ppc.h \
-+ urcu/uatomic/riscv.h \
- urcu/uatomic/s390.h \
- urcu/uatomic/sparc64.h \
- urcu/uatomic/tile.h \
-diff --git a/include/urcu/arch/riscv.h b/include/urcu/arch/riscv.h
-new file mode 100644
-index 00000000..1fd7d62b
---- /dev/null
-+++ b/include/urcu/arch/riscv.h
-@@ -0,0 +1,49 @@
-+#ifndef _URCU_ARCH_RISCV_H
-+#define _URCU_ARCH_RISCV_H
-+
-+/*
-+ * arch/riscv.h: definitions for the RISC-V architecture
-+ *
-+ * Copyright (c) 2018 Michael Jeanson <mjeanson@efficios.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#include <urcu/compiler.h>
-+#include <urcu/config.h>
-+#include <urcu/syscall-compat.h>
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+#include <stdlib.h>
-+#include <sys/time.h>
-+
-+/*
-+ * On Linux, define the membarrier system call number if not yet available in
-+ * the system headers.
-+ */
-+#if (defined(__linux__) && !defined(__NR_membarrier))
-+#define __NR_membarrier 283
-+#endif
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#include <urcu/arch/generic.h>
-+
-+#endif /* _URCU_ARCH_RISCV_H */
-diff --git a/include/urcu/uatomic/riscv.h b/include/urcu/uatomic/riscv.h
-new file mode 100644
-index 00000000..a6700e17
---- /dev/null
-+++ b/include/urcu/uatomic/riscv.h
-@@ -0,0 +1,44 @@
-+/*
-+ * Atomic exchange operations for the RISC-V architecture. Let GCC do it.
-+ *
-+ * Copyright (c) 2018 Michael Jeanson <mjeanson@efficios.com>
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a copy
-+ * of this software and associated documentation files (the "Software"), to
-+ * deal in the Software without restriction, including without limitation the
-+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the Software is
-+ * furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be included in
-+ * all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-+ * IN THE SOFTWARE.
-+ */
-+
-+#ifndef _URCU_ARCH_UATOMIC_RISCV_H
-+#define _URCU_ARCH_UATOMIC_RISCV_H
-+
-+#include <urcu/compiler.h>
-+#include <urcu/system.h>
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+#define UATOMIC_HAS_ATOMIC_BYTE
-+#define UATOMIC_HAS_ATOMIC_SHORT
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#include <urcu/uatomic/generic.h>
-+
-+#endif /* _URCU_ARCH_UATOMIC_RISCV_H */
diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb
index b4b6e2323..6a517e6f2 100644
--- a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb
+++ b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb
@@ -4,15 +4,13 @@ BUGTRACKER = "http://lttng.org/project/issues"
LICENSE = "LGPLv2.1+ & MIT-style"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \
- file://src/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \
+ file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \
file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b"
-SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \
- file://Add-support-for-the-RISC-V-architecture.patch \
- "
+SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2"
-SRC_URI[md5sum] = "7c424c5183ec009d87e0f70c23e92f1b"
-SRC_URI[sha256sum] = "b3f6888daf6fe02c1f8097f4a0898e41b5fe9975e121dc792b9ddef4b17261cc"
+SRC_URI[md5sum] = "91c75d5902127f94ab556ce039b369ca"
+SRC_URI[sha256sum] = "92b9971bf3f1c443edd6c09e7bf5ff3b43531e778841f16377a812c8feeb3350"
S = "${WORKDIR}/userspace-rcu-${PV}"
inherit autotools multilib_header
diff --git a/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch b/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch
new file mode 100644
index 000000000..89b647ddb
--- /dev/null
+++ b/poky/meta/recipes-support/libxslt/files/0001-Fix-security-framework-bypass.patch
@@ -0,0 +1,124 @@
+From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Sun, 24 Mar 2019 09:51:39 +0100
+Subject: Fix security framework bypass
+
+xsltCheckRead and xsltCheckWrite return -1 in case of error but callers
+don't check for this condition and allow access. With a specially
+crafted URL, xsltCheckRead could be tricked into returning an error
+because of a supposedly invalid URL that would still be loaded
+succesfully later on.
+
+Fixes #12.
+
+Thanks to Felix Wilhelm for the report.
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Backport
+CVE: CVE-2019-11068
+---
+ libxslt/documents.c | 18 ++++++++++--------
+ libxslt/imports.c | 9 +++++----
+ libxslt/transform.c | 9 +++++----
+ libxslt/xslt.c | 9 +++++----
+ 4 files changed, 25 insertions(+), 20 deletions(-)
+
+diff --git a/libxslt/documents.c b/libxslt/documents.c
+index 3f3a7312..4aad11bb 100644
+--- a/libxslt/documents.c
++++ b/libxslt/documents.c
+@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) {
+ int res;
+
+ res = xsltCheckRead(ctxt->sec, ctxt, URI);
+- if (res == 0) {
+- xsltTransformError(ctxt, NULL, NULL,
+- "xsltLoadDocument: read rights for %s denied\n",
+- URI);
++ if (res <= 0) {
++ if (res == 0)
++ xsltTransformError(ctxt, NULL, NULL,
++ "xsltLoadDocument: read rights for %s denied\n",
++ URI);
+ return(NULL);
+ }
+ }
+@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
+ int res;
+
+ res = xsltCheckRead(sec, NULL, URI);
+- if (res == 0) {
+- xsltTransformError(NULL, NULL, NULL,
+- "xsltLoadStyleDocument: read rights for %s denied\n",
+- URI);
++ if (res <= 0) {
++ if (res == 0)
++ xsltTransformError(NULL, NULL, NULL,
++ "xsltLoadStyleDocument: read rights for %s denied\n",
++ URI);
+ return(NULL);
+ }
+ }
+diff --git a/libxslt/imports.c b/libxslt/imports.c
+index 874870cc..3783b247 100644
+--- a/libxslt/imports.c
++++ b/libxslt/imports.c
+@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) {
+ int secres;
+
+ secres = xsltCheckRead(sec, NULL, URI);
+- if (secres == 0) {
+- xsltTransformError(NULL, NULL, NULL,
+- "xsl:import: read rights for %s denied\n",
+- URI);
++ if (secres <= 0) {
++ if (secres == 0)
++ xsltTransformError(NULL, NULL, NULL,
++ "xsl:import: read rights for %s denied\n",
++ URI);
+ goto error;
+ }
+ }
+diff --git a/libxslt/transform.c b/libxslt/transform.c
+index 13793914..0636dbd0 100644
+--- a/libxslt/transform.c
++++ b/libxslt/transform.c
+@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
+ */
+ if (ctxt->sec != NULL) {
+ ret = xsltCheckWrite(ctxt->sec, ctxt, filename);
+- if (ret == 0) {
+- xsltTransformError(ctxt, NULL, inst,
+- "xsltDocumentElem: write rights for %s denied\n",
+- filename);
++ if (ret <= 0) {
++ if (ret == 0)
++ xsltTransformError(ctxt, NULL, inst,
++ "xsltDocumentElem: write rights for %s denied\n",
++ filename);
+ xmlFree(URL);
+ xmlFree(filename);
+ return;
+diff --git a/libxslt/xslt.c b/libxslt/xslt.c
+index 780a5ad7..a234eb79 100644
+--- a/libxslt/xslt.c
++++ b/libxslt/xslt.c
+@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) {
+ int res;
+
+ res = xsltCheckRead(sec, NULL, filename);
+- if (res == 0) {
+- xsltTransformError(NULL, NULL, NULL,
+- "xsltParseStylesheetFile: read rights for %s denied\n",
+- filename);
++ if (res <= 0) {
++ if (res == 0)
++ xsltTransformError(NULL, NULL, NULL,
++ "xsltParseStylesheetFile: read rights for %s denied\n",
++ filename);
+ return(NULL);
+ }
+ }
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
index 28d404ca7..6320a821d 100644
--- a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
+++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://Copyright;md5=0cd9a07afbeb24026c9b03aecfeba458"
SECTION = "libs"
DEPENDS = "libxml2"
-SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz"
+SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \
+ file://0001-Fix-security-framework-bypass.patch \
+"
SRC_URI[md5sum] = "b3bd254a03e46d58f8ad1e4559cd2c2f"
SRC_URI[sha256sum] = "8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8"
@@ -21,8 +23,9 @@ BINCONFIG = "${bindir}/xslt-config"
inherit autotools pkgconfig binconfig-disabled lib_package
-# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header
do_configure_prepend () {
+ # We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header.
+ # This can be removed when upgrading to 1.1.34.
sed -i -e 's/ansidecl.h//' ${S}/configure.ac
# The timestamps in the 1.1.28 tarball are messed up causing this file to
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb
index 744a1bf47..de1f97024 100644
--- a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
PE = "1"
-SRCREV = "131896ab9d4fc9b8c606616327ed223d5d86472b"
+SRCREV = "398e36c756a3067de8e2b35dd380baef040dfe0d"
SRC_URI = "git://github.com/lz4/lz4.git \
file://run-ptest \
diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch b/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch
deleted file mode 100644
index 82f25743a..000000000
--- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d1345871b992f9a055c968963967e728da1a7ffb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Jan 2016 20:29:06 +0000
-Subject: [PATCH] nss-myhostname: Check for nss.h presense before use
-
-We do not have nss.h on musl e.g. and configury is already checking for
-nss.h presence, use this to define needed data structures if nss.h is
-missing on a given libc implementation on a platform
-
-include stdint.h for uint32_h definition
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- nss-myhostname.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/nss-myhostname.c b/nss-myhostname.c
-index 293166c..6f287f5 100644
---- a/nss-myhostname.c
-+++ b/nss-myhostname.c
-@@ -21,7 +21,27 @@
- ***/
-
- #include <limits.h>
-+#include <stdint.h>
-+#ifdef HAVE_NSS_H
- #include <nss.h>
-+#else
-+enum nss_status {
-+ NSS_STATUS_TRYAGAIN = -2,
-+ NSS_STATUS_UNAVAIL,
-+ NSS_STATUS_NOTFOUND,
-+ NSS_STATUS_SUCCESS,
-+ NSS_STATUS_RETURN
-+};
-+/* Data structure used for the 'gethostbyname4_r' function. */
-+struct gaih_addrtuple
-+ {
-+ struct gaih_addrtuple *next;
-+ char *name;
-+ int family;
-+ uint32_t addr[4];
-+ uint32_t scopeid;
-+ };
-+#endif
- #include <sys/types.h>
- #include <netdb.h>
- #include <errno.h>
---
-2.7.0
-
diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb
index de5b7cf59..244d9e204 100644
--- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb
+++ b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb
@@ -7,7 +7,6 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz \
- file://0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch \
"
SRC_URI[md5sum] = "d4ab9ac36c053ab8fb836db1cbd4a48f"
@@ -15,6 +14,8 @@ SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67
inherit autotools distro_features_check
+COMPATIBLE_HOST_libc-musl = 'null'
+
# The systemd has its own copy of nss-myhostname
CONFLICT_DISTRO_FEATURES = "systemd"
diff --git a/poky/meta/recipes-support/nss/nss_3.43.bb b/poky/meta/recipes-support/nss/nss_3.44.bb
index f8cf5a46a..4205d7948 100644
--- a/poky/meta/recipes-support/nss/nss_3.43.bb
+++ b/poky/meta/recipes-support/nss/nss_3.44.bb
@@ -33,8 +33,8 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO
file://system-pkcs11.txt \
"
-SRC_URI[md5sum] = "67c8fa282c32cb56117fdd530dd77001"
-SRC_URI[sha256sum] = "f30bc1b7330887b75de9fec37dbc173001758dc43fb095ffbc45dac4093fe2ca"
+SRC_URI[md5sum] = "e9222b9573452b9f4e6ff4915d6407c2"
+SRC_URI[sha256sum] = "a5620e59b6eeedfd5a12c9298b50ad92e9898b223e214eb675e36f4ffb5b6aff"
UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb
index 59e675b54..54455da1b 100644
--- a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb
+++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb
@@ -9,7 +9,7 @@ DEPENDS = "libtasn1 libffi"
SRC_URI = "git://github.com/p11-glue/p11-kit \
file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \
"
-SRCREV = "1ba80c67c492f25581ed97c8c31ffb5f20636d06"
+SRCREV = "c689917b393379d288b868f70b2f7b7f6aafe430"
S = "${WORKDIR}/git"
AUTOTOOLS_AUXDIR = "${S}/build/litter"
diff --git a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb
index 4116efc76..fb529d25d 100644
--- a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb
+++ b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb
@@ -25,7 +25,7 @@ PACKAGECONFIG ??= "ncurses libcap"
PACKAGECONFIG[ncurses] = "--enable-ncurses --with-ncurses-include-dir=${STAGING_INCDIR}, --disable-ncurses, ncurses"
PACKAGECONFIG[libcap] = "--with-libcap, --without-libcap, libcap"
-PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qt4-x11"
+PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase"
PACKAGECONFIG[gtk2] = "--enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0"
#To use libsecret, add meta-gnome
@@ -33,7 +33,6 @@ PACKAGECONFIG[secret] = "--enable-libsecret, --disable-libsecret, libsecret"
EXTRA_OECONF = " \
--disable-rpath \
- --disable-pinentry-qt5 \
"
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/popt/popt_1.16.bb b/poky/meta/recipes-support/popt/popt_1.16.bb
index 478288f9b..27e49c2ca 100644
--- a/poky/meta/recipes-support/popt/popt_1.16.bb
+++ b/poky/meta/recipes-support/popt/popt_1.16.bb
@@ -8,7 +8,7 @@ PR = "r3"
DEPENDS = "virtual/libiconv"
-SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz \
+SRC_URI = "http://anduin.linuxfromscratch.org/BLFS/popt/popt-${PV}.tar.gz \
file://pkgconfig_fix.patch \
file://popt_fix_for_automake-1.12.patch \
file://disable_tests.patch \
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch
new file mode 100644
index 000000000..13b4cbc7f
--- /dev/null
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch
@@ -0,0 +1,212 @@
+From 79698d3205dedba887e0d2492de945d3079de029 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Thu, 6 Jun 2019 17:03:50 -0400
+Subject: [PATCH] utils: ensure child can be session leader
+
+When running the run-execscript bash ptest as a user rather than root, a warning:
+ bash: cannot set terminal process group (16036): Inappropriate ioctl for device
+ bash: no job control in this shell
+contaminates the bash log files causing the test to fail. This happens only
+when run under ptest-runner and not when interactively testing!
+
+The changes made to fix this include:
+1. Get the process group id (pgid) before forking,
+2. Set the pgid in both the parent and child to avoid a race,
+3. Find, open and set permission on the child tty, and
+4. Allow the child to attach to controlling tty.
+
+Also add '-lutil' to Makefile. This lib is from libc and provides openpty.
+
+Upstream-Status: Submitted [yocto@yoctoproject.org]
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ Makefile | 2 +-
+ utils.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++------
+ 2 files changed, 92 insertions(+), 12 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1bde7be..439eb79 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,7 +29,7 @@ TEST_DATA=$(shell echo `pwd`/tests/data)
+ all: $(SOURCES) $(EXECUTABLE)
+
+ $(EXECUTABLE): $(OBJECTS)
+- $(CC) $(LDFLAGS) $(OBJECTS) -o $@
++ $(CC) $(LDFLAGS) $(OBJECTS) -lutil -o $@
+
+ tests: $(TEST_SOURCES) $(TEST_EXECUTABLE)
+
+diff --git a/utils.c b/utils.c
+index ad737c2..f11ce39 100644
+--- a/utils.c
++++ b/utils.c
+@@ -1,5 +1,6 @@
+ /**
+ * Copyright (c) 2016 Intel Corporation
++ * Copyright (C) 2019 Wind River Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -22,23 +23,27 @@
+ */
+
+ #define _GNU_SOURCE
++
+ #include <stdio.h>
+
++#include <dirent.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <grp.h>
+ #include <libgen.h>
+-#include <signal.h>
+ #include <poll.h>
+-#include <fcntl.h>
++#include <pty.h>
++#include <signal.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <time.h>
+-#include <dirent.h>
++#include <unistd.h>
++
++#include <sys/ioctl.h>
+ #include <sys/resource.h>
++#include <sys/stat.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+-#include <sys/stat.h>
+-#include <unistd.h>
+-#include <string.h>
+-#include <stdlib.h>
+-
+-#include <errno.h>
+
+ #include "ptest_list.h"
+ #include "utils.h"
+@@ -346,6 +351,53 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid,
+ return status;
+ }
+
++/* Returns an integer file descriptor.
++ * If it returns < 0, an error has occurred.
++ * Otherwise, it has returned the slave pty file descriptor.
++ * fp should be writable, likely stdout/err.
++ */
++static int
++setup_slave_pty(FILE *fp) {
++ int pty_master = -1;
++ int pty_slave = -1;
++ char pty_name[256];
++ struct group *gptr;
++ gid_t gid;
++ int slave = -1;
++
++ if (openpty(&pty_master, &pty_slave, pty_name, NULL, NULL) < 0) {
++ fprintf(fp, "ERROR: openpty() failed with: %s.\n", strerror(errno));
++ return -1;
++ }
++
++ if ((gptr = getgrnam(pty_name)) != 0) {
++ gid = gptr->gr_gid;
++ } else {
++ /* If the tty group does not exist, don't change the
++ * group on the slave pty, only the owner
++ */
++ gid = -1;
++ }
++
++ /* chown/chmod the corresponding pty, if possible.
++ * This will only work if the process has root permissions.
++ */
++ if (chown(pty_name, getuid(), gid) != 0) {
++ fprintf(fp, "ERROR; chown() failed with: %s.\n", strerror(errno));
++ }
++
++ /* Makes the slave read/writeable for the user. */
++ if (chmod(pty_name, S_IRUSR|S_IWUSR) != 0) {
++ fprintf(fp, "ERROR: chmod() failed with: %s.\n", strerror(errno));
++ }
++
++ if ((slave = open(pty_name, O_RDWR)) == -1) {
++ fprintf(fp, "ERROR: open() failed with: %s.\n", strerror(errno));
++ }
++ return (slave);
++}
++
++
+ int
+ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+ const char *progname, FILE *fp, FILE *fp_stderr)
+@@ -362,6 +414,8 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+ int timeouted;
+ time_t sttime, entime;
+ int duration;
++ int slave;
++ int pgid = -1;
+
+ if (opts.xml_filename) {
+ xh = xml_create(ptest_list_length(head), opts.xml_filename);
+@@ -379,7 +433,6 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+ close(pipefd_stdout[1]);
+ break;
+ }
+-
+ fprintf(fp, "START: %s\n", progname);
+ PTEST_LIST_ITERATE_START(head, p);
+ char *ptest_dir = strdup(p->run_ptest);
+@@ -388,6 +441,13 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+ break;
+ }
+ dirname(ptest_dir);
++ if (ioctl(0, TIOCNOTTY) == -1) {
++ fprintf(fp, "ERROR: Unable to detach from controlling tty, %s\n", strerror(errno));
++ }
++
++ if ((pgid = getpgid(0)) == -1) {
++ fprintf(fp, "ERROR: getpgid() failed, %s\n", strerror(errno));
++ }
+
+ child = fork();
+ if (child == -1) {
+@@ -395,13 +455,33 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+ rc = -1;
+ break;
+ } else if (child == 0) {
+- setsid();
++ close(0);
++ if ((slave = setup_slave_pty(fp)) < 0) {
++ fprintf(fp, "ERROR: could not setup pty (%d).", slave);
++ }
++ if (setpgid(0,pgid) == -1) {
++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno));
++ }
++
++ if (setsid() == -1) {
++ fprintf(fp, "ERROR: setsid() failed, %s\n", strerror(errno));
++ }
++
++ if (ioctl(0, TIOCSCTTY, NULL) == -1) {
++ fprintf(fp, "ERROR: Unable to attach to controlling tty, %s\n", strerror(errno));
++ }
++
+ run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]);
++
+ } else {
+ int status;
+ int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0];
+ FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr;
+
++ if (setpgid(child, pgid) == -1) {
++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno));
++ }
++
+ sttime = time(NULL);
+ fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime));
+ fprintf(fp, "BEGIN: %s\n", ptest_dir);
+--
+2.17.0
+
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb
index e2eb258d0..dec60fcc9 100644
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb
@@ -7,13 +7,15 @@ HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-SRCREV = "05b112bda7ac2adba8e9b0f088d6e5843b148a38"
+SRCREV = "63d097cc46142157931682fed076b5407757a0bd"
PV = "2.3.1+git${SRCPV}"
SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \
file://0001-utils-Ensure-stdout-stderr-are-flushed.patch \
file://0002-use-process-groups-when-spawning.patch \
- file://0003-utils-Ensure-pipes-are-read-after-exit.patch"
+ file://0003-utils-Ensure-pipes-are-read-after-exit.patch \
+ file://0004-utils-ensure-child-can-be-session-leader.patch \
+"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
deleted file mode 100644
index 06d1d9436..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-If-the-libc-is-lacking-argp-use-libargp.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 06ba71887f667d45dd231a782a2751f36e8fe025 Mon Sep 17 00:00:00 2001
-From: Christopher Larson <chris_larson@mentor.com>
-Date: Mon, 15 Feb 2016 15:59:58 -0700
-Subject: [PATCH 1/4] If the libc is lacking argp, use libargp
-
-Patch pulled from Gentoo:
-
- On glibc systems, argp is provided by libc. However, on
- uclibc and other systems which lack argp in their C library,
- argp might be provided by a stand alone library, libargp.
- This patch adds tests to the build system to find who provides
- argp.
-
- X-Gentoo-Bug: 292191
- X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191
- Reported-by: Ed Wildgoose <gentoo@wildgooses.com>
- Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-
-Upstream-Status: Pending
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
----
- configure.ac | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 4e799dc..c4a5dd8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -135,6 +135,28 @@ AS_IF(
- ]
- )
-
-+dnl First check if we have argp available from libc
-+AC_LINK_IFELSE(
-+ [AC_LANG_PROGRAM(
-+ [#include <argp.h>],
-+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
-+ )],
-+ [libc_has_argp="true"],
-+ [libc_has_argp="false"]
-+)
-+
-+dnl If libc doesn't provide argp, then test for libargp
-+if test "$libc_has_argp" = "false" ; then
-+ AC_MSG_WARN("libc does not have argp")
-+ AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
-+
-+ if test "$have_argp" = "false"; then
-+ AC_MSG_ERROR("no libargp found")
-+ else
-+ LIBS+=" -largp"
-+ fi
-+fi
-+
- dnl -----------------
- dnl Configure options
- dnl -----------------
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
deleted file mode 100644
index d4d28a01c..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/0001-configure.ac-fix-typo.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 99b0efebd765803203686d89bc4f995bcb103e78 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 10 Nov 2018 09:53:19 +0800
-Subject: [PATCH] configure.ac: fix typo
-
-Upstream-Status: Submitted [https://github.com/nhorman/rng-tools.git]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4e799dc..0251928 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -62,7 +62,7 @@ AS_IF([test $target_cpu = powerpc64le], [AC_DEFINE([HAVE_DARN],1,[Enable DARN])]
- AM_CONDITIONAL([JITTER], [false])
-
- AC_ARG_ENABLE(jitterentropy,
-- AS_HELP_STRING([--disable-jitterntropy | --enable-jitterentropy=<path>],
-+ AS_HELP_STRING([--disable-jitterentropy | --enable-jitterentropy=<path>],
- [Disable jitterentropy source, or specify its location]),
- [if [ test -d $enable_jitterentropy ]; then
- export LDFLAGS+=-L$enable_jitterentropy;
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
deleted file mode 100644
index be60fe97f..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Add-argument-to-control-the-libargp-dependency.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 711e2f76890e3c5b08f64859d9fd913ddbec7d50 Mon Sep 17 00:00:00 2001
-From: Christopher Larson <chris_larson@mentor.com>
-Date: Mon, 22 Oct 2018 15:26:47 +0800
-Subject: [PATCH 2/4] Add argument to control the libargp dependency
-
-This ensures that the builds are always deterministic. If the argument isn't
-passed, the default behavior is to use libargp if the libc doesn't have argp.
-
-Upstream-Status: Pending
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-
-Rebase to 6.6
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 55 ++++++++++++++++++++++++++++++++++++-------------------
- 1 file changed, 36 insertions(+), 19 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index c4a5dd8..dd1c30f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,6 +40,13 @@ AC_ARG_WITH([nistbeacon],
- [with_nistbeacon=check]
- )
-
-+AC_ARG_WITH([libargp],
-+ AS_HELP_STRING([--without-libargp],
-+ [Disable libargp support. Systems whose libc lacks argp can use libargp instead. (Default: check if libc lacks argp)]),
-+ [with_libargp=$withval],
-+ [with_libargp=check]
-+)
-+
- dnl Make sure anyone changing configure.ac/Makefile.am has a clue
- AM_MAINTAINER_MODE
- AM_PROG_AS
-@@ -135,27 +142,37 @@ AS_IF(
- ]
- )
-
--dnl First check if we have argp available from libc
--AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM(
-- [#include <argp.h>],
-- [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
-- )],
-- [libc_has_argp="true"],
-- [libc_has_argp="false"]
-+dnl Determine if we need libargp: either user requested, or libc has no argp
-+AS_IF(
-+ [test "x$with_libargp" != "xyes"],
-+ [
-+ AC_LINK_IFELSE(
-+ [AC_LANG_PROGRAM(
-+ [#include <argp.h>],
-+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
-+ )],
-+ [need_libargp=no],
-+ [need_libargp=yes
-+ if test "x$with_libargp" = "xno"; then
-+ AC_MSG_FAILURE([libargp disabled and libc does not have argp])
-+ fi]
-+ )
-+ ],
-+ [need_libargp=yes],
- )
-
--dnl If libc doesn't provide argp, then test for libargp
--if test "$libc_has_argp" = "false" ; then
-- AC_MSG_WARN("libc does not have argp")
-- AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
--
-- if test "$have_argp" = "false"; then
-- AC_MSG_ERROR("no libargp found")
-- else
-- LIBS+=" -largp"
-- fi
--fi
-+dnl Check for libargp
-+AS_IF(
-+ [test "x$need_libargp" = "xyes"],
-+ [
-+ AC_CHECK_LIB(
-+ [argp],
-+ [argp_parse],
-+ [LIBS="$LIBS -largp"],
-+ [AC_MSG_FAILURE([libargp not found])]
-+ )
-+ ]
-+)
-
- dnl -----------------
- dnl Configure options
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/default b/poky/meta/recipes-support/rng-tools/rng-tools/default
index ab7cd9327..b9f8e0363 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/default
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/default
@@ -1,2 +1 @@
-# Specify rng device
-RNG_DEVICE=/dev/hwrng
+EXTRA_ARGS="-r /dev/hwrng"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch b/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch
new file mode 100644
index 000000000..58cf3f9d5
--- /dev/null
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch
@@ -0,0 +1,25 @@
+It fails to stop rngd. It just shows warnings when stop rngd such as by:
+
+$ systemctl stop rngd.service
+
+but stalls shutdown untill daemon rngd is killed.
+
+Backport patch to fix the issue.
+
+Upstream-Status: Backport [https://bugzilla.redhat.com/show_bug.cgi?id=1690364#c8]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/rngd_jitter.c b/rngd_jitter.c
+index 54070ae..7a69bf9 100644
+--- a/rngd_jitter.c
++++ b/rngd_jitter.c
+@@ -280,7 +280,7 @@ static void *thread_entropy_task(void *data)
+
+ /* Write to pipe */
+ written = 0;
+- while(written != me->buf_sz) {
++ while(me->active && written != me->buf_sz) {
+ message(LOG_DAEMON|LOG_DEBUG, "Writing to pipe\n");
+ ret = write(me->pipe_fd, &tmpbuf[written], me->buf_sz - written);
+ message(LOG_DAEMON|LOG_DEBUG, "DONE Writing to pipe with return %ld\n", ret);
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/init b/poky/meta/recipes-support/rng-tools/rng-tools/init
index 7cf78393a..13f0ecd37 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/init
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/init
@@ -1,26 +1,19 @@
-#! /bin/sh
+#!/bin/sh
#
# This is an init script for openembedded
-# Copy it to /etc/init.d/rng-tools and type
+# Copy it to @SYSCONFDIR@/init.d/rng-tools and type
# > update-rc.d rng-tools defaults 60
#
-rngd=/usr/sbin/rngd
+rngd=@SBINDIR@/rngd
test -x "$rngd" || exit 1
-if [ -e /etc/default/rng-tools ]; then
- . /etc/default/rng-tools
-fi
-
-if [ -n "$RNG_DEVICE" ]; then
- EXTRA_ARGS="-- -r $RNG_DEVICE"
-fi
-
+[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools"
case "$1" in
start)
echo -n "Starting random number generator daemon"
- start-stop-daemon -S -q -x $rngd $EXTRA_ARGS
+ start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
echo "."
;;
stop)
@@ -38,11 +31,11 @@ case "$1" in
start-stop-daemon -K -q -n rngd
echo "."
echo -n "Starting random number generator daemon"
- start-stop-daemon -S -q -x $rngd $EXTRA_ARGS
+ start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
echo "."
;;
*)
- echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}"
+ echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}"
exit 1
esac
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch b/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
deleted file mode 100644
index 614adab27..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/rng-tools-5-fix-textrels-on-PIC-x86.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From d8b1bb8edd99b2898720b4f10d292a67d532db48 Mon Sep 17 00:00:00 2001
-From: "Francisco Blas Izquierdo Riera (klondike)" <klondike@gentoo.org>
-Date: Mon, 22 Oct 2018 15:29:36 +0800
-Subject: [PATCH 4/4] Fix assemby textrels on rdrand_asm.S on PIC x86
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch updates the fixes in the assembly in rdrand_asm.S in
-sys-apps/rng-tools-5 so it won't generate textrels on PIC systems.
-The main fixes are in the use of leal in SETPTR for such systems, the rest is
-the usual PIC support stuff.
-
-This should fix Gentoo bug #469962 and help fix #518210
-
-This patch is released under the GPLv2 or a higher version license as is the
-original file as long as the author and the tester are credited.
-
-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=469962
-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=518210
-Signed-off-by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
-Reported-by: cilly <cilly@cilly.mine.nu>
-Reported-by: Manuel Rüger <mrueg@gentoo.org>
-Tested-by: Anthony Basile <blueness@gentoo.org>
-
-Upstream-Status: Pending
----
- rdrand_asm.S | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/rdrand_asm.S b/rdrand_asm.S
-index b5d260a..7811cf2 100644
---- a/rdrand_asm.S
-+++ b/rdrand_asm.S
-@@ -2,6 +2,7 @@
- * Copyright (c) 2011-2014, Intel Corporation
- * Authors: Fenghua Yu <fenghua.yu@intel.com>,
- * H. Peter Anvin <hpa@linux.intel.com>
-+ * PIC code by: Francisco Blas Izquierdo Riera (klondike) <klondike@gentoo.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
-@@ -172,7 +173,19 @@ ENTRY(x86_rdseed_or_rdrand_bytes)
- jmp 4b
- ENDPROC(x86_rdseed_or_rdrand_bytes)
-
-+#if defined(__PIC__)
-+#define INIT_PIC() \
-+ pushl %ebx ; \
-+ call __x86.get_pc_thunk.bx ; \
-+ addl $_GLOBAL_OFFSET_TABLE_, %ebx
-+#define END_PIC() \
-+ popl %ebx
-+#define SETPTR(var,ptr) leal (var)@GOTOFF(%ebx),ptr
-+#else
-+#define INIT_PIC()
-+#define END_PIC()
- #define SETPTR(var,ptr) movl $(var),ptr
-+#endif
- #define PTR0 %eax
- #define PTR1 %edx
- #define PTR2 %ecx
-@@ -188,6 +201,7 @@ ENTRY(x86_aes_mangle)
- movl 8(%ebp), %eax
- movl 12(%ebp), %edx
- push %esi
-+ INIT_PIC()
- #endif
- movl $512, CTR3 /* Number of rounds */
-
-@@ -278,6 +292,7 @@ offset = offset + 16
- movdqa %xmm7, (7*16)(PTR1)
-
- #ifdef __i386__
-+ END_PIC()
- pop %esi
- pop %ebp
- #endif
-@@ -292,6 +307,7 @@ ENTRY(x86_aes_expand_key)
- push %ebp
- mov %esp, %ebp
- movl 8(%ebp), %eax
-+ INIT_PIC()
- #endif
-
- SETPTR(aes_round_keys, PTR1)
-@@ -321,6 +337,7 @@ ENTRY(x86_aes_expand_key)
- call 1f
-
- #ifdef __i386__
-+ END_PIC()
- pop %ebp
- #endif
- ret
-@@ -341,6 +358,16 @@ ENTRY(x86_aes_expand_key)
-
- ENDPROC(x86_aes_expand_key)
-
-+#if defined(__i386__) && defined(__PIC__)
-+ .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
-+ .globl __x86.get_pc_thunk.bx
-+ .hidden __x86.get_pc_thunk.bx
-+ .type __x86.get_pc_thunk.bx, @function
-+__x86.get_pc_thunk.bx:
-+ movl (%esp), %ebx
-+ ret
-+#endif
-+
- .bss
- .balign 64
- aes_round_keys:
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
index f0355db14..b1a78527b 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
@@ -5,8 +5,8 @@ After=systemd-udev-settle.service
Before=sysinit.target
[Service]
-ExecStart=@SBINDIR@/rngd -f -r /dev/hwrng
-SuccessExitStatus=66
+EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
+ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS
[Install]
WantedBy=multi-user.target
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch b/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch
deleted file mode 100644
index aa4bbcb34..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/underquote.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 03fe7efa1bc04a83fb9b6787998e7baa7ee90646 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Mon, 22 Oct 2018 15:27:41 +0800
-Subject: [PATCH 3/4] Fix underquoted m4 entry. This causes a failure if gcrypt
- isn't present:
-
-| configure: libgcrypt support disabled
-| ../rng-tools-5/configure: line 4345: ac_fn_c_try_link: command not found
-| configure: error: in `/media/build1/poky/build/tmp/work/i586-poky-linux/rng-tools/5-r0/build':
-
-RP
-2016/2/16
-
-Upstream-Status: Pending
-
-Rebase to 6.6
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dd1c30f..88d2be3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -124,7 +124,7 @@ AS_IF(
- [test "x$with_libgcrypt" != "xno"],
- [
- AC_CHECK_HEADER([gcrypt.h],
-- AC_CHECK_LIB(
-+ [AC_CHECK_LIB(
- [gcrypt],
- [gcry_check_version], ,
- [
-@@ -133,7 +133,7 @@ AS_IF(
- AC_MSG_NOTICE([libgcrypt support disabled])
- fi
- ]
-- ),
-+ )],
- [if test "x$with_libgcrypt" != "xcheck"; then
- AC_MSG_FAILURE([libgcrypt headers not found]); else
- AC_MSG_NOTICE([libgcrypt support disabled])
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb
deleted file mode 100644
index 6796c9be9..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "Random number generator daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/nhorman/rng-tools.git \
- file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \
- file://0002-Add-argument-to-control-the-libargp-dependency.patch \
- file://underquote.patch \
- file://rng-tools-5-fix-textrels-on-PIC-x86.patch \
- file://0001-configure.ac-fix-typo.patch \
- file://init \
- file://default \
- file://rngd.service \
-"
-SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee"
-S = "${WORKDIR}/git"
-
-inherit autotools update-rc.d systemd pkgconfig
-
-DEPENDS = " \
- sysfsutils \
- "
-
-PACKAGECONFIG ??= "libgcrypt libjitterentropy"
-PACKAGECONFIG_libc-musl = "libargp libjitterentropy"
-PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
-PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt,"
-PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
-PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl"
-
-# Refer autogen.sh in rng-tools
-do_configure_prepend() {
- cp ${S}/README.md ${S}/README
-}
-
-do_install_append() {
- # Only install the init script when 'sysvinit' is in DISTRO_FEATURES.
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d "${D}${sysconfdir}/init.d"
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
- sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
- ${D}${sysconfdir}/init.d/rng-tools
-
- install -d "${D}${sysconfdir}/default"
- install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service
- fi
-}
-
-INITSCRIPT_NAME = "rng-tools"
-INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
-
-SYSTEMD_SERVICE_${PN} = "rngd.service"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb
new file mode 100644
index 000000000..aeb558b2b
--- /dev/null
+++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Random number generator daemon"
+DESCRIPTION = "Check and feed random data from hardware device to kernel"
+AUTHOR = "Philipp Rumpf, Jeff Garzik <jgarzik@pobox.com>, \
+ Henrique de Moraes Holschuh <hmh@debian.org>"
+HOMEPAGE = "https://github.com/nhorman/rng-tools"
+BUGTRACKER = "https://github.com/nhorman/rng-tools/issues"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "sysfsutils"
+
+SRC_URI = "\
+ git://github.com/nhorman/rng-tools.git \
+ file://fix-rngd-fail-to-stop.patch \
+ file://init \
+ file://default \
+ file://rngd.service \
+"
+SRCREV = "9fc873c5af0e392632e6b736938b811f7ca97251"
+
+S = "${WORKDIR}/git"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+PACKAGECONFIG ??= "libgcrypt libjitterentropy"
+PACKAGECONFIG_libc-musl = "libargp libjitterentropy"
+
+PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
+PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt,"
+PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
+PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl"
+PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl"
+
+INITSCRIPT_NAME = "rng-tools"
+INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."
+
+SYSTEMD_SERVICE_${PN} = "rngd.service"
+
+# Refer autogen.sh in rng-tools
+do_configure_prepend() {
+ cp ${S}/README.md ${S}/README
+}
+
+do_install_append() {
+ install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
+ install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
+ install -Dm 0644 ${WORKDIR}/rngd.service \
+ ${D}${systemd_system_unitdir}/rngd.service
+ sed -i \
+ -e 's,@SYSCONFDIR@,${sysconfdir},' \
+ -e 's,@SBINDIR@,${sbindir},' \
+ ${D}${sysconfdir}/init.d/rng-tools \
+ ${D}${systemd_system_unitdir}/rngd.service
+}
diff --git a/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch b/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch
new file mode 100644
index 000000000..91640d604
--- /dev/null
+++ b/poky/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch
@@ -0,0 +1,71 @@
+stop scons trying to create directories in hosts rootfs
+
+* since 1522f09a4d serf: cleanup recipe
+ serf.do_install fails in builds with multilib enabled (with
+ libdir=/usr/lib64 on host where /usr/lib64 doesn't exist)
+
+DEBUG: Executing shell function do_install
+scons: Reading SConscript files ...
+PermissionError: [Errno 13] Permission denied: '/usr/lib64':
+ File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 158:
+ ENV = os.environ,
+ File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Environment.py", line 965:
+ variables.Update(self)
+ File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/__init__.py", line 227:
+ option.validator(option.key, env.subst('${%s}'%option.key), env)
+ File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/serf-1.3.9/SConstruct", line 60:
+ return PathVariable.PathIsDirCreate(key, val, env)
+ File "/TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/bin/../../usr/lib/python3.7/site-packages/SCons/Variables/PathVariable.py", line 101:
+ os.makedirs(val)
+ File "TOPDIR/BUILD/work/qemux86-signage-linux/serf/1.3.9-r0/recipe-sysroot-native/usr/lib/python3.7/os.py", line 221:
+ mkdir(name, mode)
+ERROR: scons install execution failed.
+
+* I don't know how exactly --install-sandbox is supposed to work but
+ in this case it's trying to mkdir /usr/lib64 on the host rootfs
+ which is clearly wrong and if I set LIBDIR together with
+ --install-sandbox then the install paths are prefixed with $D twice
+ in some cases (not for includedir and empty libdir at the end).
+ So in the end I think it was an issue caused by the custom path
+ validator in serf's SConstruct, removing that stops touching host
+ and the installed paths (including the paths inside libserf*.pc)
+ look correct
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+--- serf-1.3.9/SConstruct 2019-06-18 15:49:19.968961108 +0000
++++ serf-1.3.9b/SConstruct 2019-06-18 18:53:21.412337151 +0000
+@@ -51,17 +51,6 @@
+ """
+ return (key, '%s' % (help), default, None, lambda val: _converter(val))
+
+-# Custom path validator, creates directory when a specified option is set.
+-# To be used to ensure a PREFIX directory is only created when installing.
+-def createPathIsDirCreateWithTarget(target):
+- def my_validator(key, val, env):
+- build_targets = (map(str, BUILD_TARGETS))
+- if target in build_targets:
+- return PathVariable.PathIsDirCreate(key, val, env)
+- else:
+- return PathVariable.PathAccept(key, val, env)
+- return my_validator
+-
+ # default directories
+ if sys.platform == 'win32':
+ default_incdir='..'
+@@ -77,11 +66,11 @@
+ PathVariable('PREFIX',
+ 'Directory to install under',
+ default_prefix,
+- createPathIsDirCreateWithTarget('install')),
++ PathVariable.PathAccept),
+ PathVariable('LIBDIR',
+ 'Directory to install architecture dependent libraries under',
+ default_libdir,
+- createPathIsDirCreateWithTarget('install')),
++ PathVariable.PathAccept),
+ PathVariable('APR',
+ "Path to apr-1-config, or to APR's install area",
+ default_incdir,
diff --git a/poky/meta/recipes-support/serf/serf_1.3.9.bb b/poky/meta/recipes-support/serf/serf_1.3.9.bb
index 65a8114bb..dd4133a45 100644
--- a/poky/meta/recipes-support/serf/serf_1.3.9.bb
+++ b/poky/meta/recipes-support/serf/serf_1.3.9.bb
@@ -6,6 +6,7 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0002-SConstruct-Fix-path-quoting-for-.def-generator.patch \
file://0003-gen_def.patch \
file://0004-Follow-up-to-r1811083-fix-building-with-scons-3.0.0-.patch \
+ file://SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch \
"
SRC_URI[md5sum] = "370a6340ff20366ab088012cd13f2b57"
@@ -14,18 +15,19 @@ SRC_URI[sha256sum] = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-DEPENDS = "python-scons-native openssl apr apr-util util-linux expat"
+inherit scons
-do_compile() {
- ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} \
- CC="${CC}" \
- APR=`which apr-1-config` APU=`which apu-1-config` \
- CFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" \
- OPENSSL="${STAGING_EXECPREFIXDIR}"
-}
+DEPENDS += " openssl apr apr-util util-linux expat"
-do_install() {
- ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} LIBDIR=${D}${libdir} install
-}
+EXTRA_OESCONS = " \
+ LIBDIR=${libdir} \
+ --install-sandbox=${D} \
+ CC="${CC}" \
+ CFLAGS="${CFLAGS}" \
+ LINKFLAGS="${LDFLAGS}" \
+ APR=`which apr-1-config` \
+ APU=`which apu-1-config` \
+ OPENSSL="${STAGING_EXECPREFIXDIR}" \
+ "
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch b/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch
deleted file mode 100644
index b0aa5d173..000000000
--- a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9aa01fd5f9d8b2b98c34684dc8f68115750ef41c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 12 Jul 2016 17:15:13 +0300
-Subject: [PATCH] source-highlight.pc.in: do not add Boost's libraries and
- includes
-
-This breaks when compiling in sysroots; a proper way is to use Depends
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- source-highlight.pc.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/source-highlight.pc.in b/source-highlight.pc.in
-index 79ab63e..64114a7 100644
---- a/source-highlight.pc.in
-+++ b/source-highlight.pc.in
-@@ -7,6 +7,6 @@ Name: libsource-highlight
- Description: GNU Source-highlight library.
- URL: http://www.gnu.org/software/src-highlite/
- Version: @VERSION@
--Libs: -L${libdir} -lsource-highlight @BOOST_LDFLAGS@ @BOOST_REGEX_LIB@
--Cflags: -I${includedir} @BOOST_CPPFLAGS@
-+Libs: -L${libdir} -lsource-highlight
-+Cflags: -I${includedir}
-
---
-2.8.1
-
diff --git a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb b/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb
deleted file mode 100644
index 85923e475..000000000
--- a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Syntax highlight utility"
-DESCRIPTION = "Source-highlight converts source code to formatted text with syntax highlighting."
-HOMEPAGE = "https://www.gnu.org/software/src-highlite/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb"
-
-SRC_URI = "${GNU_MIRROR}/src-highlite/${BPN}-${PV}.tar.gz \
- file://0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch"
-SRC_URI[md5sum] = "3243470706ef5fefdc3e43b5306a4e41"
-SRC_URI[sha256sum] = "01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3"
-
-inherit autotools
-
-DEPENDS_append = " boost"
-
-DEPENDS_append_class-target = " source-highlight-native"
-
-EXTRA_OECONF = "--with-boost=yes --with-boost-libdir=${STAGING_DIR_TARGET}${libdir}"
-
-BBCLASSEXTEND = "native"
-
-# source-highlight is using its own binary from the build tree to make documentation
-# let's substitute the native binary instead
-do_configure_prepend_class-target () {
- sed -i -e 's,^SRCHILITEEXE = $(top_builddir).*,SRCHILITEEXE = source-highlight,' ${S}/doc/Makefile.am
-}
-
-RDEPENDS_source-highlight += "bash"
diff --git a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb
index 01dcf66d1..f4e288295 100644
--- a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb
+++ b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "Library for reading and editing the meta-data of popular audio formats"
SECTION = "libs/multimedia"
HOMEPAGE = "http://taglib.github.io/"
-LICENSE = "LGPLv2.1 | MPL-1"
+LICENSE = "LGPLv2.1 | MPL-1.1"
LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \
file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee"
diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb
index 74464833a..e4c26d23f 100644
--- a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb
+++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb
@@ -1,10 +1,7 @@
-require vim_${PV}.bb
+require vim.inc
SUMMARY += " (with tiny features)"
-PROVIDES_remove = "xxd"
-ALTERNATIVE_${PN}_remove = "xxd"
-
PACKAGECONFIG += "tiny"
do_install() {
diff --git a/poky/meta/recipes-support/vim/vim_8.1.1240.bb b/poky/meta/recipes-support/vim/vim.inc
index f5c74684b..0a31e68cb 100644
--- a/poky/meta/recipes-support/vim/vim_8.1.1240.bb
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -1,7 +1,6 @@
SUMMARY = "Vi IMproved - enhanced vi editor"
SECTION = "console/utils"
-PROVIDES = "xxd"
DEPENDS = "ncurses gettext-native"
# vimdiff doesn't like busybox diff
RSUGGESTS_${PN} = "diffutils"
@@ -13,7 +12,7 @@ SRC_URI = "git://github.com/vim/vim.git \
file://vim-add-knob-whether-elf.h-are-checked.patch \
file://0001-src-Makefile-improve-reproducibility.patch \
"
-SRCREV = "d96dbd6f95ea22f609042cc9c6272f14a21ff1a5"
+SRCREV = "202d982b36d87cf91d992bd7e30d3223bdc72cd9"
S = "${WORKDIR}/git"
@@ -52,9 +51,8 @@ PACKAGECONFIG += " \
${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+,"
+PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
@@ -130,12 +128,8 @@ RDEPENDS_${BPN} = "ncurses-terminfo-base"
# Recommend that runtime data is installed along with vim
RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
-ALTERNATIVE_${PN} = "vi vim xxd"
+ALTERNATIVE_${PN} = "vi vim"
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}"
ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim"
-ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
-ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/vim/vim_8.1.1518.bb b/poky/meta/recipes-support/vim/vim_8.1.1518.bb
new file mode 100644
index 000000000..60946a181
--- /dev/null
+++ b/poky/meta/recipes-support/vim/vim_8.1.1518.bb
@@ -0,0 +1,10 @@
+require vim.inc
+
+PROVIDES = "xxd"
+
+PACKAGECONFIG_class-native = ""
+BBCLASSEXTEND = "native"
+
+ALTERNATIVE_${PN}_append = " xxd"
+ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
+ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
diff --git a/poky/meta/recipes-support/vte/vte_0.56.1.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb
index 3585e9ce5..702436b36 100644
--- a/poky/meta/recipes-support/vte/vte_0.56.1.bb
+++ b/poky/meta/recipes-support/vte/vte_0.56.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "Virtual terminal emulator GTK+ widget library"
BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "GPLv3 & LGPLv2.1+"
-LICENSE_libvte = "LGPLv2.1+"
+LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+"
+LICENSE_libvte = "LGPLv3+"
LIC_FILES_CHKSUM = " \
file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \
diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py
index 1a38bd0b1..ac9bc9237 100644
--- a/poky/scripts/lib/recipetool/create_buildsys_python.py
+++ b/poky/scripts/lib/recipetool/create_buildsys_python.py
@@ -31,11 +31,11 @@ def tinfoil_init(instance):
class PythonRecipeHandler(RecipeHandler):
- base_pkgdeps = ['python-core']
- excluded_pkgdeps = ['python-dbg']
- # os.path is provided by python-core
+ base_pkgdeps = ['python3-core']
+ excluded_pkgdeps = ['python3-dbg']
+ # os.path is provided by python3-core
assume_provided = ['builtins', 'os.path']
- # Assumes that the host python builtin_module_names is sane for target too
+ # Assumes that the host python3 builtin_module_names is sane for target too
assume_provided = assume_provided + list(sys.builtin_module_names)
bbvar_map = {
@@ -215,9 +215,9 @@ class PythonRecipeHandler(RecipeHandler):
self.apply_info_replacements(info)
if uses_setuptools:
- classes.append('setuptools')
+ classes.append('setuptools3')
else:
- classes.append('distutils')
+ classes.append('distutils3')
if license_str:
for i, line in enumerate(lines_before):
@@ -282,7 +282,7 @@ class PythonRecipeHandler(RecipeHandler):
for feature, feature_reqs in extras_req.items():
unmapped_deps.difference_update(feature_reqs)
- feature_req_deps = ('python-' + r.replace('.', '-').lower() for r in sorted(feature_reqs))
+ feature_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(feature_reqs))
lines_after.append('PACKAGECONFIG[{}] = ",,,{}"'.format(feature.lower(), ' '.join(feature_req_deps)))
inst_reqs = set()
@@ -293,7 +293,7 @@ class PythonRecipeHandler(RecipeHandler):
if inst_reqs:
unmapped_deps.difference_update(inst_reqs)
- inst_req_deps = ('python-' + r.replace('.', '-').lower() for r in sorted(inst_reqs))
+ inst_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(inst_reqs))
lines_after.append('# WARNING: the following rdepends are from setuptools install_requires. These')
lines_after.append('# upstream names may not correspond exactly to bitbake package names.')
lines_after.append('RDEPENDS_${{PN}} += "{}"'.format(' '.join(inst_req_deps)))
@@ -356,7 +356,7 @@ class PythonRecipeHandler(RecipeHandler):
return info, 'setuptools' in imported_modules, non_literals, extensions
def get_setup_args_info(self, setupscript='./setup.py'):
- cmd = ['python', setupscript]
+ cmd = ['python3', setupscript]
info = {}
keys = set(self.bbvar_map.keys())
keys |= set(self.setuparg_list_fields)
@@ -390,7 +390,7 @@ class PythonRecipeHandler(RecipeHandler):
def get_setup_byline(self, fields, setupscript='./setup.py'):
info = {}
- cmd = ['python', setupscript]
+ cmd = ['python3', setupscript]
cmd.extend('--' + self.setuparg_map.get(f, f.lower()) for f in fields)
try:
info_lines = self.run_command(cmd, cwd=os.path.dirname(setupscript)).splitlines()
@@ -527,7 +527,7 @@ class PythonRecipeHandler(RecipeHandler):
pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR')
ldata = tinfoil.config_data.createCopy()
- bb.parse.handle('classes/python-dir.bbclass', ldata, True)
+ bb.parse.handle('classes/python3-dir.bbclass', ldata, True)
python_sitedir = ldata.getVar('PYTHON_SITEPACKAGES_DIR')
dynload_dir = os.path.join(os.path.dirname(python_sitedir), 'lib-dynload')
diff --git a/poky/scripts/lib/resulttool/manualexecution.py b/poky/scripts/lib/resulttool/manualexecution.py
index df28e1d21..ecb27c593 100755
--- a/poky/scripts/lib/resulttool/manualexecution.py
+++ b/poky/scripts/lib/resulttool/manualexecution.py
@@ -181,11 +181,38 @@ class ManualTestRunner(object):
write_json_file(config_options_file, config_options)
logger.info('Configuration option file created at %s' % config_options_file)
+ def make_testcase_config_file(self, logger, case_file, testcase_config_file):
+ if testcase_config_file:
+ if os.path.exists(testcase_config_file):
+ print('\nTest configuration file with name %s already exists. Please provide a unique file name' % (testcase_config_file))
+ return 0
+
+ if not testcase_config_file:
+ testcase_config_file = os.path.join(self._get_write_dir(), "testconfig_new.json")
+
+ testcase_config = {}
+ cases = load_json_file(case_file)
+ new_test_module = self._get_test_module(case_file)
+ new_testcase_config = {}
+ new_testcase_config['testcases'] = []
+
+ print('\nAdd testcases for this configuration file:')
+ for case in cases:
+ print('\n' + case['test']['@alias'])
+ add_tc_config = self._get_true_false_input('\nDo you want to add this test case to test configuration : (Y)es/(N)o\n')
+ if add_tc_config:
+ new_testcase_config['testcases'].append(case['test']['@alias'])
+ write_json_file(testcase_config_file, new_testcase_config)
+ logger.info('Testcase Configuration file created at %s' % testcase_config_file)
+
def manualexecution(args, logger):
testrunner = ManualTestRunner()
if args.make_config_options_file:
testrunner.make_config_option_file(logger, args.file, args.config_options_file)
return 0
+ if args.make_testcase_config_file:
+ testrunner.make_testcase_config_file(logger, args.file, args.testcase_config_file)
+ return 0
configurations, result_id, write_dir, test_results = testrunner.run_test(args.file, args.config_options_file, args.testcase_config_file)
resultjsonhelper = OETestResultJSONHelper()
resultjsonhelper.dump_testresult_file(write_dir, configurations, result_id, test_results)
@@ -203,4 +230,6 @@ def register_commands(subparsers):
parser_build.add_argument('-m', '--make-config-options-file', action='store_true',
help='make the configuration options file based on provided inputs')
parser_build.add_argument('-t', '--testcase-config-file', default='',
- help='the testcase configuration file to enable user to run a selected set of test case') \ No newline at end of file
+ help='the testcase configuration file to enable user to run a selected set of test case or make a testcase configuration file')
+ parser_build.add_argument('-d', '--make-testcase-config-file', action='store_true',
+ help='make the testcase configuration file to run a set of test cases based on user selection') \ No newline at end of file
diff --git a/poky/scripts/lib/resulttool/merge.py b/poky/scripts/lib/resulttool/merge.py
index 70d23a48f..18b4825a1 100644
--- a/poky/scripts/lib/resulttool/merge.py
+++ b/poky/scripts/lib/resulttool/merge.py
@@ -11,16 +11,23 @@ import json
import resulttool.resultutils as resultutils
def merge(args, logger):
+ configvars = {}
+ if not args.not_add_testseries:
+ configvars = resultutils.extra_configvars.copy()
+ if args.executed_by:
+ configvars['EXECUTED_BY'] = args.executed_by
if resultutils.is_url(args.target_results) or os.path.isdir(args.target_results):
- results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map)
- resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map)
+ results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map, configvars=configvars)
+ resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map, configvars=configvars)
resultutils.save_resultsdata(results, args.target_results)
else:
- results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map)
+ results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map, configvars=configvars)
if os.path.exists(args.target_results):
- resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map)
+ resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map, configvars=configvars)
resultutils.save_resultsdata(results, os.path.dirname(args.target_results), fn=os.path.basename(args.target_results))
+ logger.info('Merged results to %s' % os.path.dirname(args.target_results))
+
return 0
def register_commands(subparsers):
@@ -33,4 +40,7 @@ def register_commands(subparsers):
help='the results file/directory/URL to import')
parser_build.add_argument('target_results',
help='the target file or directory to merge the base_results with')
-
+ parser_build.add_argument('-t', '--not-add-testseries', action='store_true',
+ help='do not add testseries configuration to results')
+ parser_build.add_argument('-x', '--executed-by', default='',
+ help='add executed-by configuration to each result file')
diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py
index cb6b1cf94..a48c59f63 100644
--- a/poky/scripts/lib/resulttool/report.py
+++ b/poky/scripts/lib/resulttool/report.py
@@ -24,16 +24,19 @@ class ResultsTextReport(object):
'skipped': ['SKIPPED', 'skipped']}
- def handle_ptest_result(self, k, status, result):
+ def handle_ptest_result(self, k, status, result, machine):
+ if machine not in self.ptests:
+ self.ptests[machine] = {}
+
if k == 'ptestresult.sections':
# Ensure tests without any test results still show up on the report
for suite in result['ptestresult.sections']:
- if suite not in self.ptests:
- self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ if suite not in self.ptests[machine]:
+ self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
if 'duration' in result['ptestresult.sections'][suite]:
- self.ptests[suite]['duration'] = result['ptestresult.sections'][suite]['duration']
+ self.ptests[machine][suite]['duration'] = result['ptestresult.sections'][suite]['duration']
if 'timeout' in result['ptestresult.sections'][suite]:
- self.ptests[suite]['duration'] += " T"
+ self.ptests[machine][suite]['duration'] += " T"
return
try:
_, suite, test = k.split(".", 2)
@@ -47,22 +50,25 @@ class ResultsTextReport(object):
suite = suite + "." + suite1
except ValueError:
pass
- if suite not in self.ptests:
- self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ if suite not in self.ptests[machine]:
+ self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
for tk in self.result_types:
if status in self.result_types[tk]:
- self.ptests[suite][tk] += 1
+ self.ptests[machine][suite][tk] += 1
+
+ def handle_ltptest_result(self, k, status, result, machine):
+ if machine not in self.ltptests:
+ self.ltptests[machine] = {}
- def handle_ltptest_result(self, k, status, result):
if k == 'ltpresult.sections':
# Ensure tests without any test results still show up on the report
for suite in result['ltpresult.sections']:
- if suite not in self.ltptests:
- self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ if suite not in self.ltptests[machine]:
+ self.ltptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
if 'duration' in result['ltpresult.sections'][suite]:
- self.ltptests[suite]['duration'] = result['ltpresult.sections'][suite]['duration']
+ self.ltptests[machine][suite]['duration'] = result['ltpresult.sections'][suite]['duration']
if 'timeout' in result['ltpresult.sections'][suite]:
- self.ltptests[suite]['duration'] += " T"
+ self.ltptests[machine][suite]['duration'] += " T"
return
try:
_, suite, test = k.split(".", 2)
@@ -77,20 +83,23 @@ class ResultsTextReport(object):
suite = suite + "." + suite1
except ValueError:
pass
- if suite not in self.ltptests:
- self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ if suite not in self.ltptests[machine]:
+ self.ltptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
for tk in self.result_types:
if status in self.result_types[tk]:
- self.ltptests[suite][tk] += 1
+ self.ltptests[machine][suite][tk] += 1
+
+ def handle_ltpposixtest_result(self, k, status, result, machine):
+ if machine not in self.ltpposixtests:
+ self.ltpposixtests[machine] = {}
- def handle_ltpposixtest_result(self, k, status, result):
if k == 'ltpposixresult.sections':
# Ensure tests without any test results still show up on the report
for suite in result['ltpposixresult.sections']:
- if suite not in self.ltpposixtests:
- self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ if suite not in self.ltpposixtests[machine]:
+ self.ltpposixtests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
if 'duration' in result['ltpposixresult.sections'][suite]:
- self.ltpposixtests[suite]['duration'] = result['ltpposixresult.sections'][suite]['duration']
+ self.ltpposixtests[machine][suite]['duration'] = result['ltpposixresult.sections'][suite]['duration']
return
try:
_, suite, test = k.split(".", 2)
@@ -104,19 +113,13 @@ class ResultsTextReport(object):
suite = suite + "." + suite1
except ValueError:
pass
- if suite not in self.ltpposixtests:
- self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ if suite not in self.ltpposixtests[machine]:
+ self.ltpposixtests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
for tk in self.result_types:
if status in self.result_types[tk]:
- self.ltpposixtests[suite][tk] += 1
+ self.ltpposixtests[machine][suite][tk] += 1
- def get_aggregated_test_result(self, logger, testresult):
- test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []}
- def get_aggregated_test_result(self, logger, testresult):
- test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []}
- def get_aggregated_test_result(self, logger, testresult):
- test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []}
- def get_aggregated_test_result(self, logger, testresult):
+ def get_aggregated_test_result(self, logger, testresult, machine):
test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []}
result = testresult.get('result', [])
for k in result:
@@ -127,11 +130,11 @@ class ResultsTextReport(object):
if test_status in self.result_types['failed']:
test_count_report['failed_testcases'].append(k)
if k.startswith("ptestresult."):
- self.handle_ptest_result(k, test_status, result)
+ self.handle_ptest_result(k, test_status, result, machine)
if k.startswith("ltpresult."):
- self.handle_ltptest_result(k, test_status, result)
+ self.handle_ltptest_result(k, test_status, result, machine)
if k.startswith("ltpposixresult."):
- self.handle_ltpposixtest_result(k, test_status, result)
+ self.handle_ltpposixtest_result(k, test_status, result, machine)
return test_count_report
def print_test_report(self, template_file_name, test_count_reports):
@@ -141,10 +144,8 @@ class ResultsTextReport(object):
env = Environment(loader=file_loader, trim_blocks=True)
template = env.get_template(template_file_name)
havefailed = False
- haveptest = bool(self.ptests)
- haveltp = bool(self.ltptests)
- haveltpposix = bool(self.ltpposixtests)
reportvalues = []
+ machines = []
cols = ['passed', 'failed', 'skipped']
maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 ,'ltptest': 0, 'ltpposixtest': 0}
for line in test_count_reports:
@@ -162,21 +163,24 @@ class ResultsTextReport(object):
reportvalues.append(vals)
if line['failed_testcases']:
havefailed = True
- for ptest in self.ptests:
- if len(ptest) > maxlen['ptest']:
- maxlen['ptest'] = len(ptest)
- for ltptest in self.ltptests:
- if len(ltptest) > maxlen['ltptest']:
- maxlen['ltptest'] = len(ltptest)
- for ltpposixtest in self.ltpposixtests:
- if len(ltpposixtest) > maxlen['ltpposixtest']:
- maxlen['ltpposixtest'] = len(ltpposixtest)
+ if line['machine'] not in machines:
+ machines.append(line['machine'])
+ for (machine, report) in self.ptests.items():
+ for ptest in self.ptests[machine]:
+ if len(ptest) > maxlen['ptest']:
+ maxlen['ptest'] = len(ptest)
+ for (machine, report) in self.ltptests.items():
+ for ltptest in self.ltptests[machine]:
+ if len(ltptest) > maxlen['ltptest']:
+ maxlen['ltptest'] = len(ltptest)
+ for (machine, report) in self.ltpposixtests.items():
+ for ltpposixtest in self.ltpposixtests[machine]:
+ if len(ltpposixtest) > maxlen['ltpposixtest']:
+ maxlen['ltpposixtest'] = len(ltpposixtest)
output = template.render(reportvalues=reportvalues,
havefailed=havefailed,
- haveptest=haveptest,
+ machines=machines,
ptests=self.ptests,
- haveltp=haveltp,
- haveltpposix=haveltpposix,
ltptests=self.ltptests,
ltpposixtests=self.ltpposixtests,
maxlen=maxlen)
@@ -200,7 +204,9 @@ class ResultsTextReport(object):
for testsuite in testresults:
for resultid in testresults[testsuite]:
result = testresults[testsuite][resultid]
- test_count_report = self.get_aggregated_test_result(logger, result)
+ machine = result['configuration']['MACHINE']
+ test_count_report = self.get_aggregated_test_result(logger, result, machine)
+ test_count_report['machine'] = machine
test_count_report['testseries'] = result['configuration']['TESTSERIES']
test_count_report['result_id'] = resultid
test_count_reports.append(test_count_report)
diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py
index ea4ab42d9..e595c185d 100644
--- a/poky/scripts/lib/resulttool/resultutils.py
+++ b/poky/scripts/lib/resulttool/resultutils.py
@@ -42,10 +42,12 @@ def is_url(p):
"""
return p.startswith('http://') or p.startswith('https://')
+extra_configvars = {'TESTSERIES': ''}
+
#
# Load the json file and append the results data into the provided results dict
#
-def append_resultsdata(results, f, configmap=store_map):
+def append_resultsdata(results, f, configmap=store_map, configvars=extra_configvars):
if type(f) is str:
if is_url(f):
with urllib.request.urlopen(f) as response:
@@ -61,12 +63,15 @@ def append_resultsdata(results, f, configmap=store_map):
for res in data:
if "configuration" not in data[res] or "result" not in data[res]:
raise ValueError("Test results data without configuration or result section?")
- if "TESTSERIES" not in data[res]["configuration"]:
- data[res]["configuration"]["TESTSERIES"] = testseries
+ for config in configvars:
+ if config == "TESTSERIES" and "TESTSERIES" not in data[res]["configuration"]:
+ data[res]["configuration"]["TESTSERIES"] = testseries
+ continue
+ if config not in data[res]["configuration"]:
+ data[res]["configuration"][config] = configvars[config]
testtype = data[res]["configuration"].get("TEST_TYPE")
if testtype not in configmap:
raise ValueError("Unknown test type %s" % testtype)
- configvars = configmap[testtype]
testpath = "/".join(data[res]["configuration"].get(i) for i in configmap[testtype])
if testpath not in results:
results[testpath] = {}
@@ -76,16 +81,16 @@ def append_resultsdata(results, f, configmap=store_map):
# Walk a directory and find/load results data
# or load directly from a file
#
-def load_resultsdata(source, configmap=store_map):
+def load_resultsdata(source, configmap=store_map, configvars=extra_configvars):
results = {}
if is_url(source) or os.path.isfile(source):
- append_resultsdata(results, source, configmap)
+ append_resultsdata(results, source, configmap, configvars)
return results
for root, dirs, files in os.walk(source):
for name in files:
f = os.path.join(root, name)
if name == "testresults.json":
- append_resultsdata(results, f, configmap)
+ append_resultsdata(results, f, configmap, configvars)
return results
def filter_resultsdata(results, resultid):
diff --git a/poky/scripts/lib/resulttool/store.py b/poky/scripts/lib/resulttool/store.py
index 06505aecc..79c83dd8b 100644
--- a/poky/scripts/lib/resulttool/store.py
+++ b/poky/scripts/lib/resulttool/store.py
@@ -21,16 +21,19 @@ import oeqa.utils.gitarchive as gitarchive
def store(args, logger):
tempdir = tempfile.mkdtemp(prefix='testresults.')
try:
+ configvars = resultutils.extra_configvars.copy()
+ if args.executed_by:
+ configvars['EXECUTED_BY'] = args.executed_by
results = {}
logger.info('Reading files from %s' % args.source)
if resultutils.is_url(args.source) or os.path.isfile(args.source):
- resultutils.append_resultsdata(results, args.source)
+ resultutils.append_resultsdata(results, args.source, configvars=configvars)
else:
for root, dirs, files in os.walk(args.source):
for name in files:
f = os.path.join(root, name)
if name == "testresults.json":
- resultutils.append_resultsdata(results, f)
+ resultutils.append_resultsdata(results, f, configvars=configvars)
elif args.all:
dst = f.replace(args.source, tempdir + "/")
os.makedirs(os.path.dirname(dst), exist_ok=True)
@@ -93,4 +96,6 @@ def register_commands(subparsers):
help='include all files, not just testresults.json files')
parser_build.add_argument('-e', '--allow-empty', action='store_true',
help='don\'t error if no results to store are found')
+ parser_build.add_argument('-x', '--executed-by', default='',
+ help='add executed-by configuration to each result file')
diff --git a/poky/scripts/lib/resulttool/template/test_report_full_text.txt b/poky/scripts/lib/resulttool/template/test_report_full_text.txt
index d2725b8d0..17c99cb4e 100644
--- a/poky/scripts/lib/resulttool/template/test_report_full_text.txt
+++ b/poky/scripts/lib/resulttool/template/test_report_full_text.txt
@@ -9,54 +9,54 @@ Test Result Status Summary (Counts/Percentages sorted by testseries, ID)
{% endfor %}
--------------------------------------------------------------------------------------------------------------
-{% if haveptest %}
+
+{% for machine in machines %}
+{% if ptests[machine] %}
==============================================================================================================
-PTest Result Summary
+{{ machine }} PTest Result Summary
==============================================================================================================
--------------------------------------------------------------------------------------------------------------
{{ 'Recipe'.ljust(maxlen['ptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }}
--------------------------------------------------------------------------------------------------------------
-{% for ptest in ptests |sort %}
-{{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[ptest]['duration']|string) }}
+{% for ptest in ptests[machine] |sort %}
+{{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[machine][ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[machine][ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[machine][ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[machine][ptest]['duration']|string) }}
{% endfor %}
--------------------------------------------------------------------------------------------------------------
-{% else %}
-There was no ptest data
{% endif %}
+{% endfor %}
-{% if haveltp %}
+{% for machine in machines %}
+{% if ltptests[machine] %}
==============================================================================================================
-Ltp Test Result Summary
+{{ machine }} Ltp Test Result Summary
==============================================================================================================
--------------------------------------------------------------------------------------------------------------
{{ 'Recipe'.ljust(maxlen['ltptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }}
--------------------------------------------------------------------------------------------------------------
-{% for ltptest in ltptests |sort %}
-{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[ltptest]['duration']|string) }}
+{% for ltptest in ltptests[machine] |sort %}
+{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[machine][ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[machine][ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[machine][ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[machine][ltptest]['duration']|string) }}
{% endfor %}
--------------------------------------------------------------------------------------------------------------
-{% else %}
-There was no LTP Test data
{% endif %}
+{% endfor %}
-{% if haveltpposix %}
+{% for machine in machines %}
+{% if ltpposixtests[machine] %}
==============================================================================================================
-Ltp Posix Result Summary
+{{ machine }} Ltp Posix Result Summary
==============================================================================================================
--------------------------------------------------------------------------------------------------------------
{{ 'Recipe'.ljust(maxlen['ltpposixtest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }}
--------------------------------------------------------------------------------------------------------------
-{% for ltpposixtest in ltpposixtests |sort %}
-{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[ltpposixtest]['duration']|string) }}
+{% for ltpposixtest in ltpposixtests[machine] |sort %}
+{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[machine][ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[machine][ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[machine][ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[machine][ltpposixtest]['duration']|string) }}
{% endfor %}
--------------------------------------------------------------------------------------------------------------
-{% else %}
-There was no LTP Posix Test data
{% endif %}
-
+{% endfor %}
==============================================================================================================
diff --git a/poky/scripts/lib/wic/engine.py b/poky/scripts/lib/wic/engine.py
index 42e93c3eb..61939ad19 100644
--- a/poky/scripts/lib/wic/engine.py
+++ b/poky/scripts/lib/wic/engine.py
@@ -75,7 +75,8 @@ def find_canned_image(scripts_path, wks_file):
for fname in files:
if fname.endswith("~") or fname.endswith("#"):
continue
- if fname.endswith(".wks") and wks_file + ".wks" == fname:
+ if ((fname.endswith(".wks") and wks_file + ".wks" == fname) or \
+ (fname.endswith(".wks.in") and wks_file + ".wks.in" == fname)):
fullpath = os.path.join(canned_wks_dir, fname)
return fullpath
return None
@@ -92,7 +93,7 @@ def list_canned_images(scripts_path):
for fname in files:
if fname.endswith("~") or fname.endswith("#"):
continue
- if fname.endswith(".wks"):
+ if fname.endswith(".wks") or fname.endswith(".wks.in"):
fullpath = os.path.join(canned_wks_dir, fname)
with open(fullpath) as wks:
for line in wks:
@@ -101,7 +102,7 @@ def list_canned_images(scripts_path):
if idx != -1:
desc = line[idx + len("short-description:"):].strip()
break
- basename = os.path.splitext(fname)[0]
+ basename = fname.split('.')[0]
print(" %s\t\t%s" % (basename.ljust(30), desc))
diff --git a/poky/scripts/lib/wic/filemap.py b/poky/scripts/lib/wic/filemap.py
index 244c07a71..a3919fbca 100644
--- a/poky/scripts/lib/wic/filemap.py
+++ b/poky/scripts/lib/wic/filemap.py
@@ -32,7 +32,10 @@ def get_block_size(file_obj):
"""
# Get the block size of the host file-system for the image file by calling
# the FIGETBSZ ioctl (number 2).
- binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0))
+ try:
+ binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0))
+ except OSError:
+ raise IOError("Unable to determine block size")
bsize = struct.unpack('I', binary_data)[0]
if not bsize:
import os
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index 652323fa7..5cc5c8a6b 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -55,8 +55,10 @@ class BootimgEFIPlugin(SourcePlugin):
if not bootimg_dir:
raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
- cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir)
- exec_cmd(cp_cmd, True)
+ initrds = initrd.split(';')
+ for rd in initrds:
+ cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir)
+ exec_cmd(cp_cmd, True)
else:
logger.debug("Ignoring missing initrd")
@@ -71,13 +73,24 @@ class BootimgEFIPlugin(SourcePlugin):
grubefi_conf += "timeout=%s\n" % bootloader.timeout
grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot")
- kernel = "/bzImage"
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
+
+ label = source_params.get('label')
+ label_conf = "root=%s" % creator.rootdev
+ if label:
+ label_conf = "LABEL=%s" % label
- grubefi_conf += "linux %s root=%s rootwait %s\n" \
- % (kernel, creator.rootdev, bootloader.append)
+ grubefi_conf += "linux /%s %s rootwait %s\n" \
+ % (kernel, label_conf, bootloader.append)
if initrd:
- grubefi_conf += "initrd /%s\n" % initrd
+ initrds = initrd.split(';')
+ grubefi_conf += "initrd"
+ for rd in initrds:
+ grubefi_conf += " /%s" % rd
+ grubefi_conf += "\n"
grubefi_conf += "}\n"
@@ -112,8 +125,10 @@ class BootimgEFIPlugin(SourcePlugin):
if not bootimg_dir:
raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
- cp_cmd = "cp %s/%s %s" % (bootimg_dir, initrd, hdddir)
- exec_cmd(cp_cmd, True)
+ initrds = initrd.split(';')
+ for rd in initrds:
+ cp_cmd = "cp %s/%s %s" % (bootimg_dir, rd, hdddir)
+ exec_cmd(cp_cmd, True)
else:
logger.debug("Ignoring missing initrd")
@@ -138,17 +153,28 @@ class BootimgEFIPlugin(SourcePlugin):
if not custom_cfg:
# Create systemd-boot configuration using parameters from wks file
- kernel = "/bzImage"
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
+
title = source_params.get('title')
boot_conf = ""
boot_conf += "title %s\n" % (title if title else "boot")
- boot_conf += "linux %s\n" % kernel
- boot_conf += "options LABEL=Boot root=%s %s\n" % \
- (creator.rootdev, bootloader.append)
+ boot_conf += "linux /%s\n" % kernel
+
+ label = source_params.get('label')
+ label_conf = "LABEL=Boot root=%s" % creator.rootdev
+ if label:
+ label_conf = "LABEL=%s" % label
+
+ boot_conf += "options %s %s\n" % \
+ (label_conf, bootloader.append)
if initrd:
- boot_conf += "initrd /%s\n" % initrd
+ initrds = initrd.split(';')
+ for rd in initrds:
+ boot_conf += "initrd /%s\n" % rd
logger.debug("Writing systemd-boot config "
"%s/hdd/boot/loader/entries/boot.conf", cr_workdir)
@@ -198,8 +224,12 @@ class BootimgEFIPlugin(SourcePlugin):
hdddir = "%s/hdd/boot" % cr_workdir
- install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \
- (staging_kernel_dir, hdddir)
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
+
+ install_cmd = "install -m 0644 %s/%s %s/%s" % \
+ (staging_kernel_dir, kernel, hdddir, kernel)
exec_cmd(install_cmd)
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
index 6c9f54a89..670d34774 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
@@ -149,8 +149,12 @@ class BootimgPcbiosPlugin(SourcePlugin):
hdddir = "%s/hdd/boot" % cr_workdir
- cmds = ("install -m 0644 %s/bzImage %s/vmlinuz" %
- (staging_kernel_dir, hdddir),
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
+
+ cmds = ("install -m 0644 %s/%s %s/vmlinuz" %
+ (staging_kernel_dir, kernel, hdddir),
"install -m 444 %s/syslinux/ldlinux.sys %s/ldlinux.sys" %
(bootimg_dir, hdddir),
"install -m 0644 %s/syslinux/vesamenu.c32 %s/vesamenu.c32" %
diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index 96d07ff62..74d6f1451 100644
--- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -70,8 +70,10 @@ class IsoImagePlugin(SourcePlugin):
syslinux_conf += "DEFAULT boot\n"
syslinux_conf += "LABEL boot\n"
- kernel = "/bzImage"
- syslinux_conf += "KERNEL " + kernel + "\n"
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
+ syslinux_conf += "KERNEL /" + kernel + "\n"
syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \
% bootloader.append
@@ -114,9 +116,11 @@ class IsoImagePlugin(SourcePlugin):
grubefi_conf += "\n"
grubefi_conf += "menuentry 'boot'{\n"
- kernel = "/bzImage"
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
- grubefi_conf += "linux %s rootwait %s\n" \
+ grubefi_conf += "linux /%s rootwait %s\n" \
% (kernel, bootloader.append)
grubefi_conf += "initrd /initrd \n"
grubefi_conf += "}\n"
@@ -268,9 +272,12 @@ class IsoImagePlugin(SourcePlugin):
if os.path.isfile("%s/initrd.cpio.gz" % cr_workdir):
os.remove("%s/initrd.cpio.gz" % cr_workdir)
- # Install bzImage
- install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \
- (kernel_dir, isodir)
+ kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+ if not kernel:
+ kernel = "bzImage"
+
+ install_cmd = "install -m 0644 %s/%s %s/%s" % \
+ (kernel_dir, kernel, isodir, kernel)
exec_cmd(install_cmd)
#Create bootloader for efi boot
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 39bed038d..4079f2b17 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -185,10 +185,11 @@ class BaseConfig(object):
self.lock_descriptor = None
self.bitbake_e = ''
self.snapshot = False
+ self.wictypes = ('wic', 'wic.vmdk', 'wic.qcow2', 'wic.vdi')
self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs',
'cpio.gz', 'cpio', 'ramfs', 'tar.bz2', 'tar.gz')
- self.vmtypes = ('hddimg', 'hdddirect', 'wic', 'wic.vmdk',
- 'wic.qcow2', 'wic.vdi', 'iso')
+ self.vmtypes = ('hddimg', 'hdddirect', 'iso')
+ self.fsinfo = {}
self.network_device = "-device e1000,netdev=net0,mac=@MAC@"
# Use different mac section for tap and slirp to avoid
# conflicts, e.g., when one is running with tap, the other is
@@ -253,7 +254,7 @@ class BaseConfig(object):
def check_arg_fstype(self, fst):
"""Check and set FSTYPE"""
- if fst not in self.fstypes + self.vmtypes:
+ if fst not in self.fstypes + self.vmtypes + self.wictypes:
logger.warning("Maybe unsupported FSTYPE: %s" % fst)
if not self.fstype or self.fstype == fst:
if fst == 'ramfs':
@@ -390,7 +391,7 @@ class BaseConfig(object):
unknown_arg = ""
for arg in sys.argv[1:]:
- if arg in self.fstypes + self.vmtypes:
+ if arg in self.fstypes + self.vmtypes + self.wictypes:
self.check_arg_fstype(arg)
elif arg == 'nographic':
self.qemu_opt_script += ' -nographic'
@@ -438,7 +439,7 @@ class BaseConfig(object):
elif arg == 'publicvnc':
self.qemu_opt_script += ' -vnc :0'
elif arg.startswith('tcpserial='):
- self.tcpserial_portnum = arg[len('tcpserial='):]
+ self.tcpserial_portnum = '%s' % arg[len('tcpserial='):]
elif arg.startswith('biosdir='):
self.custombiosdir = arg[len('biosdir='):]
elif arg.startswith('biosfilename='):
@@ -491,12 +492,13 @@ class BaseConfig(object):
yocto_paravirt_kvm_wiki = "https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM"
dev_kvm = '/dev/kvm'
dev_vhost = '/dev/vhost-net'
- with open('/proc/cpuinfo', 'r') as f:
- kvm_cap = re.search('vmx|svm', "".join(f.readlines()))
- if not kvm_cap:
- logger.error("You are trying to enable KVM on a cpu without VT support.")
- logger.error("Remove kvm from the command-line, or refer:")
- raise RunQemuError(yocto_kvm_wiki)
+ if self.qemu_system.endswith(('i386', 'x86_64')):
+ with open('/proc/cpuinfo', 'r') as f:
+ kvm_cap = re.search('vmx|svm', "".join(f.readlines()))
+ if not kvm_cap:
+ logger.error("You are trying to enable KVM on a cpu without VT support.")
+ logger.error("Remove kvm from the command-line, or refer:")
+ raise RunQemuError(yocto_kvm_wiki)
if not os.path.exists(dev_kvm):
logger.error("Missing KVM device. Have you inserted kvm modules?")
@@ -535,6 +537,40 @@ class BaseConfig(object):
else:
raise RunQemuError("FSTYPE is NULL!")
+ # parse QB_FSINFO into dict, e.g. { 'wic': ['no-kernel-in-fs', 'a-flag'], 'ext4': ['another-flag']}
+ wic_fs = False
+ qb_fsinfo = self.get('QB_FSINFO')
+ if qb_fsinfo:
+ qb_fsinfo = qb_fsinfo.split()
+ for fsinfo in qb_fsinfo:
+ try:
+ fstype, fsflag = fsinfo.split(':')
+
+ if fstype == 'wic':
+ if fsflag == 'no-kernel-in-fs':
+ wic_fs = True
+ elif fsflag == 'kernel-in-fs':
+ wic_fs = False
+ else:
+ logger.warn('Unknown flag "%s:%s" in QB_FSINFO', fstype, fsflag)
+ continue
+ else:
+ logger.warn('QB_FSINFO is not supported for image type "%s"', fstype)
+ continue
+
+ if fstype in self.fsinfo:
+ self.fsinfo[fstype].append(fsflag)
+ else:
+ self.fsinfo[fstype] = [fsflag]
+ except Exception:
+ logger.error('Invalid parameter "%s" in QB_FSINFO', fsinfo)
+
+ # treat wic images as vmimages (with kernel) or as fsimages (rootfs only)
+ if wic_fs:
+ self.fstypes = self.fstypes + self.wictypes
+ else:
+ self.vmtypes = self.vmtypes + self.wictypes
+
def check_rootfs(self):
"""Check and set rootfs"""
@@ -681,10 +717,16 @@ class BaseConfig(object):
def check_tcpserial(self):
if self.tcpserial_portnum:
+ ports = self.tcpserial_portnum.split(':')
+ port = ports[0]
if self.get('QB_TCPSERIAL_OPT'):
- self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', self.tcpserial_portnum)
+ self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', port)
else:
- self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % self.tcpserial_portnum
+ self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port
+
+ if len(ports) > 1:
+ for port in ports[1:]:
+ self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port
def check_and_set(self):
"""Check configs sanity and set when needed"""
@@ -703,6 +745,7 @@ class BaseConfig(object):
else:
os.putenv('QEMU_AUDIO_DRV', 'none')
+ self.check_qemu_system()
self.check_kvm()
self.check_fstype()
self.check_rootfs()
@@ -824,7 +867,11 @@ class BaseConfig(object):
if self.dtb:
print('DTB: [%s]' % self.dtb)
print('MACHINE: [%s]' % self.get('MACHINE'))
- print('FSTYPE: [%s]' % self.fstype)
+ try:
+ fstype_flags = ' (' + ', '.join(self.fsinfo[self.fstype]) + ')'
+ except KeyError:
+ fstype_flags = ''
+ print('FSTYPE: [%s%s]' % (self.fstype, fstype_flags))
if self.fstype == 'nfs':
print('NFS_DIR: [%s]' % self.rootfs)
else:
@@ -1128,21 +1175,23 @@ class BaseConfig(object):
return 'qemu-system-%s' % qbsys
- def setup_final(self):
+ def check_qemu_system(self):
qemu_system = self.get('QB_SYSTEM_NAME')
if not qemu_system:
qemu_system = self.guess_qb_system()
if not qemu_system:
raise RunQemuError("Failed to boot, QB_SYSTEM_NAME is NULL!")
+ self.qemu_system = qemu_system
- qemu_bin = os.path.join(self.bindir_native, qemu_system)
+ def setup_final(self):
+ qemu_bin = os.path.join(self.bindir_native, self.qemu_system)
# It is possible to have qemu-native in ASSUME_PROVIDED, and it won't
# find QEMU in sysroot, it needs to use host's qemu.
if not os.path.exists(qemu_bin):
logger.info("QEMU binary not found in %s, trying host's QEMU" % qemu_bin)
for path in (os.environ['PATH'] or '').split(':'):
- qemu_bin_tmp = os.path.join(path, qemu_system)
+ qemu_bin_tmp = os.path.join(path, self.qemu_system)
logger.info("Trying: %s" % qemu_bin_tmp)
if os.path.exists(qemu_bin_tmp):
qemu_bin = qemu_bin_tmp